Added:
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/resources/schema/cmis11/CMIS-Core.xsd
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/resources/schema/cmis11/CMIS-Core.xsd?rev=1448034&view=auto
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/resources/schema/cmis11/CMIS-Core.xsd
(added)
+++
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/resources/schema/cmis11/CMIS-Core.xsd
Wed Feb 20 08:27:53 2013
@@ -0,0 +1,1385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+ CMIS 1.1 Core Schema
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
targetNamespace="http://docs.oasis-open.org/ns/cmis/core/200908/"
+ 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://docs.oasis-open.org/ns/cmis/core/200908/"
version="1.0">
+
+ <!-- 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="enumUpdatability">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="readonly" />
+ <xs:enumeration value="readwrite" />
+ <xs:enumeration value="whencheckedout" />
+ <xs:enumeration value="oncreate" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumDateTimeResolution">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="year" />
+ <xs:enumeration value="date" />
+ <xs:enumeration value="time" />
+ </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:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumBaseObjectTypeIds">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:document" />
+ <xs:enumeration value="cmis:folder" />
+ <xs:enumeration value="cmis:relationship" />
+ <xs:enumeration value="cmis:policy" />
+ <xs:enumeration value="cmis:item" />
+ <xs:enumeration value="cmis:secondary" />
+ </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="bothseparate" />
+ <xs:enumeration value="bothcombined" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityJoin">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="inneronly" />
+ <xs:enumeration value="innerandouter" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityContentStreamUpdates">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="anytime" />
+ <xs:enumeration value="pwconly" />
+ <xs:enumeration value="none" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumVersioningState">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="checkedout" />
+ <xs:enumeration value="minor" />
+ <xs:enumeration value="major" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumUnfileObject">
+ <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="either" />
+ </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="cmis:name" />
+ <xs:enumeration value="cmis:description" />
+ <xs:enumeration value="cmis:objectId" />
+ <xs:enumeration value="cmis:objectTypeId" />
+ <xs:enumeration value="cmis:baseTypeId" />
+ <xs:enumeration value="cmis:secondaryObjectTypeIds" />
+ <xs:enumeration value="cmis:createdBy" />
+ <xs:enumeration value="cmis:creationDate" />
+ <xs:enumeration value="cmis:lastModifiedBy" />
+ <xs:enumeration value="cmis:lastModificationDate" />
+ <xs:enumeration value="cmis:changeToken" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesDocument">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:isImmutable" />
+ <xs:enumeration value="cmis:isLatestVersion" />
+ <xs:enumeration value="cmis:isMajorVersion" />
+ <xs:enumeration value="cmis:isLatestMajorVersion" />
+ <xs:enumeration value="cmis:isPrivateWorkingCopy" />
+ <xs:enumeration value="cmis:versionLabel" />
+ <xs:enumeration value="cmis:versionSeriesId" />
+ <xs:enumeration value="cmis:isVersionSeriesCheckedOut"
/>
+ <xs:enumeration value="cmis:versionSeriesCheckedOutBy"
/>
+ <xs:enumeration value="cmis:versionSeriesCheckedOutId"
/>
+ <xs:enumeration value="cmis:checkinComment" />
+ <xs:enumeration value="cmis:contentStreamLength" />
+ <xs:enumeration value="cmis:contentStreamMimeType" />
+ <xs:enumeration value="cmis:contentStreamFileName" />
+ <xs:enumeration value="cmis:contentStreamId" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesFolder">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:parentId" />
+ <xs:enumeration value="cmis:allowedChildObjectTypeIds"
/>
+ <xs:enumeration value="cmis:path" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesRelationship">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:sourceId" />
+ <xs:enumeration value="cmis:targetId" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesPolicy">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:policyText" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="cmisUndefinedAttribute">
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:attributeGroup>
+
+ <!-- main cmis object -->
+ <xs:complexType name="cmisObjectType">
+ <xs:sequence>
+ <xs:element name="properties"
type="cmis:cmisPropertiesType"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="allowableActions"
type="cmis:cmisAllowableActionsType"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="relationship"
type="cmis:cmisObjectType"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- if change log -->
+ <xs:element name="changeEventInfo"
type="cmis:cmisChangeEventType"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- ACL -->
+ <xs:element name="acl"
type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="exactACL" type="xs:boolean"
minOccurs="0"
+ maxOccurs="1" />
+
+ <!-- Applied Policy IDs -->
+ <xs:element name="policyIds"
type="cmis:cmisListOfIdsType"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- Rendition -->
+ <xs:element name="rendition"
type="cmis:cmisRenditionType"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- extensions -->
+ <xs:any minOccurs="0" maxOccurs="unbounded"
processContents="lax"
+ namespace="##other" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- property bag -->
+
+ <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 name="propertyBoolean"
type="cmis:cmisPropertyBoolean"
+ nillable="true" />
+ <xs:element name="propertyId"
type="cmis:cmisPropertyId"
+ nillable="true" />
+ <xs:element name="propertyInteger"
type="cmis:cmisPropertyInteger"
+ nillable="true" />
+ <xs:element name="propertyDateTime"
type="cmis:cmisPropertyDateTime"
+ nillable="true" />
+ <xs:element name="propertyDecimal"
type="cmis:cmisPropertyDecimal"
+ nillable="true" />
+ <xs:element name="propertyHtml"
type="cmis:cmisPropertyHtml"
+ nillable="true" />
+ <xs:element name="propertyString"
type="cmis:cmisPropertyString"
+ nillable="true" />
+ <xs:element name="propertyUri"
type="cmis:cmisPropertyUri"
+ nillable="true" />
+ </xs:choice>
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- start the prop definitions -->
+ <xs:complexType name="cmisProperty">
+ <xs:attribute name="propertyDefinitionId" type="xs:string"
use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the property definition id for
this
+ property instance. This is not required
to be set when used
+ as a default value. This is required to
be set when used for
+ query result set or returning
properties on an object.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="localName" type="xs:string" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the localname as defined by the
property
+ definition.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="displayName" type="xs:string"
use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the displayname as defined by
the property
+ definition.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="queryName" type="xs:string" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the queryName. This must be
specified if
+ this is the result of a query. If
aliases are used, the alias is to
+ be specified here instead of the
queryName.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyBoolean">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:boolean" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyId">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyInteger">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:integer" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyDateTime">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:dateTime" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyDecimal">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:decimal" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyHtml">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyString">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPropertyUri">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:anyURI" />
+ <xs:any processContents="lax"
namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- cmis choice -->
+ <xs:complexType name="cmisChoice">
+ <xs:attribute name="displayName" type="xs:string"
use="required" />
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceBoolean">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:boolean" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceBoolean" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceId">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceId" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceInteger">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:integer" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceInteger" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDateTime">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:dateTime" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDateTime"
/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDecimal">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:decimal" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDecimal" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceHtml">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceHtml" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisChoiceString">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceString" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceUri">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="value"
+ type="xs:anyURI" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceUri" />
+ </xs:sequence>
+
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- allowable actions -->
+ <xs:complexType name="cmisAllowableActionsType">
+ <xs:sequence>
+ <xs:element name="canDeleteObject" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canUpdateProperties" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetFolderTree" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetProperties" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetObjectRelationships"
type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetObjectParents" 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="canMoveObject" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canDeleteContentStream"
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="canSetContentStream" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetAllVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canAddObjectToFolder"
type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canRemoveObjectFromFolder"
type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetContentStream" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canApplyPolicy" 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="canCreateItem" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canDeleteTree" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- renditions -->
+ <xs:element name="canGetRenditions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- ACL -->
+ <xs:element name="canGetACL" type="xs:boolean"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="canApplyACL" 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:complexType name="cmisListOfIdsType">
+ <xs:sequence>
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="unbounded" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other"
minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <!-- bulkUpdateProperties -->
+ <xs:complexType name="cmisObjectIdAndChangeTokenType">
+ <xs:sequence>
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="newId" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="changeToken" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+
+ <xs:any processContents="lax" namespace="##other"
minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisBulkUpdateType">
+ <xs:sequence>
+ <xs:element name="objectIdAndChangeToken"
type="cmis:cmisObjectIdAndChangeTokenType"
+ minOccurs="1" maxOccurs="unbounded" />
+ <xs:element name="properties"
type="cmis:cmisPropertiesType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="addSecondaryTypeIds" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="removeSecondaryTypeIds"
type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other"
minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- Property Attributes -->
+ <xs:complexType name="cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localName" type="xs:string"
minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localNamespace" type="xs:anyURI"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="displayName" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="queryName" type="xs:string"
minOccurs="0"
+ 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="updatability"
type="cmis:enumUpdatability"
+ 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" />
+
+ <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="1"
name="defaultValue"
+ type="cmis:cmisPropertyBoolean"
/>
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceBoolean" />
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyId" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceId" />
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyInteger"
/>
+ <xs:element name="maxValue"
type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="minValue"
type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceInteger" />
+ </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="1"
name="defaultValue"
+
type="cmis:cmisPropertyDateTime" />
+ <xs:element minOccurs="0" maxOccurs="1"
name="resolution"
+
type="cmis:enumDateTimeResolution" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDateTime"
/>
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyDecimal"
/>
+ <xs:element name="maxValue"
type="xs:decimal" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="minValue"
type="xs:decimal" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="precision"
type="cmis:enumDecimalPrecision"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDecimal" />
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyHtml" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceHtml" />
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyString"
/>
+ <xs:element name="maxLength"
type="xs:integer"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceString" />
+ </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="1"
name="defaultValue"
+ type="cmis:cmisPropertyUri" />
+ <xs:element minOccurs="0"
maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceUri" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- type definition -->
+ <xs:complexType name="cmisTypeDefinitionType">
+ <xs:sequence>
+ <!-- primary identifying attribute -->
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localName" type="xs:string"
minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localNamespace" type="xs:anyURI"
+ minOccurs="1" maxOccurs="1" nillable="true" />
+ <xs:element name="displayName" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="queryName" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="description" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+
+ <!-- base type -->
+ <xs:element name="baseId"
type="cmis:enumBaseObjectTypeIds"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- parent -->
+ <xs:element name="parentId" type="xs:string"
minOccurs="0"
+ maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ This is the id for the parent
type definition.
+ If this is a base type, this is
MUST NOT be present.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- 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="fulltextIndexed" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="includedInSupertypeQuery"
type="xs:boolean"
+ minOccurs="1" maxOccurs="1" default="true" />
+
+ <!-- controllable -->
+ <xs:element name="controllablePolicy" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="controllableACL" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- type mutability-->
+ <xs:element name="typeMutability"
type="cmis:cmisTypeMutabilityCapabilitiesType"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- property definitions -->
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:property
name="propertyDefinition" />
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:element name="propertyBooleanDefinition"
type="cmis:cmisPropertyBooleanDefinitionType" />
+ <xs:element name="propertyDateTimeDefinition"
type="cmis:cmisPropertyDateTimeDefinitionType" />
+ <xs:element name="propertyDecimalDefinition"
type="cmis:cmisPropertyDecimalDefinitionType" />
+ <xs:element name="propertyIdDefinition"
type="cmis:cmisPropertyIdDefinitionType" />
+ <xs:element name="propertyIntegerDefinition"
type="cmis:cmisPropertyIntegerDefinitionType" />
+ <xs:element name="propertyHtmlDefinition"
type="cmis:cmisPropertyHtmlDefinitionType" />
+ <xs:element name="propertyStringDefinition"
type="cmis:cmisPropertyStringDefinitionType" />
+ <xs:element name="propertyUriDefinition"
type="cmis:cmisPropertyUriDefinitionType" />
+ </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>
+ <xs:complexType name="cmisTypeItemDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeSecondaryDefinitionType">
+ <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="includeAllowableActions"
type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="includeRelationships"
type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="maxItems" type="xs:integer"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="skipCount" type="xs:integer"
minOccurs="0"
+ maxOccurs="1" />
+
+ <xs:any maxOccurs="unbounded" minOccurs="0"
namespace="##other"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+
+ <!-- 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="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"
minOccurs="1"
+ maxOccurs="1"/>
+ <xs:element name="latestChangeLogToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="capabilities"
type="cmis:cmisRepositoryCapabilitiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="aclCapability"
type="cmis:cmisACLCapabilityType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="cmisVersionSupported" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="thinClientURI" type="xs:anyURI"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="changesIncomplete" type="xs:boolean"
+ maxOccurs="1" minOccurs="0" />
+ <xs:element name="changesOnType"
type="cmis:enumBaseObjectTypeIds"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="principalAnonymous" type="xs:string"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the
principal who is
+ used for anonymous access. This
principal can then be
+ passed to the ACL services to
specify what permissions
+ anonymous users should have.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="principalAnyone" type="xs:string"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the
principal who is
+ used for everyone's access.
This principal can then be
+ passed to the ACL services to
specify what permissions
+ everyone should have.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="extendedFeatures"
+ type="cmis:cmisExtensionFeatureType"
maxOccurs="unbounded" minOccurs="0">
+ </xs:element>
+
+ <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="capabilityACL"
type="cmis:enumCapabilityACL"
+ maxOccurs="1" minOccurs="1" />
+ <xs:element name="capabilityAllVersionsSearchable"
type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityChanges"
type="cmis:enumCapabilityChanges" />
+
+ <xs:element name="capabilityContentStreamUpdatability"
+ type="cmis:enumCapabilityContentStreamUpdates"
minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="capabilityGetDescendants"
type="xs:boolean"
+ maxOccurs="1" minOccurs="1" />
+ <xs:element name="capabilityGetFolderTree"
type="xs:boolean"
+ maxOccurs="1" minOccurs="1" />
+ <xs:element name="capabilityOrderBy"
type="cmis:enumCapabilityOrderBy"
+ maxOccurs="1" minOccurs="1" />
+
+ <xs:element name="capabilityMultifiling"
type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityPWCSearchable"
type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityPWCUpdatable"
type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityQuery"
type="cmis:enumCapabilityQuery"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityRenditions"
type="cmis:enumCapabilityRendition"
+ 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="capabilityJoin"
type="cmis:enumCapabilityJoin"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="capabilityCreatablePropertyTypes"
+ type="cmis:cmisCreatablePropertyTypesType"
maxOccurs="1" minOccurs="0">
+ </xs:element>
+ <xs:element name="capabilityNewTypeSettableAttributes"
+ type="cmis:cmisNewTypeSettableAttributes"
maxOccurs="1" minOccurs="0">
+ </xs:element>
+
+ <!-- extension -->
+ <xs:any namespace="##other" processContents="skip"
minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <!-- Unified Search -->
+ <xs:simpleType name="enumTypeOfChanges">
+ <xs:restriction base="xs:string">
+ <!-- content with a new ID has been created -->
+ <xs:enumeration value="created" />
+ <!-- content with an existing ID has been modified -->
+ <xs:enumeration value="updated" />
+ <!-- content with an existing ID has been deleted -->
+ <xs:enumeration value="deleted" />
+ <!-- content with an existing ID has had its security
policy changed-->
+ <xs:enumeration value="security" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumCapabilityChanges">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="objectidsonly" />
+ <xs:enumeration value="properties" />
+ <xs:enumeration value="all" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumCapabilityOrderBy">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="common" />
+ <xs:enumeration value="custom" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="cmisChangeEventType">
+ <xs:sequence>
+ <xs:element name="changeType"
type="cmis:enumTypeOfChanges" />
+ <xs:element name="changeTime" type="xs:dateTime" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other"
minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- ACL -->
+ <xs:simpleType name="enumACLPropagation">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="repositorydetermined" />
+ <xs:enumeration value="objectonly" />
+ <xs:enumeration value="propagate" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumCapabilityACL">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="discover" />
+ <xs:enumeration value="manage" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumBasicPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:read" />
+ <xs:enumeration value="cmis:write" />
+ <xs:enumeration value="cmis:all" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="cmisPermissionDefinition">
+ <xs:sequence>
+ <xs:element name="permission" type="xs:string" />
+ <xs:element name="description" type="xs:string"
minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" minOccurs="0"
processContents="lax"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPermissionMapping">
+ <xs:sequence>
+ <xs:element name="key"
type="cmis:enumAllowableActionsKey"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="permission" type="xs:string"
minOccurs="1"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ Multiple entries are OR'ed
together. Any
+ permission that specified is
sufficient to
+ provide rights required in key
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:simpleType name="enumAllowableActionsKey">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="canGetDescendents.Folder" />
+ <xs:enumeration value="canGetChildren.Folder" />
+ <xs:enumeration value="canGetParents.Folder" />
+ <xs:enumeration value="canGetFolderParent.Object" />
+ <xs:enumeration value="canCreateDocument.Folder" />
+ <xs:enumeration value="canCreateFolder.Folder" />
+ <xs:enumeration value="canCreateRelationship.Source" />
+ <xs:enumeration value="canCreateRelationship.Target" />
+ <xs:enumeration value="canGetProperties.Object" />
+ <xs:enumeration value="canViewContent.Object" />
+ <xs:enumeration value="canUpdateProperties.Object" />
+ <xs:enumeration value="canMove.Object" />
+ <xs:enumeration value="canMove.Target" />
+ <xs:enumeration value="canMove.Source" />
+ <xs:enumeration value="canDelete.Object" />
+ <xs:enumeration value="canDeleteTree.Folder" />
+ <xs:enumeration value="canSetContent.Document" />
+ <xs:enumeration value="canDeleteContent.Document" />
+ <xs:enumeration value="canAddToFolder.Object" />
+ <xs:enumeration value="canAddToFolder.Folder" />
+ <xs:enumeration value="canRemoveFromFolder.Object" />
+ <xs:enumeration value="canRemoveFromFolder.Folder" />
+ <xs:enumeration value="canCheckout.Document" />
+ <xs:enumeration value="canCancelCheckout.Document" />
+ <xs:enumeration value="canCheckin.Document" />
+ <xs:enumeration value="canGetAllVersions.VersionSeries"
/>
+ <xs:enumeration
value="canGetObjectRelationships.Object" />
+ <xs:enumeration value="canAddPolicy.Object" />
+ <xs:enumeration value="canAddPolicy.Policy" />
+ <xs:enumeration value="canRemovePolicy.Object" />
+ <xs:enumeration value="canRemovePolicy.Policy" />
+ <xs:enumeration value="canGetAppliedPolicies.Object" />
+ <xs:enumeration value="canGetACL.Object" />
+ <xs:enumeration value="canApplyACL.Object" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumUsers">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:user">
+ <xs:annotation>
+ <xs:documentation>
+ This user can be used on
setting ACLs to specify
+ the permission this
+ user context should have.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- ACL on objects -->
+ <xs:complexType name="cmisAccessControlPrincipalType">
+ <xs:sequence>
+ <xs:element name="principalId" type="xs:string" />
+
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisAccessControlEntryType">
+ <xs:sequence>
+ <xs:element name="principal"
type="cmis:cmisAccessControlPrincipalType" />
+ <xs:element name="permission" type="xs:string"
minOccurs="1"
+ maxOccurs="unbounded" />
+ <xs:element name="direct" type="xs:boolean" />
+
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisAccessControlListType">
+ <xs:sequence>
+ <xs:element name="permission"
type="cmis:cmisAccessControlEntryType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisACLCapabilityType">
+ <xs:sequence>
+ <xs:element name="supportedPermissions"
type="cmis:enumSupportedPermissions" />
+ <xs:element name="propagation"
type="cmis:enumACLPropagation" />
+ <xs:element name="permissions"
type="cmis:cmisPermissionDefinition"
+ minOccurs="1" maxOccurs="unbounded" />
+ <xs:element name="mapping"
type="cmis:cmisPermissionMapping"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:simpleType name="enumSupportedPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="basic" />
+ <xs:enumeration value="repository" />
+ <xs:enumeration value="both" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- renditions -->
+ <xs:simpleType name="enumCapabilityRendition">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="read" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumRenditionKind">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:thumbnail" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="cmisRenditionType">
+ <xs:sequence>
+ <xs:element name="streamId" type="xs:string" />
+ <xs:element name="mimetype" type="xs:string" />
+ <xs:element name="length" type="xs:integer" />
+ <xs:element name="kind" type="xs:string" />
+ <xs:element name="title" type="xs:string" minOccurs="0"
/>
+ <xs:element name="height" type="xs:integer"
minOccurs="0" />
+ <xs:element name="width" type="xs:integer"
minOccurs="0" />
+ <xs:element name="renditionDocumentId" type="xs:string"
+ minOccurs="0" />
+
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <!-- elements -->
+ <xs:element name="allowableActions"
type="cmis:cmisAllowableActionsType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS AllowableActions
+ Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="query" type="cmis:cmisQueryType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS Query Document
Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="acl" type="cmis:cmisAccessControlListType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS ACL Document
Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- type mutability -->
+ <xs:complexType name="cmisTypeMutabilityCapabilitiesType">
+ <xs:sequence>
+ <xs:element name="create" type="xs:boolean"/>
+ <xs:element name="update" type="xs:boolean"/>
+ <xs:element name="delete" type="xs:boolean"/>
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisCreatablePropertyTypesType">
+ <xs:sequence>
+ <xs:element name="canCreate"
type="cmis:enumPropertyType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisNewTypeSettableAttributes">
+ <xs:sequence>
+ <xs:element name="id" type="xs:boolean" minOccurs="1"
maxOccurs="1" />
+ <xs:element name="localName" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <xs:element name="localNamespace" type="xs:boolean"
minOccurs="1" maxOccurs="1"/>
+ <xs:element name="displayName" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <xs:element name="queryName" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <xs:element name="description" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <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="fulltextIndexed" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <xs:element name="includedInSupertypeQuery"
type="xs:boolean" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="controllablePolicy" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ <xs:element name="controllableACL" type="xs:boolean"
minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- feature extensions -->
+ <xs:complexType name="cmisExtensionFeatureKeyValuePair">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="key"
type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="value"
type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisExtensionFeatureType">
+ <xs:sequence>
+ <!-- id is the only mandatory field - typically will be
a URN-->
+ <xs:element minOccurs="1" maxOccurs="1" name="id"
type="xs:anyURI" />
+ <!-- optional url for a site describing the extension
-->
+ <xs:element minOccurs="0" maxOccurs="1" name="url"
type="xs:anyURI" />
+ <!-- optional short name for standard i.e. FooStandard
-->
+ <xs:element minOccurs="0" maxOccurs="1"
name="commonName" type="xs:string" />
+ <!-- optional version label-->
+ <xs:element minOccurs="0" maxOccurs="1"
name="versionLabel" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1"
name="description" type="xs:string" />
+ <xs:element name="featureData"
type="cmis:cmisExtensionFeatureKeyValuePair" minOccurs="0"
maxOccurs="unbounded" />
+ <xs:any processContents="lax" namespace="##other"
minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
+ <!-- EOF -->
\ No newline at end of file
Propchange:
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/resources/schema/cmis11/CMIS-Core.xsd
------------------------------------------------------------------------------
svn:eol-style = native