| <?xml version="1.0" encoding="UTF-8"?> |
| <xsd:schema |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| elementFormDefault="qualified" |
| attributeFormDefault="unqualified" |
| version="1.4"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Copyright (c) 2010-2014 SAP AG and others. |
| All rights reserved. This program and the accompanying materials |
| are made available under the terms of the Eclipse Public License v1.0 |
| which accompanies this distribution, and is available at |
| http://www.eclipse.org/legal/epl-v10.html |
| |
| Contributors: |
| SAP AG - initial API and implementation |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| This XML schema defines common types used by various parts of the Skalli REST API. |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:complexType name="empty" /> |
| |
| <xsd:simpleType name="ModelVersion"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="[0-9]+\.[0-9]+(\.[0-9]+)?(\..+)?" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="UUID"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="EmailAddress"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:complexType name="Timestamp"> |
| <xsd:simpleContent> |
| <xsd:extension base="xsd:dateTime"> |
| <xsd:attribute name="millis" type="xsd:long" use="required" /> |
| </xsd:extension> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| |
| <xsd:simpleType name="ProjectId"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the unique symbolic name of a project, e.g. "eclipse.skalli". |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="[a-z][a-z0-9_\-.]*" /> |
| <xsd:minLength value="3" /> |
| <xsd:maxLength value="64" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="ProjectName"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the display name of a project, e.g. "Skalli". |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:restriction base="xsd:string"> |
| <xsd:minLength value="3" /> |
| <xsd:maxLength value="255" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="ShortName"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the short name of a project, e.g. "Skalli". |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:restriction base="xsd:string"> |
| <xsd:minLength value="2" /> |
| <xsd:maxLength value="10" /> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:complexType name="Link"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines a link to another API resource, e.g. to a project |
| detail resource (rel="project") or a user resource (rel="user"). |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:attribute name="rel" type="RelValues" use="required" /> |
| <xsd:attribute name="href" type="xsd:anyURI" use="required" /> |
| </xsd:complexType> |
| |
| <xsd:simpleType name="RelValues"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="project"/> |
| <xsd:enumeration value="browse"/> |
| <xsd:enumeration value="issues"/> |
| <xsd:enumeration value="parent"/> |
| <xsd:enumeration value="subproject"/> |
| <xsd:enumeration value="user"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Severity"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the severity of a validation issue. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="INFO"/> |
| <xsd:enumeration value="WARNING"/> |
| <xsd:enumeration value="ERROR"/> |
| <xsd:enumeration value="FATAL"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:complexType name="Member"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the unique identifier and permanent link to the user resource |
| of a project member. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="userId" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| The unique identifier of the project member. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="link" type="Link"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Permanent link to the user resource of the project member. |
| The value of the "rel" attribute is always "user". |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:complexType name="MemberWithRole"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines the unique identifier, permanent link to the user resource |
| and roles of a project member. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="userId" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| The user identifier of the project member. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="link" type="Link" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Permanent link to the user resource of the project member. |
| The value of the "rel" attribute is always "user". |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="name" type="xsd:string" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Full name of the user. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="email" type="EmailAddress" minOccurs="0"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Email address of the user. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="role" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| The roles of the project member. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:complexType name="Extension"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| Defines common attributes for a model extension. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:attribute name="inherited" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| If true, indicates that the extension is inherited from the parent |
| project in the project hierarchy. Attributes of inherited extensions |
| cannot be changed with REST commands. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="derived" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| If true, indicates that the extension is not editable but |
| contains information that is calculated or derived from |
| external resources stored elsewhere. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="lastModified" type="xsd:dateTime" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| The timestamp of the last modification of an extension in ISO 8601 date/time format. |
| For derived extension this timestamp could for example indicate the latest |
| update/download of the extension data from an external resource. |
| Examples: 2001-10-26T19:32:52Z, 2001-10-26T19:32:52+00:00 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="modifiedBy" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="EN"> |
| The unique identifier of the last modifier. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="apiVersion" type="ModelVersion" use="required" /> |
| </xsd:complexType> |
| </xsd:schema> |