Files
alfresco-community-repo/source/wsdl/CMIS.xsd
2008-09-07 13:04:45 +00:00

1077 lines
40 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<!--
Common CMIS XSD for version 0.5
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" targetNamespace="http://www.cmis.org/2008/05"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1"
xmlns:cmis="http://www.cmis.org/2008/05" version="0.50">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="xml.xsd" />
<!-- enums -->
<xs:simpleType name="enumDecimalPrecision">
<xs:restriction base="xs:integer">
<xs:enumeration value="32" />
<xs:enumeration value="64" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumContentStreamAllowed">
<xs:restriction base="xs:string">
<xs:enumeration value="notallowed" />
<xs:enumeration value="allowed" />
<xs:enumeration value="required" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumCardinality">
<xs:restriction base="xs:string">
<xs:enumeration value="single" />
<xs:enumeration value="multi" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumUpdateability">
<xs:restriction base="xs:string">
<xs:enumeration value="readonly" />
<xs:enumeration value="readwrite" />
<xs:enumeration value="whencheckedout" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumPropertyType">
<xs:restriction base="xs:string">
<xs:enumeration value="boolean" />
<xs:enumeration value="id" />
<xs:enumeration value="integer" />
<xs:enumeration value="datetime" />
<xs:enumeration value="decimal" />
<xs:enumeration value="html" />
<xs:enumeration value="string" />
<xs:enumeration value="uri" />
<xs:enumeration value="xml" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumCollectionType">
<xs:restriction base="xs:string">
<xs:enumeration value="root-children" />
<xs:enumeration value="root-descendants" />
<xs:enumeration value="unfiled" />
<xs:enumeration value="checkedout" />
<xs:enumeration value="types-children" />
<xs:enumeration value="types-descendants" />
<xs:enumeration value="query" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumObjectType">
<xs:restriction base="xs:string">
<xs:enumeration value="document" />
<xs:enumeration value="folder" />
<xs:enumeration value="relationship" />
<xs:enumeration value="policy" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumCapabilityQuery">
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="metadataonly" />
<xs:enumeration value="fulltextonly" />
<xs:enumeration value="both" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumCapabilityJoin">
<xs:restriction base="xs:string">
<xs:enumeration value="nojoin" />
<xs:enumeration value="inneronly" />
<xs:enumeration value="innerandouter" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumCapabilityFullText">
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="fulltextonly" />
<xs:enumeration value="fulltextandstructured" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumRepositoryRelationship">
<xs:restriction base="xs:string">
<xs:enumeration value="self" />
<xs:enumeration value="replica" />
<xs:enumeration value="peer" />
<xs:enumeration value="parent" />
<xs:enumeration value="child" />
<xs:enumeration value="archive" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumTypesOfFileableObjects">
<xs:restriction base="xs:string">
<xs:enumeration value="documents" />
<xs:enumeration value="folders" />
<xs:enumeration value="policies" />
<xs:enumeration value="any" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumVersioningState">
<xs:restriction base="xs:string">
<xs:enumeration value="checkedout" />
<xs:enumeration value="minor" />
<xs:enumeration value="major" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumReturnVersion">
<xs:restriction base="xs:string">
<xs:enumeration value="this" />
<xs:enumeration value="latest" />
<xs:enumeration value="latestmajor" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumUnfileNonfolderObjects">
<xs:restriction base="xs:string">
<xs:enumeration value="unfile" />
<xs:enumeration value="deletesinglefiled" />
<xs:enumeration value="delete" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumRelationshipDirection">
<xs:restriction base="xs:string">
<xs:enumeration value="source" />
<xs:enumeration value="target" />
<xs:enumeration value="both" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumIncludeRelationships">
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="source" />
<xs:enumeration value="target" />
<xs:enumeration value="both" />
</xs:restriction>
</xs:simpleType>
<!-- properties in CMIS -->
<xs:simpleType name="enumPropertiesBase">
<xs:restriction base="xs:string">
<xs:enumeration value="ObjectId" />
<xs:enumeration value="Uri" />
<xs:enumeration value="ObjectTypeId" />
<xs:enumeration value="CreatedBy" />
<xs:enumeration value="CreationDate" />
<xs:enumeration value="LastModifiedBy" />
<xs:enumeration value="LastModificationDate" />
<xs:enumeration value="ChangeToken" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumPropertiesDocument">
<xs:restriction base="xs:string">
<xs:enumeration value="ObjectId" />
<xs:enumeration value="Uri" />
<xs:enumeration value="ObjectTypeId" />
<xs:enumeration value="CreatedBy" />
<xs:enumeration value="CreationDate" />
<xs:enumeration value="LastModifiedBy" />
<xs:enumeration value="LastModificationDate" />
<xs:enumeration value="ChangeToken" />
<xs:enumeration value="IsImmutable" />
<xs:enumeration value="isLatestVersion" />
<xs:enumeration value="IsMajorVersion" />
<xs:enumeration value="IsLatestMajorVersion" />
<xs:enumeration value="VersionLabel" />
<xs:enumeration value="VersionSeriesId" />
<xs:enumeration value="IsVersionSeriesCheckedOut" />
<xs:enumeration value="VersionSeriesCheckedOutBy" />
<xs:enumeration value="VersionSeriesCheckedOutId" />
<xs:enumeration value="CheckinComment" />
<xs:enumeration value="ContentStreamAllowed" />
<xs:enumeration value="ContentStreamLength" />
<xs:enumeration value="ContentStreamMimeType" />
<xs:enumeration value="ContentStreamFilename" />
<xs:enumeration value="ContentStreamUri" />
<xs:enumeration value="" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumPropertiesFolder">
<xs:restriction base="xs:string">
<xs:enumeration value="ObjectId" />
<xs:enumeration value="Uri" />
<xs:enumeration value="ObjectTypeId" />
<xs:enumeration value="CreatedBy" />
<xs:enumeration value="CreationDate" />
<xs:enumeration value="LastModifiedBy" />
<xs:enumeration value="LastModificationDate" />
<xs:enumeration value="ChangeToken" />
<xs:enumeration value="ParentId" />
<xs:enumeration value="AllowedChildObjectTypeIds" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumPropertiesRelationship">
<xs:restriction base="xs:string">
<xs:enumeration value="ObjectId" />
<xs:enumeration value="Uri" />
<xs:enumeration value="ObjectTypeId" />
<xs:enumeration value="CreatedBy" />
<xs:enumeration value="CreationDate" />
<xs:enumeration value="LastModifiedBy" />
<xs:enumeration value="LastModificationDate" />
<xs:enumeration value="ChangeToken" />
<xs:enumeration value="SourceId" />
<xs:enumeration value="TargetId" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumPropertiesPolicy">
<xs:restriction base="xs:string">
<xs:enumeration value="ObjectId" />
<xs:enumeration value="Uri" />
<xs:enumeration value="ObjectTypeId" />
<xs:enumeration value="CreatedBy" />
<xs:enumeration value="CreationDate" />
<xs:enumeration value="LastModifiedBy" />
<xs:enumeration value="LastModificationDate" />
<xs:enumeration value="ChangeToken" />
<xs:enumeration value="PolicyName" />
<xs:enumeration value="PolicyText" />
</xs:restriction>
</xs:simpleType>
<!-- CMIS Rest Arguments -->
<xs:simpleType name="enumRestArguments">
<xs:restriction base="xs:string">
<xs:enumeration value="childTypes" />
<xs:enumeration value="continueOnFailure" />
<xs:enumeration value="depth" />
<xs:enumeration value="direction" />
<xs:enumeration value="filter" />
<xs:enumeration value="folderByPath" />
<xs:enumeration value="includeAllowableActions" />
<xs:enumeration value="includePropertyDefinitions" />
<xs:enumeration value="includeRelationships" />
<xs:enumeration value="includeSubrelationshipTypes" />
<xs:enumeration value="length" />
<xs:enumeration value="majorVersion" />
<xs:enumeration value="maxItems" />
<xs:enumeration value="offset" />
<xs:enumeration value="removeFrom" />
<xs:enumeration value="relationshipType" />
<xs:enumeration value="repositoryId" />
<xs:enumeration value="returnToRoot" />
<xs:enumeration value="returnVersion" />
<xs:enumeration value="skipCount" />
<xs:enumeration value="thisVersion" />
<xs:enumeration value="typeId" />
<xs:enumeration value="types" />
<xs:enumeration value="unfileMultiFiledDocuments" />
<xs:enumeration value="versioningState" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="enumRestOutputHeaders">
<xs:restriction base="xs:string">
<xs:enumeration value="contentCopied" />
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="cmisUndefinedAttribute">
<xs:anyAttribute namespace="##other" processContents="lax" />
</xs:attributeGroup>
<!--getRepositories Operation-->
<xs:complexType name="cmisRepositoryEntryType">
<xs:sequence>
<xs:element name="repositoryID" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositoryName" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositoryURI" type="xs:anyURI"
minOccurs="1" maxOccurs="1" />
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- Atom & APP -->
<xs:attribute name="id" type="xs:string" />
<xs:attribute name="href" type="xs:anyURI" />
<xs:attribute name="repositoryRelationship" type="cmis:enumRepositoryRelationship" />
<xs:attribute name="collectionType" type="cmis:enumCollectionType" />
<xs:element name="hasMoreItems" type="xs:boolean" />
<xs:element name="repositoryInfo" type="cmis:cmisRepositoryInfoType" />
<!-- main cmis object -->
<xs:complexType name="cmisObjectType">
<xs:sequence>
<xs:element name="properties" type="cmis:cmisPropertiesType"
minOccurs="0" maxOccurs="1" />
<xs:element ref="cmis:allowableActions" minOccurs="0"
maxOccurs="1" />
<xs:element name="relationship" type="cmis:cmisObjectType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="child" type="cmis:cmisObjectType"
minOccurs="0" maxOccurs="unbounded" />
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<xs:complexType name="objectTreeCollectionType">
<xs:sequence>
<xs:element name="object" type="cmis:cmisObjectType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- anyother tag -->
<xs:complexType name="cmisAnyXml">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- Entry tag for tree Type -->
<xs:element name="object" type="cmis:cmisObjectType" />
<!-- separator object -->
<xs:element name="terminator" type="xs:string" nillable="true" />
<!-- type and type sub group -->
<xs:element name="type" type="cmis:cmisTypeDefinitionType">
<!--
<xs:annotation> <xs:appinfo> <jaxb:property
generateElementProperty="false" /> </xs:appinfo> </xs:annotation>
-->
</xs:element>
<xs:element name="documentType" type="cmis:cmisTypeDocumentDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="folderType" type="cmis:cmisTypeFolderDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="relationshipType" type="cmis:cmisTypeRelationshipDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="policyType" type="cmis:cmisTypePolicyDefinitionType"
substitutionGroup="cmis:type" />
<!-- property bag -->
<xs:attribute name="key" type="xs:string" />
<xs:attribute name="index" type="xs:integer" />
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="propertyType" type="cmis:enumPropertyType" />
<xs:complexType name="cmisPropertiesType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:appinfo>
<jaxb:property name="property" />
</xs:appinfo>
</xs:annotation>
<xs:element ref="cmis:propertyBoolean" />
<xs:element ref="cmis:propertyId" />
<xs:element ref="cmis:propertyInteger" />
<xs:element ref="cmis:propertyDateTime" />
<xs:element ref="cmis:propertyDecimal" />
<xs:element ref="cmis:propertyHtml" />
<xs:element ref="cmis:propertyString" />
<xs:element ref="cmis:propertyUri" />
<xs:element ref="cmis:propertyXml" />
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- sub group -->
<xs:element name="property" type="cmis:cmisProperty"
nillable="true" />
<xs:element name="propertyBoolean" type="cmis:cmisPropertyBoolean"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyId" type="cmis:cmisPropertyId"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyInteger" type="cmis:cmisPropertyInteger"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyDateTime" type="cmis:cmisPropertyDateTime"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyDecimal" type="cmis:cmisPropertyDecimal"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyHtml" type="cmis:cmisPropertyHtml"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyString" type="cmis:cmisPropertyString"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyUri" type="cmis:cmisPropertyUri"
substitutionGroup="cmis:property" nillable="true" />
<xs:element name="propertyXml" type="cmis:cmisPropertyXml"
substitutionGroup="cmis:property" nillable="true" />
<!-- start the prop definitions -->
<xs:complexType name="cmisProperty">
<xs:attribute ref="cmis:name" use="required" />
<xs:attribute ref="cmis:index" use="optional" />
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<xs:complexType name="cmisPropertyBoolean">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:boolean" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="boolean" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyId">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="id" />
<xs:attribute ref="cmis:href" use="optional" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyInteger">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:integer" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="integer" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyDateTime">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:dateTime" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="datetime" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyDecimal">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:decimal" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="decimal" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyHtml">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="html" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyString">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="string" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyUri">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:anyURI" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="uri" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyXml">
<xs:complexContent>
<xs:extension base="cmis:cmisProperty">
<xs:sequence>
<xs:any minOccurs="1" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
<xs:attribute ref="cmis:propertyType" use="optional"
default="xml" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!--Content Stream-->
<xs:complexType name="cmisContentStreamType">
<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:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- allowable actions -->
<xs:complexType name="cmisAllowableActionsType">
<xs:sequence>
<xs:element name="parentId" type="xs:string" minOccurs="0"
maxOccurs="1" />
<xs:element name="parentUrl" type="xs:string" minOccurs="0"
maxOccurs="1" />
<xs:element name="canDelete" type="xs:boolean" minOccurs="0"
maxOccurs="1" />
<xs:element name="canUpdateProperties" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetProperties" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetRelationships" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetParents" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetFolderParent" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetDescendants" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canMove" type="xs:boolean" minOccurs="0"
maxOccurs="1" />
<xs:element name="canDeleteVersion" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canDeleteContent" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCheckout" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCancelCheckout" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCheckin" type="xs:boolean" minOccurs="0"
maxOccurs="1" />
<xs:element name="canSetContent" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetAllVersions" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canAddToFolder" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canRemoveFromFolder" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canViewContent" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canAddPolicy" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetAppliedPolicies" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canRemovePolicy" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canGetChildren" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCreateDocument" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCreateFolder" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCreateRelationship" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canCreatePolicy" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="canDeleteTree" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- main allowable actions element -->
<xs:element name="allowableActions" type="cmis:cmisAllowableActionsType" />
<!-- subgroup -->
<xs:element name="choice" type="cmis:cmisChoiceType" />
<xs:element name="choiceBoolean" type="cmis:cmisChoiceBooleanType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceId" type="cmis:cmisChoiceIdType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceInteger" type="cmis:cmisChoiceIntegerType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceDateTime" type="cmis:cmisChoiceDateTimeType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceDecimal" type="cmis:cmisChoiceDecimalType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceHtml" type="cmis:cmisChoiceHtmlType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceString" type="cmis:cmisChoiceStringType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceUri" type="cmis:cmisChoiceUriType"
substitutionGroup="cmis:choice" />
<xs:element name="choiceXml" type="cmis:cmisChoiceXmlType"
substitutionGroup="cmis:choice" />
<!-- type for choices -->
<xs:complexType name="cmisChoiceType" abstract="true">
<xs:sequence>
<xs:element ref="cmis:choice" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute ref="cmis:index" use="optional" />
<xs:attribute ref="cmis:key" use="optional" />
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- do the property type specific choice entry -->
<xs:complexType name="cmisChoiceBooleanType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:boolean" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceIdType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceIntegerType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:integer" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceDateTimeType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:dateTime" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceDecimalType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:decimal" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceHtmlType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceStringType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceUriType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:element minOccurs="0" name="value" type="xs:anyURI" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisChoiceXmlType">
<xs:complexContent>
<xs:extension base="cmis:cmisChoiceType">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
namespace="##other" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Property Attributes -->
<xs:element name="propertyDefinition" type="cmis:cmisPropertyDefinitionType" />
<xs:element name="propertyBooleanDefinition" type="cmis:cmisPropertyBooleanDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyDateTimeDefinition" type="cmis:cmisPropertyDateTimeDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyDecimalDefinition" type="cmis:cmisPropertyDecimalDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyIdDefinition" type="cmis:cmisPropertyIdDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyIntegerDefinition" type="cmis:cmisPropertyIntegerDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyHtmlDefinition" type="cmis:cmisPropertyHtmlDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyStringDefinition" type="cmis:cmisPropertyStringDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyXmlDefinition" type="cmis:cmisPropertyXmlDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:element name="propertyUriDefinition" type="cmis:cmisPropertyUriDefinitionType"
substitutionGroup="cmis:propertyDefinition" />
<xs:complexType name="cmisPropertyDefinitionType">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="id" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="displayName" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="description" type="xs:string" minOccurs="0"
maxOccurs="1" />
<xs:element name="propertyType" type="cmis:enumPropertyType"
minOccurs="1" maxOccurs="1" />
<xs:element name="cardinality" type="cmis:enumCardinality"
minOccurs="1" maxOccurs="1" />
<xs:element name="updateability" type="cmis:enumUpdateability"
minOccurs="1" maxOccurs="1" />
<!-- flags -->
<xs:element name="inherited" type="xs:boolean" minOccurs="0"
maxOccurs="1" />
<xs:element name="required" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<xs:element name="queryable" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<xs:element name="orderable" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<!-- choices -->
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:appinfo>
<jaxb:property name="choice" />
</xs:appinfo>
</xs:annotation>
<xs:element ref="cmis:choiceBoolean" />
<xs:element ref="cmis:choiceDateTime" />
<xs:element ref="cmis:choiceDecimal" />
<xs:element ref="cmis:choiceHtml" />
<xs:element ref="cmis:choiceId" />
<xs:element ref="cmis:choiceInteger" />
<xs:element ref="cmis:choiceString" />
<xs:element ref="cmis:choiceUri" />
<xs:element ref="cmis:choiceXml" />
</xs:choice>
<xs:element name="openChoice" type="xs:boolean" minOccurs="0"
maxOccurs="1" />
<!-- extension -->
<xs:any processContents="lax" namespace="##other" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- type specific definitions -->
<xs:complexType name="cmisPropertyBooleanDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceBooleanType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyIdDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceIdType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyIntegerDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceIntegerType" />
<xs:element name="maxValue" type="xs:integer" minOccurs="0"
maxOccurs="1" />
<xs:element name="minValue" type="xs:integer" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyDateTimeDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceDateTimeType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyDecimalDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceDecimalType" />
<xs:element name="precision" type="cmis:enumDecimalPrecision"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyHtmlDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceHtmlType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyStringDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceStringType" />
<xs:element name="maxLength" type="xs:integer"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyUriDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceUriType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisPropertyXmlDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisPropertyDefinitionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
type="cmis:cmisChoiceXmlType" />
<xs:element name="schemaURI" type="xs:anyURI" minOccurs="0"
maxOccurs="1" />
<xs:element name="encoding" type="xs:string" minOccurs="0"
maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- type definition -->
<xs:complexType name="cmisTypeDefinitionType" abstract="false">
<xs:sequence>
<xs:element name="typeId" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="queryName" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="displayName" type="xs:string" minOccurs="1"
maxOccurs="1" />
<!-- base type -->
<xs:element name="baseType" type="cmis:enumObjectType"
minOccurs="1" maxOccurs="1" />
<xs:element name="baseTypeQueryName" type="xs:string"
minOccurs="1" maxOccurs="1" />
<!-- parent -->
<xs:element name="parentId" minOccurs="0" maxOccurs="1" />
<!-- info -->
<xs:element name="description" type="xs:string" minOccurs="0"
maxOccurs="1" />
<!-- flags -->
<xs:element name="creatable" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<xs:element name="fileable" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<xs:element name="queryable" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
<xs:element name="controllable" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="includedInSupertypeQuery" type="xs:boolean"
minOccurs="1" maxOccurs="1" default="true" />
<!-- property definitions -->
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:appinfo>
<jaxb:property name="propertyDefinition" />
</xs:appinfo>
</xs:annotation>
<xs:element ref="cmis:propertyBooleanDefinition" />
<xs:element ref="cmis:propertyDateTimeDefinition" />
<xs:element ref="cmis:propertyDecimalDefinition" />
<xs:element ref="cmis:propertyHtmlDefinition" />
<xs:element ref="cmis:propertyIdDefinition" />
<xs:element ref="cmis:propertyIntegerDefinition" />
<xs:element ref="cmis:propertyStringDefinition" />
<xs:element ref="cmis:propertyUriDefinition" />
<xs:element ref="cmis:propertyXmlDefinition" />
</xs:choice>
<!-- extension -->
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<!-- type specific typedefs -->
<xs:complexType name="cmisTypeDocumentDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisTypeDefinitionType">
<xs:sequence>
<xs:element name="versionable" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="contentStreamAllowed" type="cmis:enumContentStreamAllowed"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisTypeFolderDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisTypeDefinitionType">
<xs:sequence>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisTypeRelationshipDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisTypeDefinitionType">
<xs:sequence>
<xs:element name="allowedSourceTypes" type="xs:string"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="allowedTargetTypes" type="xs:string"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cmisTypePolicyDefinitionType">
<xs:complexContent>
<xs:extension base="cmis:cmisTypeDefinitionType">
<xs:sequence>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- query -->
<xs:complexType name="cmisQueryType">
<xs:sequence>
<xs:element name="statement" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="searchAllVersions" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:element name="pageSize" type="xs:integer" minOccurs="0"
maxOccurs="1" />
<xs:element name="skipCount" type="xs:integer" minOccurs="0"
maxOccurs="1" />
<xs:element name="returnAllowableActions" type="xs:boolean"
minOccurs="0" maxOccurs="1" />
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<xs:element name="query" type="cmis:cmisQueryType" />
<!-- repository info -->
<xs:complexType name="cmisRepositoryInfoType">
<xs:sequence minOccurs="1">
<xs:element name="repositoryId" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositoryName" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositoryRelationship" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositoryDescription" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="vendorName" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="productName" type="xs:string" minOccurs="1"
maxOccurs="1" />
<xs:element name="productVersion" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="rootFolderId" type="xs:string" />
<xs:element name="capabilities" type="cmis:cmisRepositoryCapabilitiesType"
minOccurs="1" maxOccurs="1" />
<xs:element name="cmisVersionsSupported" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="repositorySpecificInformation" type="cmis:cmisAnyXml"
maxOccurs="1" minOccurs="0" />
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
<xs:complexType name="cmisRepositoryCapabilitiesType">
<xs:sequence>
<xs:element name="capabilityMultifiling" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityUnfiling" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityVersionSpecificFiling" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityPWCUpdateable" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityPWCSearchable" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityAllVersionsSearchable" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityQuery" type="cmis:enumCapabilityQuery"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityJoin" type="cmis:enumCapabilityJoin"
minOccurs="1" maxOccurs="1" />
<xs:element name="capabilityFullText" type="cmis:enumCapabilityFullText"
minOccurs="1" maxOccurs="1" />
<xs:any namespace="##other" processContents="skip" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
</xs:schema>
<!-- EOF -->