Files
alfresco-community-repo/source/wsdl/cmisMessageTypes.xsd
David Caruana f51be032bc Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10722 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2008-09-04 10:44:42 +00:00

773 lines
34 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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">
<xs:include schemaLocation="cmisObjectTypes.xsd"/>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Common Elements -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xs:element name="maxItems" type="xs:integer"/>
<xs:element name="skipCount" type="xs:integer"/>
<xs:element name="filter" type="xs:string"/>
<xs:element name="hasMoreItems" type="xs:boolean"/>
<xs:complexType name="basicFault">
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" minOccurs="0" />
<xs:element name="errorMessage" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<!--<xs:element name="InvalidArgumentFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FilterNotValidFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RuntimeFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConcurrencyFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OperationNotSupportedFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PermissionDeniedFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TypeNotFoundFault">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:integer" />
<xs:element name="errorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>-->
<xs:element name="TypeNotFoundFault" type="basicFault" />
<xs:element name="StreamNotSupportedFault" type="basicFault" />
<xs:element name="OffsetFault" type="basicFault" />
<xs:element name="ObjectNotFoundFault" type="basicFault" />
<xs:element name="ConstraintViolationFault" type="basicFault" />
<xs:element name="StorageFault" type="basicFault" />
<xs:element name="NotInFolderFault" type="basicFault" />
<xs:element name="AlreadyExistsFault" type="basicFault" />
<xs:element name="FolderNotValidFault" type="basicFault" />
<xs:element name="InvalidArgumentFault" type="basicFault" />
<xs:element name="FilterNotValidFault" type="basicFault" />
<xs:element name="RuntimeFault" type="basicFault" />
<xs:element name="ConcurrencyFault" type="basicFault" />
<xs:element name="OperationNotSupportedFault" type="basicFault" />
<xs:element name="PermissionDeniedFault" type="basicFault" />
<xs:element name="contentStream">
<xs:complexType>
<xs:sequence>
<xs:element name="mimeType" type="xs:string" minOccurs="0"/>
<xs:element ref="name" minOccurs="0"/>
<xs:element name="uri" type="xs:anyURI" minOccurs="0"/>
<xs:element name="stream" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Repository Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getRepositoryInfo Operation -->
<xs:complexType name="capabilitiesType">
<xs:sequence>
<xs:element name="capabilityMultifiling" type="xs:boolean"/>
<xs:element name="capabilityUpdatePWC" type="xs:boolean"/>
<xs:element name="capabilityAllVersionsSearchable" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="repositoryInfoType">
<xs:sequence>
<xs:element name="repositoryId" type="xs:string"/>
<xs:element name="repositoryName" type="xs:string"/>
<xs:element name="repositoryDescription" type="xs:string"/>
<xs:element name="rootFolderId" type="objectID"/>
<xs:element name="vendorName" type="xs:string"/>
<xs:element name="productName" type="xs:string"/>
<xs:element name="productVersion" type="xs:string"/>
<xs:element name="repositorySpecificInformation" type="xs:string"/>
<xs:element name="capabilities" type="capabilitiesType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getRepositoryInfo">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<xs:element name="getRepositoryInfoResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="repositoryInfo" type="repositoryInfoType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getTypes Operation -->
<xs:simpleType name="getTypesEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Document"/>
<xs:enumeration value="Folder"/>
<xs:enumeration value="Relationship"/>
<xs:enumeration value="All"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="getTypes">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="getTypesEnum"/>
<xs:element name="returnPropertyDefinitions" type="xs:boolean" minOccurs="0"/>
<xs:element ref="maxItems" minOccurs="0"/>
<xs:element ref="skipCount" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getTypesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="types">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="objectTypeDefinitionType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getTypeDefinition Operation -->
<xs:element name="getTypeDefinition">
<xs:complexType>
<xs:sequence>
<xs:element name="typeId" type="ID"/>
<xs:element name="includeInheritedProperties" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getTypeDefinitionResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="objectTypeDefinitionType"/>
<xs:element name="canCreateInstances" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getRootFolder Operation -->
<xs:element name="getRootFolder">
<xs:complexType>
<xs:sequence>
<xs:element ref="filter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getRootFolderResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="rootFolder" type="folderObjectType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Navigation Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getDescendants Operation -->
<xs:simpleType name="typesOfObjectsEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Folders"/>
<xs:enumeration value="FoldersAndDocumets"/>
<xs:enumeration value="Documents"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="getDescendants">
<xs:complexType>
<xs:sequence>
<xs:element name="folderId" type="objectID"/>
<xs:element name="type" type="typesOfObjectsEnum"/>
<xs:element name="depth" minOccurs="0"/>
<xs:element ref="filter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getDescendantsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentAndFolderCollection"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getChildren Operation -->
<xs:element name="getChildren">
<xs:complexType>
<xs:sequence>
<xs:element name="folderId" type="objectID"/>
<xs:element name="type" type="typesOfObjectsEnum"/>
<xs:element ref="filter" minOccurs="0"/>
<xs:element ref="maxItems" minOccurs="0"/>
<xs:element ref="skipCount" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getChildrenResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentAndFolderCollection"/>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getFolderParent Operation -->
<xs:element name="getFolderParent">
<xs:complexType>
<xs:sequence>
<xs:element name="folderId" type="objectID"/>
<xs:element ref="filter" minOccurs="0"/>
<xs:element name="returnToRoot" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getFolderParentResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="folderCollection"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getDocumentParents Operation -->
<xs:element name="getDocumentParents">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element ref="filter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getDocumentParentsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="folderCollection"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getUnfiledDocs Operation -->
<xs:element name="getUnfiledDocs">
<xs:complexType>
<xs:sequence>
<xs:element ref="filter" minOccurs="0"/>
<xs:element name="maxDocuments" type="xs:integer" minOccurs="0"/>
<xs:element name="skipCount" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getUnfiledDocsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentCollection"/>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getCheckedoutDocs Operation -->
<xs:element name="getCheckedoutDocs">
<xs:complexType>
<xs:sequence>
<xs:element ref="filter" minOccurs="0"/>
<xs:element ref="maxItems" minOccurs="0"/>
<xs:element ref="skipCount" minOccurs="0"/>
<xs:element name="folderID" type="objectID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCheckedoutDocsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentCollection"/>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Object Service -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- createDocument Operation -->
<xs:simpleType name="versioningStateEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="checkedOut"/>
<xs:enumeration value="checkedInMinor"/>
<xs:enumeration value="checkedInMajor"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="createDocument">
<xs:complexType>
<xs:sequence>
<xs:element name="typeId" type="ID"/>
<xs:element name="propertyCollection" type="documentObjectType"/>
<!-- note that the object type may also be an element in the object and if present the values must match -->
<xs:element name="folderId" type="objectID" minOccurs="0"/>
<xs:element ref="contentStream" minOccurs="0"/>
<xs:element name="versioningState" type="versioningStateEnum" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createDocumentResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- createFolder Operation -->
<xs:element name="createFolder">
<xs:complexType>
<xs:sequence>
<xs:element name="typeId" type="ID"/>
<xs:element name="propertyCollection" type="folderObjectType"/>
<!-- must match the type attribute value of the properties object -->
<xs:element name="folderId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createFolderResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- createRelationship Operation -->
<xs:element name="createRelationship">
<xs:complexType>
<xs:sequence>
<xs:element name="typeId" type="ID"/>
<xs:element name="propertyCollection" type="relationshipObjectType"/>
<!-- must match the type attribute value of the properties object -->
<xs:element name="sourceObjectId" type="objectID"/>
<!-- if sourceObjectId exist in the properties passed in then their values MUST match -->
<xs:element name="targetObjectId" type="objectID"/>
<!-- if targetObjectId exist in the properties passed in then their values MUST match -->
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createRelationshipResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getAllowableActions Operation -->
<xs:simpleType name="allowableActionsEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="delete"/>
<xs:enumeration value="updateProperties"/>
<xs:enumeration value="checkOut"/>
<xs:enumeration value="cancelCheckOut"/>
<xs:enumeration value="checkIn"/>
<xs:enumeration value="deleteVersion"/>
<xs:enumeration value="addToFolder"/>
<xs:enumeration value="removeFromFolder"/>
<xs:enumeration value="setContent"/>
<xs:enumeration value="deleteContent"/>
<xs:enumeration value="getAllVersions"/>
<xs:enumeration value="getChilderen"/>
<xs:enumeration value="getParents"/>
<xs:enumeration value="getRelationships"/>
<xs:enumeration value="getProperties"/>
<xs:enumeration value="viewContent"/>
<xs:enumeration value="move"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="getAllowableActions">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
<xs:element name="asUser" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getAllowableActionsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="allowableActionCollection">
<xs:complexType>
<xs:sequence>
<xs:element name="action" type="allowableActionsEnum" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- returning no action elements indicates that no actions are allowed -->
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getProperties Operation -->
<xs:simpleType name="versionEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="this"/>
<xs:enumeration value="latest"/>
<xs:enumeration value="latestMajor"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="getProperties">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
<xs:element name="returnVersion" type="versionEnum" minOccurs="0"/>
<xs:element ref="filter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getPropertiesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="object" type="documentFolderOrRelationshipObjectType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getContentStream Operation -->
<xs:element name="getContentStream">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="offset" type="xs:integer" minOccurs="0"/>
<xs:element name="length" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getContentStreamResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="stream" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- updateProperties Operation -->
<xs:element name="updateProperties">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
<!-- if objectId is present in the properties the value must match this objectId -->
<xs:element name="changeToken" type="xs:string" minOccurs="0"/>
<xs:element name="object" type="documentFolderOrRelationshipObjectType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="updatePropertiesResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- moveObject Operation -->
<xs:element name="moveObject">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
<!-- object id of folder or documentt -->
<xs:element name="folderId" type="objectID"/>
<xs:element name="sourceFolderId" type="objectID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="moveObjectResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- deleteObject Operation -->
<xs:element name="deleteObject">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deleteObjectResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- deleteTree Operation -->
<xs:simpleType name="deleteWithMultiFilingEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="unfile"/>
<xs:enumeration value="deleteSingleFiledDocs"/>
<xs:enumeration value="delete"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="deleteTree">
<xs:complexType>
<xs:sequence>
<xs:element name="folderId" type="objectID"/>
<xs:element name="unfileMultiFiledDocuments" type="deleteWithMultiFilingEnum"/>
<xs:element name="continueOnFailure" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deleteTreeResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="failedToDelete">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- setContentStream Operation -->
<xs:element name="setContentStream">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="overwriteFlag" type="xs:boolean" minOccurs="0"/>
<xs:element ref="contentStream" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="setContentStreamResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- deleteContentStream Operation -->
<xs:element name="deleteContentStream">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deleteContentStreamResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Multi-filing Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- addDocumentToFolder Operation -->
<xs:element name="addDocumentToFolder">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="folderId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="addDocumentToFolderResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- removeDocumentFromFolder Operation -->
<xs:element name="removeDocumentFromFolder">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="folderId" type="objectID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="removeDocumentFromFolderResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Discovery Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- query Operation -->
<xs:element name="query">
<xs:complexType>
<xs:sequence>
<xs:element name="statement" type="xs:string"/>
<xs:element name="searchAllVersions" type="xs:boolean" minOccurs="0"/>
<xs:element ref="maxItems" minOccurs="0"/>
<xs:element ref="skipCount" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="queryResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentAndFolderCollection"/>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Versioning Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- checkOut Operation -->
<xs:element name="checkOut">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="checkOutResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="contentCopied" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- cancelCheckOut Operation -->
<xs:element name="cancelCheckOut">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cancelCheckOutResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- checkIn Operation -->
<xs:element name="checkIn">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element name="major" type="xs:boolean" minOccurs="0"/>
<xs:element name="properties" type="documentObjectType" minOccurs="0"/>
<xs:element ref="contentStream" minOccurs="0"/>
<xs:element name="checkinComment" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="checkInResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getAllVersions Operation -->
<xs:element name="getAllVersions">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
<xs:element ref="filter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getAllVersionsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="documentCollection"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- deleteAllVersions Operation -->
<xs:element name="deleteAllVersions">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="objectID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deleteAllVersionsResponse">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Relationship Services -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- getRelationships Operation -->
<xs:simpleType name="relationshipDirectionEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="source"/>
<xs:enumeration value="target"/>
<xs:enumeration value="sourceAndTarget"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="getRelationships">
<xs:complexType>
<xs:sequence>
<xs:element name="objectId" type="objectID"/>
<xs:element name="direction" type="relationshipDirectionEnum"/>
<xs:element name="typeId" type="xs:string" minOccurs="0"/>
<xs:element name="includeSubRelationshipTypes" type="xs:boolean" minOccurs="0"/>
<xs:element ref="filter" minOccurs="0"/>
<xs:element ref="maxItems" minOccurs="0"/>
<xs:element ref="skipCount" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getRelationshipsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="relationshipCollection"/>
<xs:element ref="hasMoreItems"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>