You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2009/10/28 12:54:27 UTC

svn commit: r830511 [2/4] - in /incubator/chemistry/trunk/chemistry: chemistry-api/src/main/java/org/apache/chemistry/ chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/ chemistry-atompub-client/src/main/java/org/apache/chemist...

Modified: incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/xml/stax/TestXMLWriter.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/xml/stax/TestXMLWriter.java?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/xml/stax/TestXMLWriter.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/java/org/apache/chemistry/xml/stax/TestXMLWriter.java Wed Oct 28 11:54:22 2009
@@ -27,6 +27,8 @@
 
 import javax.xml.namespace.QName;
 
+import org.apache.chemistry.CMIS;
+
 import junit.framework.TestCase;
 
 /**
@@ -34,11 +36,8 @@
  */
 public class TestXMLWriter extends TestCase {
 
-    public static final String CMIS_NS = "http://docs.oasis-open.org/ns/cmis/core/200901";
-
-    public static final String CMIS_PREFIX = "cmis";
-
-    public static final QName OBJECT = new QName(CMIS_NS, "object", CMIS_PREFIX);
+    public static final QName OBJECT = new QName(CMIS.CMIS_NS, "object",
+            CMIS.CMIS_PREFIX);
 
     public static String toString(Reader r) throws IOException {
         char[] chars = new char[1000]; // big enough for this test
@@ -60,7 +59,7 @@
         x.start();
         {
             x.element("service");
-            x.xmlns("cmis", CMIS_NS).attr("version", "1.0");
+            x.xmlns("cmis", CMIS.CMIS_NS).attr("version", "1.0");
             x.start();
             {
                 x.element("ws1").attr("k", "v").content("test");

Modified: incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/resources/xmlwriter-output.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/resources/xmlwriter-output.xml?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/resources/xmlwriter-output.xml (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-commons/src/test/resources/xmlwriter-output.xml Wed Oct 28 11:54:22 2009
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200901" version="1.0">
+<service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" version="1.0">
   <ws1 k="v">test</ws1>
   <ws2 key="val">
     <cmis:object/>

Modified: incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java Wed Oct 28 11:54:22 2009
@@ -494,9 +494,9 @@
 
     public Iterator<ObjectEntry> getChangeLog(String changeLogToken,
             boolean includeProperties, int maxItems, boolean[] hasMoreItems,
-            String[] lastChangeLogToken) {
+            String[] latestChangeLogToken) {
         hasMoreItems[0] = false;
-        lastChangeLogToken[0] = null;
+        latestChangeLogToken[0] = null;
         return Collections.<ObjectEntry> emptyList().iterator();
     }
 

Modified: incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrRepository.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrRepository.java?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrRepository.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrRepository.java Wed Oct 28 11:54:22 2009
@@ -168,10 +168,6 @@
         return repository.getDescriptor(javax.jcr.Repository.REP_NAME_DESC);
     }
 
-    public String getRelationshipName() {
-        return null;
-    }
-
     public URI getThinClientURI() {
         return null;
     }
@@ -234,7 +230,7 @@
     }
 
     public String getVersionSupported() {
-        return "0.62";
+        return "1.0";
     }
 
     // -------------------------------------------------- RepositoryCapabilities
@@ -275,6 +271,10 @@
         return false;
     }
 
+    public boolean hasGetFolderTree() {
+        return false;
+    }
+
     public boolean isContentStreamUpdatableAnytime() {
         return true;
     }

Modified: incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java Wed Oct 28 11:54:22 2009
@@ -18,16 +18,24 @@
 package org.apache.chemistry.test;
 
 import java.io.InputStream;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.TimeZone;
 
 import junit.framework.TestCase;
 
 import org.apache.chemistry.BaseType;
 import org.apache.chemistry.CMISObject;
+import org.apache.chemistry.CapabilityACL;
+import org.apache.chemistry.CapabilityChange;
+import org.apache.chemistry.CapabilityJoin;
+import org.apache.chemistry.CapabilityQuery;
+import org.apache.chemistry.CapabilityRendition;
 import org.apache.chemistry.Connection;
 import org.apache.chemistry.ContentStream;
 import org.apache.chemistry.Document;
@@ -36,6 +44,8 @@
 import org.apache.chemistry.ObjectId;
 import org.apache.chemistry.Property;
 import org.apache.chemistry.Repository;
+import org.apache.chemistry.RepositoryCapabilities;
+import org.apache.chemistry.RepositoryInfo;
 import org.apache.chemistry.SPI;
 import org.apache.chemistry.Type;
 import org.apache.chemistry.impl.simple.SimpleContentStream;
@@ -102,6 +112,41 @@
         return null;
     }
 
+    public void testRepository() {
+        assertNotNull(repository);
+        assertEquals("test", repository.getId());
+        assertEquals("test", repository.getName());
+        RepositoryInfo info = repository.getInfo();
+        assertEquals("Repository test", info.getDescription());
+        assertEquals("Apache", info.getVendorName());
+        assertEquals("Chemistry Simple Repository", info.getProductName());
+        assertEquals("1.0-SNAPSHOT", info.getProductVersion());
+        // assertEquals(new SimpleObjectId("XYZ"), info.getRootFolderId());
+        // assertEquals("", info.getLatestChangeLogToken());
+        assertEquals("1.0", info.getVersionSupported());
+        assertFalse(info.isChangeLogIncomplete());
+        Set<BaseType> clbt = info.getChangeLogBaseTypes();
+        Set<BaseType> clbtExpected = new HashSet<BaseType>(Arrays.asList(
+                BaseType.FOLDER, BaseType.DOCUMENT, BaseType.RELATIONSHIP,
+                BaseType.POLICY));
+        assertEquals(clbtExpected, clbt);
+        RepositoryCapabilities cap = info.getCapabilities();
+        assertEquals(CapabilityACL.NONE, cap.getACLCapability());
+        assertFalse(cap.isAllVersionsSearchable());
+        assertEquals(CapabilityChange.NONE, cap.getChangeCapability());
+        assertTrue(cap.isContentStreamUpdatableAnytime());
+        assertTrue(cap.hasGetDescendants());
+        assertFalse(cap.hasGetFolderTree());
+        assertFalse(cap.hasMultifiling());
+        assertFalse(cap.isPWCSearchable());
+        assertFalse(cap.isPWCUpdatable());
+        assertEquals(CapabilityQuery.BOTH_COMBINED, cap.getQueryCapability());
+        assertEquals(CapabilityRendition.NONE, cap.getRenditionCapability());
+        assertFalse(cap.hasUnfiling());
+        assertFalse(cap.hasVersionSpecificFiling());
+        assertEquals(CapabilityJoin.NONE, cap.getJoinCapability());
+    }
+
     public void testBasic() {
         assertNotNull(repository);
         assertNotNull(conn);
@@ -230,7 +275,6 @@
         assertEquals(1, parents.size());
     }
 
-    @SuppressWarnings("null")
     public void testGetStream() throws Exception {
         Folder f1 = (Folder) conn.getRootFolder().getChildren().get(0);
         Folder f2 = getFolderChild(f1);
@@ -309,7 +353,6 @@
         assertEquals(blobBytes.length, cs.getLength());
     }
 
-    @SuppressWarnings("null")
     public void testNewFolder() {
         Folder root = conn.getRootFolder();
         assertNull(getDocumentChild(root));

Modified: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd Wed Oct 28 11:54:22 2009
@@ -3,18 +3,18 @@
 		-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
 		Specification Version 11
 	-->
+	<!--
+		$Revision: 34 $
+		$Date: 2009-08-07 15:20:47 -0700 (Fri, 07 Aug 2009) $
+		$Author: albertcbrown $
+		$HeadURL: http://tools.oasis-open.org/version-control/svn/cmis/trunk/SchemaProject/schema/APP.xsd $
+	-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 	elementFormDefault="qualified" targetNamespace="http://www.w3.org/2007/app"
 	xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app"
-	xmlns:cmisc="http://docs.oasis-open.org/ns/cmis/core/200901"
-	xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200901"
-	version="0.62d">
+	version="0.63">
 	<xs:import namespace="http://www.w3.org/2005/Atom"
 		schemaLocation="ATOM.xsd" />
-	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/core/200901"
-		schemaLocation="CMIS-Core.xsd" />
-	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/restatom/200901"
-		schemaLocation="CMIS-RestAtom.xsd" />
 
 	<xs:element name="service" type="app:appServiceType"></xs:element>
 	<xs:complexType name="appServiceType">
@@ -84,4 +84,4 @@
 		</xs:restriction>
 	</xs:simpleType>
 </xs:schema>
-	<!-- EOF -->
+	<!-- EOF -->
\ No newline at end of file

Modified: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd Wed Oct 28 11:54:22 2009
@@ -3,20 +3,21 @@
 		-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
 		Specification Version 11
 	-->
+	<!--
+		$Revision: 34 $
+		$Date: 2009-08-07 15:20:47 -0700 (Fri, 07 Aug 2009) $
+		$Author: albertcbrown $
+		$HeadURL: http://tools.oasis-open.org/version-control/svn/cmis/trunk/SchemaProject/schema/ATOM.xsd $
+	-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 	elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/Atom"
 	xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"
-	xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200901" xmlns:xml="http://www.w3.org/XML/1998/namespace"
+	xmlns:xml="http://www.w3.org/XML/1998/namespace"
 	xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
-	xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200901"
 	jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1" version="0.62d">
 
 	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
 		schemaLocation="xml.xsd" />
-	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/core/200901"
-		schemaLocation="CMIS-Core.xsd" />
-	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/restatom/200901"
-		schemaLocation="CMIS-RestAtom.xsd" />
 
 	<!-- Common attributes -->
 	<xs:attributeGroup name="atomCommonAttributes">
@@ -444,4 +445,4 @@
 		</xs:sequence>
 	</xs:group>
 </xs:schema>
-	<!-- EOF -->
+	<!-- EOF -->
\ No newline at end of file

Modified: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd?rev=830511&r1=830510&r2=830511&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd Wed Oct 28 11:54:22 2009
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 	<!--
-		Common CMIS XSD
+		$Revision: 137 $ $Date: 2009-10-21 15:50:27 -0700 (Wed, 21 Oct 2009) $
+		$Author: albertcbrown $ $HeadURL:
+		http://tools.oasis-open.org/version-control/svn/cmis/trunk/SchemaProject/schema/CMIS-Core.xsd
+		$
 	-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/core/200901"
+	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/200901" version="0.62f">
-	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
-		schemaLocation="xml.xsd" />
+	xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" version="1.0">
 
 	<!--  enums -->
 	<xs:simpleType name="enumDecimalPrecision">
@@ -37,6 +38,14 @@
 			<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">
@@ -47,10 +56,8 @@
 			<xs:enumeration value="datetime" />
 			<xs:enumeration value="decimal" />
 			<xs:enumeration value="html" />
-			<xs:enumeration value="xhtml" />
 			<xs:enumeration value="string" />
 			<xs:enumeration value="uri" />
-			<xs:enumeration value="xml" />
 		</xs:restriction>
 	</xs:simpleType>
 	<xs:simpleType name="enumBaseObjectTypeIds">
@@ -80,33 +87,20 @@
 	<xs:simpleType name="enumCapabilityContentStreamUpdates">
 		<xs:restriction base="xs:string">
 			<xs:enumeration value="anytime" />
-			<xs:enumeration value="pwc-only" />
-		</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: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="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="enumUnfileObject">
 		<xs:restriction base="xs:string">
 			<xs:enumeration value="unfile" />
@@ -133,53 +127,54 @@
 	<!--  properties in CMIS -->
 	<xs:simpleType name="enumPropertiesBase">
 		<xs:restriction base="xs:string">
-			<xs:enumeration value="cmis:Name" />
-			<xs:enumeration value="cmis:ObjectId" />
-			<xs:enumeration value="cmis:ObjectTypeId" />
-			<xs:enumeration value="cmis:BaseTypeId" />
-			<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:enumeration value="cmis:name" />
+			<xs:enumeration value="cmis:objectId" />
+			<xs:enumeration value="cmis:objectTypeId" />
+			<xs:enumeration value="cmis:baseTypeId" />
+			<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: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:enumeration value="cmis:isImmutable" />
+			<xs:enumeration value="cmis:isLatestVersion" />
+			<xs:enumeration value="cmis:isMajorVersion" />
+			<xs:enumeration value="cmis:isLatestMajorVersion" />
+			<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:AllowedChildObjectTypeNames" />
+			<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: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:enumeration value="cmis:policyText" />
 		</xs:restriction>
 	</xs:simpleType>
 
@@ -187,30 +182,17 @@
 		<xs:anyAttribute namespace="##other" processContents="lax" />
 	</xs:attributeGroup>
 
-	<!--  for propertyIds -->
-	<xs:attribute name="href" type="xs:anyURI" />
-
 	<!--  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="allowableActions" type="cmis:cmisAllowableActionsType"
+				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:annotation>
-					<xs:documentation>
-						This holds the children objects of this folder. This is used only in
-						the Web Service binding. In the REST/AtomPub binding, an atom
-						extension element is used.
-				</xs:documentation>
-				</xs:annotation>
-			</xs:element>
-
 			<!--  if change log -->
 			<xs:element name="changeEventInfo" type="cmis:cmisChangeEventType"
 				minOccurs="0" maxOccurs="1" />
@@ -218,27 +200,25 @@
 			<!--  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>
 
-	<!--  anyther 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>
 
 	<!-- property bag -->
 	<xs:attribute name="key" type="xs:string" />
@@ -264,14 +244,10 @@
 					nillable="true" />
 				<xs:element name="propertyHtml" type="cmis:cmisPropertyHtml"
 					nillable="true" />
-				<xs:element name="propertyXhtml" type="cmis:cmisPropertyXhtml"
-					nillable="true" />
 				<xs:element name="propertyString" type="cmis:cmisPropertyString"
 					nillable="true" />
 				<xs:element name="propertyUri" type="cmis:cmisPropertyUri"
 					nillable="true" />
-				<xs:element name="propertyXml" type="cmis:cmisPropertyXml"
-					nillable="true" />
 			</xs:choice>
 			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
 				processContents="lax" />
@@ -282,9 +258,44 @@
 
 	<!-- start the prop definitions -->
 	<xs:complexType name="cmisProperty">
-		<xs:attribute name="pdid" use="required" />
-		<xs:attribute name="localname" use="optional" />
-		<xs:attribute name="displayname" use="optional" />
+		<xs:attribute name="propertyDefinitionId" 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" 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" 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" 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">
@@ -304,7 +315,6 @@
 					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
 						type="xs:string" />
 				</xs:sequence>
-				<xs:attribute ref="cmis:href" use="optional" />
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
@@ -342,35 +352,14 @@
 		<xs:complexContent>
 			<xs:extension base="cmis:cmisProperty">
 				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="cmisPropertyXhtml">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisProperty">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:string" />
 				</xs:sequence>
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
 
+
 	<xs:complexType name="cmisPropertyString">
 		<xs:complexContent>
 			<xs:extension base="cmis:cmisProperty">
@@ -391,22 +380,7 @@
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
-	<xs:complexType name="cmisPropertyXml">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisProperty">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
+
 
 	<!-- cmis choice -->
 	<xs:complexType name="cmisChoice">
@@ -419,6 +393,8 @@
 				<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>
@@ -429,8 +405,9 @@
 				<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:attribute ref="cmis:href" use="optional" />
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
@@ -440,6 +417,8 @@
 				<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>
@@ -450,6 +429,8 @@
 				<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>
@@ -460,6 +441,8 @@
 				<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>
@@ -468,40 +451,23 @@
 		<xs:complexContent>
 			<xs:extension base="cmis:cmisChoice">
 				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="cmisChoiceXhtml">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisChoice">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
+					<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>
@@ -512,26 +478,14 @@
 				<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>
-	<xs:complexType name="cmisChoiceXml">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisChoice">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
-						<xs:complexType>
-							<xs:sequence>
-								<xs:any minOccurs="0" maxOccurs="unbounded"
-									processContents="lax" namespace="##other" />
-							</xs:sequence>
-						</xs:complexType>
-					</xs:element>
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
+
 
 	<!--  allowable actions -->
 	<xs:complexType name="cmisAllowableActionsType">
@@ -540,9 +494,11 @@
 				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="canGetRelationships" type="xs:boolean"
+			<xs:element name="canGetObjectRelationships" type="xs:boolean"
 				minOccurs="0" maxOccurs="1" />
 			<xs:element name="canGetObjectParents" type="xs:boolean"
 				minOccurs="0" maxOccurs="1" />
@@ -606,6 +562,18 @@
 	</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>
+
 
 	<!-- Property Attributes -->
 	<xs:complexType name="cmisPropertyDefinitionType">
@@ -698,6 +666,7 @@
 				<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" />
 
@@ -737,19 +706,6 @@
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
-	<xs:complexType name="cmisPropertyXhtmlDefinitionType">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisPropertyDefinitionType">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
-						type="cmis:cmisPropertyXhtml" />
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
-						type="cmis:cmisChoiceXhtml" />
-
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
 	<xs:complexType name="cmisPropertyStringDefinitionType">
 		<xs:complexContent>
 			<xs:extension base="cmis:cmisPropertyDefinitionType">
@@ -778,24 +734,10 @@
 			</xs:extension>
 		</xs:complexContent>
 	</xs:complexType>
-	<xs:complexType name="cmisPropertyXmlDefinitionType">
-		<xs:complexContent>
-			<xs:extension base="cmis:cmisPropertyDefinitionType">
-				<xs:sequence>
-					<xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
-						type="cmis:cmisPropertyXml" />
-					<xs:element name="schemaURI" type="xs:anyURI" minOccurs="0"
-						maxOccurs="1" />
-					<xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
-						type="cmis:cmisChoiceXml" />
 
-				</xs:sequence>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
 
 	<!-- type definition -->
-	<xs:complexType name="cmisTypeDefinitionType" abstract="false">
+	<xs:complexType name="cmisTypeDefinitionType">
 		<xs:sequence>
 			<!--  primary identifying attribute -->
 			<xs:element name="id" type="xs:string" minOccurs="1"
@@ -803,7 +745,7 @@
 			<xs:element name="localName" type="xs:string" minOccurs="1"
 				maxOccurs="1" />
 			<xs:element name="localNamespace" type="xs:anyURI"
-				minOccurs="0" maxOccurs="1" />
+				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"
@@ -812,12 +754,20 @@
 				maxOccurs="1" />
 
 			<!--  base type -->
-			<xs:element name="baseTypeId" type="cmis:enumBaseObjectTypeIds"
+			<xs:element name="baseId" type="cmis:enumBaseObjectTypeIds"
 				minOccurs="1" maxOccurs="1" />
 
 			<!-- parent -->
 			<xs:element name="parentId" type="xs:string" minOccurs="0"
-				maxOccurs="1" />
+				maxOccurs="1">
+				<xs:annotation>
+					<xs:documentation>
+						This is the id for the parent type definition. If
+						this is a base type,
+						this is not present.
+			</xs:documentation>
+				</xs:annotation>
+			</xs:element>
 
 			<!-- flags -->
 			<xs:element name="creatable" type="xs:boolean" minOccurs="1"
@@ -826,7 +776,7 @@
 				maxOccurs="1" />
 			<xs:element name="queryable" type="xs:boolean" minOccurs="1"
 				maxOccurs="1" />
-			<xs:element name="fulltextindexed" type="xs:boolean"
+			<xs:element name="fulltextIndexed" type="xs:boolean"
 				minOccurs="1" maxOccurs="1" />
 			<xs:element name="includedInSupertypeQuery" type="xs:boolean"
 				minOccurs="1" maxOccurs="1" default="true" />
@@ -851,9 +801,7 @@
 				<xs:element name="propertyIdDefinition" type="cmis:cmisPropertyIdDefinitionType" />
 				<xs:element name="propertyIntegerDefinition" type="cmis:cmisPropertyIntegerDefinitionType" />
 				<xs:element name="propertyHtmlDefinition" type="cmis:cmisPropertyHtmlDefinitionType" />
-				<xs:element name="propertyXhtmlDefinition" type="cmis:cmisPropertyXhtmlDefinitionType" />
 				<xs:element name="propertyStringDefinition" type="cmis:cmisPropertyStringDefinitionType" />
-				<xs:element name="propertyXmlDefinition" type="cmis:cmisPropertyXmlDefinitionType" />
 				<xs:element name="propertyUriDefinition" type="cmis:cmisPropertyUriDefinitionType" />
 			</xs:choice>
 
@@ -916,19 +864,20 @@
 				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:element name="includeAllowableActions" type="xs:boolean"
-				minOccurs="0" maxOccurs="1" nillable="true" />
-			<xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
-				minOccurs="0" maxOccurs="1" nillable="true" />
-			<xs:element name="includeRenditions" type="xs:boolean"
-				minOccurs="0" maxOccurs="1" nillable="true" />
-
-			<xs:any maxOccurs="unbounded" minOccurs="1" namespace="##other"
+			<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
 				processContents="lax" />
 		</xs:sequence>
 		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
@@ -943,8 +892,6 @@
 				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"
@@ -954,7 +901,8 @@
 			<xs:element name="productVersion" type="xs:string"
 				minOccurs="1" maxOccurs="1" />
 			<xs:element name="rootFolderId" type="xs:string" />
-			<xs:element name="latestChangeToken" type="xs:string" />
+			<xs:element name="latestChangeLogToken" type="xs:string"
+				minOccurs="0" />
 			<xs:element name="capabilities" type="cmis:cmisRepositoryCapabilitiesType"
 				minOccurs="1" maxOccurs="1" />
 			<xs:element name="aclCapability" type="cmis:cmisACLCapabilityType"
@@ -963,9 +911,38 @@
 				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:any namespace="##other" processContents="lax" minOccurs="0"
 				maxOccurs="unbounded" />
@@ -976,22 +953,24 @@
 	<xs:complexType name="cmisRepositoryCapabilitiesType">
 		<xs:sequence>
 			<xs:element name="capabilityACL" type="cmis:enumCapabilityACL"
-				maxOccurs="1" minOccurs="0" />
+				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="capabilityChangesOnType" type="cmis:enumBaseObjectTypeIds"
-				minOccurs="1" maxOccurs="unbounded" />
+
 			<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="capabilityMultifiling" type="xs:boolean"
 				minOccurs="1" maxOccurs="1" />
 			<xs:element name="capabilityPWCSearchable" type="xs:boolean"
 				minOccurs="1" maxOccurs="1" />
-			<xs:element name="capabilityPWCUpdateable" type="xs:boolean"
+			<xs:element name="capabilityPWCUpdatable" type="xs:boolean"
 				minOccurs="1" maxOccurs="1" />
 			<xs:element name="capabilityQuery" type="cmis:enumCapabilityQuery"
 				minOccurs="1" maxOccurs="1" />
@@ -1028,7 +1007,7 @@
 	<xs:simpleType name="enumCapabilityChanges">
 		<xs:restriction base="xs:string">
 			<xs:enumeration value="none" />
-			<xs:enumeration value="objectIdsOnly" />
+			<xs:enumeration value="objectidsonly" />
 			<xs:enumeration value="properties" />
 			<xs:enumeration value="all" />
 		</xs:restriction>
@@ -1050,8 +1029,8 @@
 	<!-- ACL -->
 	<xs:simpleType name="enumACLPropagation">
 		<xs:restriction base="xs:string">
-			<xs:enumeration value="repository-determined" />
-			<xs:enumeration value="object-only" />
+			<xs:enumeration value="repositorydetermined" />
+			<xs:enumeration value="objectonly" />
 			<xs:enumeration value="propagate" />
 		</xs:restriction>
 	</xs:simpleType>
@@ -1068,7 +1047,6 @@
 		<xs:restriction base="xs:string">
 			<xs:enumeration value="cmis:read" />
 			<xs:enumeration value="cmis:write" />
-			<xs:enumeration value="cmis:delete" />
 			<xs:enumeration value="cmis:all" />
 		</xs:restriction>
 	</xs:simpleType>
@@ -1078,15 +1056,28 @@
 			<xs:element name="permission" type="xs:string" />
 			<xs:element name="description" type="xs:string" minOccurs="0"
 				maxOccurs="1" />
-			<xs:any namespace="##other" processContents="lax" maxOccurs="unbounded" />
+			<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="1" />
-			<xs:any namespace="##other" />
+			<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>
 
@@ -1123,7 +1114,7 @@
 			<xs:enumeration value="canCancelCheckout.Document" />
 			<xs:enumeration value="canCheckin.Document" />
 			<xs:enumeration value="canGetAllVersions.VersionSeries" />
-			<xs:enumeration value="canGetRelationship.Object" />
+			<xs:enumeration value="canGetObjectRelationships.Object" />
 			<xs:enumeration value="canAddPolicy.Object" />
 			<xs:enumeration value="canAddPolicy.Policy" />
 			<xs:enumeration value="canRemovePolicy.Object" />
@@ -1134,22 +1125,39 @@
 		</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" maxOccurs="unbounded" />
+			<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" />
+			<xs:element name="permission" type="xs:string" minOccurs="1"
+				maxOccurs="unbounded" />
 			<xs:element name="direct" type="xs:boolean" />
 
-			<xs:any namespace="##other" maxOccurs="unbounded" />
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
 		</xs:sequence>
 	</xs:complexType>
 
@@ -1157,13 +1165,14 @@
 		<xs:sequence>
 			<xs:element name="permission" type="cmis:cmisAccessControlEntryType"
 				minOccurs="1" maxOccurs="unbounded" />
-			<xs:any namespace="##other" 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="setType" type="cmis:enumACLPropagation" />
+			<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"
@@ -1188,15 +1197,17 @@
 	<xs:complexType name="cmisRenditionType">
 		<xs:sequence>
 			<xs:element name="streamId" type="xs:string" />
-			<xs:element name="mimetype" type="xs:string" minOccurs="0" />
-			<xs:element name="length" type="xs:integer" minOccurs="0" />
+			<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="kind" 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" />
+
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
 		</xs:sequence>
 	</xs:complexType>
 
@@ -1226,4 +1237,4 @@
 		</xs:annotation>
 	</xs:element>
 </xs:schema>
-	<!-- EOF -->
+	<!-- EOF -->
\ No newline at end of file