mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10733 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
307 lines
15 KiB
XML
307 lines
15 KiB
XML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cmis.org/ns/1.0" targetNamespace="http://www.cmis.org/ns/1.0" elementFormDefault="qualified">
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--CMIS Property Types (data types)-->
|
|
<!--(The following XML Schema Datatypes are used directly as property types:-->
|
|
<!--xs:string, xs:decimal, xs:integer, xs:boolean, xs:dateTime, xs:anyURI)-->
|
|
<xs:simpleType name="ID">
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
<xs:complexType name="XML">
|
|
<xs:sequence>
|
|
<xs:any minOccurs="1" maxOccurs="unbounded" processContents="skip" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="HTML">
|
|
<xs:sequence>
|
|
<xs:any minOccurs="1" maxOccurs="unbounded" processContents="skip" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--Property (one element type per property type)-->
|
|
<xs:complexType name="propertyStringType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyDecimalType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:decimal">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyIntegerType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:integer">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyBooleanType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:boolean">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyDateTimeType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:dateTime">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyURIType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:anyURI">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyIDType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="ID">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyXMLType">
|
|
<xs:complexContent>
|
|
<xs:extension base="XML">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="propertyHTMLType">
|
|
<xs:complexContent>
|
|
<xs:extension base="HTML">
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<!--This attribute contains the name of the property.-->
|
|
</xs:attribute>
|
|
<xs:attribute name="index" type="xs:nonNegativeInteger" use="optional">
|
|
<!--This attribute conatains an ordinal number for each value of a multi-valued property.-->
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!--Properties-->
|
|
<xs:complexType name="propertiesType">
|
|
<xs:sequence>
|
|
<xs:element name="propertyBoolean" type="propertyBooleanType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyDateTime" type="propertyDateTimeType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyDecimal" type="propertyDecimalType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyHTML" type="propertyHTMLType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyID" type="propertyIDType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyInteger" type="propertyIntegerType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyString" type="propertyStringType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyURI" type="propertyURIType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="propertyXML" type="propertyXMLType" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--Content Stream-->
|
|
<xs:complexType name="contentStreamType">
|
|
<xs:sequence>
|
|
<xs:element name="length" type="xs:integer" />
|
|
<xs:element name="mimeType" type="xs:string" minOccurs="0" />
|
|
<xs:element name="filename" type="xs:string" minOccurs="0" />
|
|
<xs:element name="uri" type="xs:anyURI" minOccurs="0" />
|
|
<xs:element name="stream" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--Allowable actions on an object-->
|
|
<xs:simpleType name="allowableActionEnum">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="canGetProperties" />
|
|
<xs:enumeration value="canUpdateProperties" />
|
|
<xs:enumeration value="canDeleteObject" />
|
|
<xs:enumeration value="canGetObjectParents" />
|
|
<xs:enumeration value="canGetFolderParent" />
|
|
<xs:enumeration value="canMoveObject" />
|
|
<xs:enumeration value="canAddObjectToFolder" />
|
|
<xs:enumeration value="canRemoveObjectFromFolder" />
|
|
<xs:enumeration value="canGetRelationships" />
|
|
<xs:enumeration value="canApplyPolicy" />
|
|
<xs:enumeration value="canRemovePolicy" />
|
|
<xs:enumeration value="canGetAppliedPolicies" />
|
|
<xs:enumeration value="canGetContentStream" />
|
|
<xs:enumeration value="canSetContentStream" />
|
|
<xs:enumeration value="canDeleteContentStream" />
|
|
<xs:enumeration value="canCheckOut" />
|
|
<xs:enumeration value="canCancelCheckout" />
|
|
<xs:enumeration value="canCheckIn" />
|
|
<xs:enumeration value="canGetChildren" />
|
|
<xs:enumeration value="canGetDescendants" />
|
|
<xs:enumeration value="canCreateDocument" />
|
|
<xs:enumeration value="canCreateFolder" />
|
|
<xs:enumeration value="canCreateRelationship" />
|
|
<xs:enumeration value="canCreatePolicy" />
|
|
<xs:enumeration value="canDeleteTree" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="allowableActionsType">
|
|
<xs:sequence>
|
|
<xs:element name="action" type="allowableActionEnum" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--Object-->
|
|
<xs:complexType name="objectType">
|
|
<xs:sequence>
|
|
<xs:element name="properties" type="propertiesType" minOccurs="0" />
|
|
<xs:element name="allowableActions" type="allowableActionsType" minOccurs="0" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="objectCollectionType">
|
|
<xs:sequence>
|
|
<xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!--Folder Tree-->
|
|
<xs:complexType name="folderTreeType">
|
|
<xs:complexContent>
|
|
<xs:extension base="objectType">
|
|
<xs:sequence>
|
|
<xs:element name="children" type="childrenType" minOccurs="0" />
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="childrenType">
|
|
<xs:sequence>
|
|
<xs:element name="child" type="folderTreeType" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
<!-- Property Definition -->
|
|
<xs:complexType name="choiceType" mixed="true">
|
|
<xs:sequence>
|
|
<xs:element name="choice" type="choiceType" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
<xs:attribute name="index" type="xs:positiveInteger" use="optional" />
|
|
<xs:attribute name="key" type="xs:string" use="optional" />
|
|
<!-- the type is actually dependent on the propertyType - XSD doesn't support this type of expression -->
|
|
</xs:complexType>
|
|
<xs:simpleType name="propertyTypeEnum">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="String" />
|
|
<xs:enumeration value="Decimal" />
|
|
<xs:enumeration value="Integer" />
|
|
<xs:enumeration value="Boolean" />
|
|
<xs:enumeration value="DateTime" />
|
|
<xs:enumeration value="URI" />
|
|
<xs:enumeration value="ID" />
|
|
<xs:enumeration value="XML" />
|
|
<xs:enumeration value="HTML" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="cardinalityEnum">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="singleValued" />
|
|
<xs:enumeration value="multiValued" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="updatabilityEnum">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="readOnly" />
|
|
<xs:enumeration value="readWrite" />
|
|
<xs:enumeration value="readWriteWhenCheckedOut" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="propertyAttributesType">
|
|
<xs:sequence>
|
|
<xs:element name="propertyName" type="xs:string" />
|
|
<xs:element name="propertyId" type="ID" />
|
|
<xs:element name="displayName" type="xs:string" minOccurs="0" />
|
|
<xs:element name="description" type="xs:string" minOccurs="0" />
|
|
<xs:element name="isInherited" type="xs:boolean" />
|
|
<xs:element name="propertyType" type="propertyTypeEnum" />
|
|
<xs:element name="cardinality" type="cardinalityEnum" />
|
|
<xs:element name="maximumLength" type="xs:integer" minOccurs="0" />
|
|
<xs:element name="schemaURI" type="xs:anyURI" minOccurs="0" />
|
|
<xs:element name="encoding" type="xs:string" minOccurs="0" />
|
|
<xs:element name="choice" type="choiceType" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="openChoice" type="xs:boolean" minOccurs="0" />
|
|
<xs:element name="required" type="xs:boolean" />
|
|
<xs:element name="defaultValue" type="xs:string" minOccurs="0">
|
|
<!-- the type is actually dependent on the propertyType - XSD doesn't support this type of expression -->
|
|
</xs:element>
|
|
<xs:element name="updatability" type="updatabilityEnum" />
|
|
<xs:element name="queryable" type="xs:boolean" />
|
|
<xs:element name="orderable" type="xs:boolean" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- Object Type Definition-->
|
|
<xs:simpleType name="contentStreamAllowedEnum">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="notAllowed" />
|
|
<xs:enumeration value="allowed" />
|
|
<xs:enumeration value="required" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="objectTypeDefinitionType">
|
|
<xs:sequence>
|
|
<xs:element name="objectTypeID" type="ID" />
|
|
<xs:element name="objectTypeQueryName" type="xs:string" />
|
|
<xs:element name="objectTypeDisplayName" type="xs:string" minOccurs="0" />
|
|
<xs:element name="parentTypeID" type="ID" minOccurs="0" />
|
|
<xs:element name="rootTypeQueryName" type="xs:string" />
|
|
<xs:element name="description" type="xs:string" minOccurs="0" />
|
|
<xs:element name="creatable" type="xs:boolean" />
|
|
<xs:element name="fileable" type="xs:boolean" />
|
|
<xs:element name="queryable" type="xs:boolean" />
|
|
<xs:element name="controllable" type="xs:boolean" />
|
|
<xs:element name="versionable" type="xs:boolean" />
|
|
<xs:element name="contentStreamAllowed" type="contentStreamAllowedEnum" />
|
|
<xs:element name="allowedSourceType" type="ID" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="allowedTargetType" type="ID" minOccurs="0" maxOccurs="unbounded" />
|
|
<xs:element name="property" type="propertyAttributesType" minOccurs="0" maxOccurs="unbounded" />
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
</xs:schema> |