You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by dc...@apache.org on 2009/10/09 19:25:21 UTC

svn commit: r823626 [2/8] - in /incubator/chemistry/trunk/chemistry: chemistry-tck-atompub/ chemistry-tck-atompub/src/main/java/org/apache/chemistry/abdera/ext/ chemistry-tck-atompub/src/main/java/org/apache/chemistry/tck/atompub/client/ chemistry-tck-...

Modified: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-Core.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-Core.xsd?rev=823626&r1=823625&r2=823626&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-Core.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-Core.xsd Fri Oct  9 17:25:19 2009
@@ -1,13 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 	<!--
-		Common CMIS XSD
+		$Revision: 102 $ $Date: 2009-09-21 19:39:42 +0100 (Mon, 21 Sep 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">
+	xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" version="0.63">
+
 	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
 		schemaLocation="xml.xsd" />
 
@@ -37,6 +41,7 @@
 			<xs:enumeration value="readonly" />
 			<xs:enumeration value="readwrite" />
 			<xs:enumeration value="whencheckedout" />
+			<xs:enumeration value="oncreate" />
 		</xs:restriction>
 	</xs:simpleType>
 	<xs:simpleType name="enumPropertyType">
@@ -47,10 +52,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 +83,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 +123,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 +178,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" />
+				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 +196,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 +240,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 +254,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 +311,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 +348,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 +376,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 +389,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 +401,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 +413,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 +425,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 +437,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 +447,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 +474,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">
@@ -542,7 +492,7 @@
 				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 +556,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">
@@ -737,19 +699,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 +727,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 +738,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 +747,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 +769,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 +794,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>
 
@@ -891,9 +832,9 @@
 			<xs:extension base="cmis:cmisTypeDefinitionType">
 				<xs:sequence>
 					<xs:element name="allowedSourceTypes" type="xs:string"
-						minOccurs="0" maxOccurs="unbounded" />
+						minOccurs="1" maxOccurs="unbounded" />
 					<xs:element name="allowedTargetTypes" type="xs:string"
-						minOccurs="0" maxOccurs="unbounded" />
+						minOccurs="1" maxOccurs="unbounded" />
 				</xs:sequence>
 			</xs:extension>
 		</xs:complexContent>
@@ -916,19 +857,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 +885,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 +894,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 +904,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 +946,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 +1000,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 +1022,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 +1040,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 +1049,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 +1107,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 +1118,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 +1158,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 +1190,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>
 

Modified: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-RestAtom.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-RestAtom.xsd?rev=823626&r1=823625&r2=823626&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-RestAtom.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/CMIS-RestAtom.xsd Fri Oct  9 17:25:19 2009
@@ -1,30 +1,45 @@
 <?xml version="1.0" encoding="UTF-8"?>
 	<!--
-		Common CMIS XSD
+		$Revision: 122 $ $Date: 2009-09-25 20:25:29 +0100 (Fri, 25 Sep 2009) $
+		$Author: albertcbrown $ $HeadURL:
+		http://tools.oasis-open.org/version-control/svn/cmis/trunk/SchemaProject/schema/CMIS-RestAtom.xsd
+		$
 	-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/restatom/200901"
+	elementFormDefault="qualified"
+	targetNamespace="http://docs.oasis-open.org/ns/cmis/restatom/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"
-	xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200901"
-	version="0.62f">
-	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/core/200901"
+	xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
+	xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
+	version="0.63">
+	<xs:import namespace="http://docs.oasis-open.org/ns/cmis/core/200908/"
 		schemaLocation="CMIS-Core.xsd" />
 	<xs:import namespace="http://www.w3.org/2005/Atom"
 		schemaLocation="ATOM.xsd" />
-	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
-		schemaLocation="xml.xsd" />
 
-	<!--
-		should be a member of enumRepositoryRelationship. However, it can be
-		extended, so not constrained.
-	-->
-	<xs:attribute name="repositoryRelationship" type="xs:string" />
-	<xs:attribute name="collectionType" type="cmisra:enumCollectionType" />
-	<xs:attribute name="id" type="xs:string" />
-	<xs:attribute name="renditionType" type="xs:string" />
+
+	<xs:attribute name="id" type="xs:string">
+		<xs:annotation>
+			<xs:documentation>
+				This attribute MAY be used on XML elements that refer to a CMIS resources.  Examples are:
+				- atom:link
+				- cmis:type
+			</xs:documentation>
+		</xs:annotation>
+	</xs:attribute>
+	
+	<xs:attribute name="renditionKind" type="xs:string">
+		<xs:annotation>
+			<xs:documentation>
+				This is the AtomPub extension attribute that will
+				be
+				used to specify the rendition kind of a link with relation
+				alternate if it is a CMIS Rendition.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:attribute>
 
 	<xs:element name="repositoryInfo" type="cmis:cmisRepositoryInfoType">
 		<xs:annotation>
@@ -37,6 +52,23 @@
 		</xs:annotation>
 	</xs:element>
 
+	<xs:element name="collectionType" type="xs:string">
+		<xs:annotation>
+			<xs:documentation>
+				This is the AtomPub extension element that will be
+				used to express the CMIS collection type.
+				This is only valid inside
+				an app:collection element.
+				Valid values are in
+				enumCollectionType. If
+				the value is not in enumCollectionType, then
+				it denotes a
+				repository-specific relationship.
+				
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+
 	<xs:element name="type" type="cmis:cmisTypeDefinitionType">
 		<xs:annotation>
 			<xs:documentation>
@@ -57,6 +89,21 @@
 		</xs:annotation>
 	</xs:element>
 
+	<xs:element name="numItems" type="xs:integer">
+		<xs:annotation>
+			<xs:documentation>
+				This is the Atom extension element that will be
+				used to express the number of items in a feed if known.
+
+				This may only
+				be used as an extension to the Feed.
+
+				Reference - numItems from Part
+				I.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+
 	<xs:simpleType name="enumCollectionType">
 		<xs:restriction base="xs:string">
 			<xs:enumeration value="root" />
@@ -70,9 +117,10 @@
 
 	<xs:simpleType name="enumUriTemplateType">
 		<xs:restriction base="xs:string">
-			<xs:enumeration value="entrybyid" />
-			<xs:enumeration value="folderbypath" />
+			<xs:enumeration value="objectbyid" />
+			<xs:enumeration value="objectbypath" />
 			<xs:enumeration value="query" />
+			<xs:enumeration value="typebyid" />
 		</xs:restriction>
 	</xs:simpleType>
 
@@ -103,6 +151,94 @@
 		</xs:annotation>
 	</xs:element>
 
+	<xs:element name="pathSegment" type="xs:string">
+		<xs:annotation>
+			<xs:documentation>
+				This is the AtomPub extension element that will be
+				used to contain the path segment for this object in a particular
+				folder. This element MAY only be specified in an atom:entry inside
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+
+	<xs:element name="relativePathSegment" type="xs:string">
+		<xs:annotation>
+			<xs:documentation>
+				This is the AtomPub extension element that will be
+				used to contain the path segment for this object for the particular
+				folder returned in the Object Parents feed.
+				Unlike pathSegment which
+				is set on the atom entry when contained in a feed for a folder, this
+				is set on an atom entry representing a folder for a parents feed on
+				the object.
+
+				This element MAY only be specified in an atom:entry
+				representing a folder
+				inside an object parents feed.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+
+	<xs:complexType name="cmisContentType">
+		<xs:sequence>
+			<xs:element name="mediatype" type="xs:string" />
+			<xs:element name="base64" type="xs:string" />
+			<xs:any processContents="lax" namespace="##other" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:element name="content" type="cmisra:cmisContentType">
+		<xs:annotation>
+			<xs:documentation>
+				This is the AtomPub extension element that will be
+				used to contain the base64 content inside an atom entry.
+
+				This is used
+				to convey the content on creation or update via AtomPub as
+				an
+				alternate mechanism.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+
+	<xs:simpleType name="enumReturnVersion">
+		<xs:annotation>
+			<xs:documentation>
+				This is an enumeration used for specifying the
+				version to return on a GET of an atom entry via URI argument.
+			</xs:documentation>
+		</xs:annotation>
+
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="this">
+				<xs:annotation>
+					<xs:documentation>
+						This is getObject service for the version specified
+			</xs:documentation>
+				</xs:annotation>
+
+			</xs:enumeration>
+			<xs:enumeration value="latest">
+				<xs:annotation>
+					<xs:documentation>
+						This is the same as major==false on
+						getObjectOfLatestVersion
+					</xs:documentation>
+				</xs:annotation>
+
+			</xs:enumeration>
+			<xs:enumeration value="latestmajor">
+				<xs:annotation>
+					<xs:documentation>
+						This is the same as major==true on
+						getObjectOfLatestVersion
+					</xs:documentation>
+				</xs:annotation>
+			</xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+
 
 	<xs:simpleType name="enumLinkRelations">
 		<xs:restriction base="xs:string">
@@ -112,6 +248,7 @@
 			<xs:enumeration value="via" />
 			<xs:enumeration value="up" />
 			<xs:enumeration value="down" />
+			<xs:enumeration value="alternate" />
 			<xs:enumeration value="version-history" />
 			<xs:enumeration value="current-version" />
 			<xs:enumeration value="working-copy" />
@@ -122,11 +259,11 @@
 			<xs:enumeration value="first" />
 			<xs:enumeration value="last" />
 			<xs:enumeration value="next" />
-			<xs:enumeration value="prev" />
+			<xs:enumeration value="previous" />
 
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_ALLOWABLEACTIONS" />
@@ -135,7 +272,7 @@
 			</xs:enumeration>
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/relationships">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/relationships">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_RELATIONSHIPS" />
@@ -145,7 +282,7 @@
 
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/source">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/source">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_SOURCE" />
@@ -154,7 +291,7 @@
 			</xs:enumeration>
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/target">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/target">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_TARGET" />
@@ -163,7 +300,7 @@
 			</xs:enumeration>
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/policies">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/policies">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_POLICIES" />
@@ -171,7 +308,7 @@
 				</xs:annotation>
 			</xs:enumeration>
 
-			<xs:enumeration value="http://docs.oasis-open.org/ns/cmis/link/200901/acl">
+			<xs:enumeration value="http://docs.oasis-open.org/ns/cmis/link/200908/acl">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_ACL" />
@@ -182,7 +319,7 @@
 
 			<!--  changes -->
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/changes">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/changes">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_CHANGES" />
@@ -193,7 +330,7 @@
 
 			<!--  folder tree -->
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/foldertree">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_FOLDERTREE" />
@@ -205,16 +342,16 @@
 
 			<!--  types descendants -->
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/typesdescendants">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants">
 				<xs:annotation>
 					<xs:appinfo>
-						<jaxb:typesafeEnumMember name="CMIS_TYPESDESCENDANTS" />
+						<jaxb:typesafeEnumMember name="CMIS_TYPEDESCENDANTS" />
 					</xs:appinfo>
 				</xs:annotation>
 			</xs:enumeration>
 
 			<xs:enumeration
-				value="http://docs.oasis-open.org/ns/cmis/link/200901/rootdescendants">
+				value="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants">
 				<xs:annotation>
 					<xs:appinfo>
 						<jaxb:typesafeEnumMember name="CMIS_ROOTDESCENDANTS" />
@@ -237,15 +374,19 @@
 			<xs:enumeration value="direction" />
 			<xs:enumeration value="filter" />
 			<xs:enumeration value="folderId" />
+			<xs:enumeration value="includeACL" />
 			<xs:enumeration value="includeAllowableActions" />
+			<xs:enumeration value="includeProperties" />
 			<xs:enumeration value="includePropertyDefinitions" />
+			<xs:enumeration value="includePolicyIds" />
 			<xs:enumeration value="includeRelationships" />
-			<xs:enumeration value="includeSubrelationshipTypes" />
+			<xs:enumeration value="includeSubRelationshipTypes" />
 			<xs:enumeration value="length" />
 			<xs:enumeration value="major" />
 			<xs:enumeration value="maxItems" />
-			<xs:enumeration value="offset" />
+      		<xs:enumeration value="overwriteFlag" />
 			<xs:enumeration value="removeFrom" />
+			<xs:enumeration value="relationshipDirection" />
 			<xs:enumeration value="relationshipType" />
 			<xs:enumeration value="repositoryId" />
 			<xs:enumeration value="returnVersion" />
@@ -253,7 +394,7 @@
 			<xs:enumeration value="thisVersion" />
 			<xs:enumeration value="typeId" />
 			<xs:enumeration value="types" />
-			<xs:enumeration value="unfileMultiFiledDocuments" />
+			<xs:enumeration value="unfileObject" />
 			<xs:enumeration value="versioningState" />
 		</xs:restriction>
 	</xs:simpleType>

Modified: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xml.xsd
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xml.xsd?rev=823626&r1=823625&r2=823626&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xml.xsd (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/main/resources/org/apache/chemistry/tck/atompub/xsd/xml.xsd Fri Oct  9 17:25:19 2009
@@ -1,4 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
+
+	<!--
+		$Revision: 34 $
+		$Date: 2009-08-07 23:20:47 +0100 (Fri, 07 Aug 2009) $
+		$Author: albertcbrown $
+		$HeadURL: http://tools.oasis-open.org/version-control/svn/cmis/trunk/SchemaProject/schema/xml.xsd $
+	-->
 <xsd:schema 
 targetNamespace="http://www.w3.org/XML/1998/namespace" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/abdera/ext/test/CMISContentTest.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/abdera/ext/test/CMISContentTest.java?rev=823626&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/abdera/ext/test/CMISContentTest.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/abdera/ext/test/CMISContentTest.java Fri Oct  9 17:25:19 2009
@@ -0,0 +1,54 @@
+package org.apache.chemistry.abdera.ext.test;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.activation.MimeType;
+
+import junit.framework.TestCase;
+
+import org.apache.abdera.model.Entry;
+import org.apache.chemistry.abdera.ext.CMISConstants;
+import org.apache.chemistry.abdera.ext.CMISContent;
+import org.apache.chemistry.tck.atompub.client.CMISAppModel;
+import org.apache.chemistry.tck.atompub.utils.ResourceLoader;
+
+public class CMISContentTest extends TestCase {
+    private CMISAppModel appModel;
+    private ResourceLoader examples;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        appModel = new CMISAppModel();
+        examples = new ResourceLoader("/org/apache/chemistry/abdera/ext/examples/");
+    }
+
+    public void testCMISContent() throws Exception {
+        String atomentry = examples.load("cmiscontent.xml");
+        Entry entry = appModel.parseEntry(new StringReader(atomentry), null);
+        CMISContent content = entry.getExtension(CMISConstants.CONTENT);
+        MimeType mediaType = content.getMediaType();
+        assertNotNull(mediaType);
+        assertEquals("text/plain", mediaType.toString());
+        InputStream contentStream = content.getContentStream();
+        assertNotNull(contentStream);
+        InputStreamReader reader = new InputStreamReader(contentStream);
+        StringWriter writer = new StringWriter();
+        try {
+            char[] buffer = new char[4096];
+            int bytesRead = -1;
+            while ((bytesRead = reader.read(buffer)) != -1) {
+                writer.write(buffer, 0, bytesRead);
+            }
+            writer.flush();
+        } finally {
+            reader.close();
+            writer.close();
+        }
+        assertEquals("Hello World", writer.toString());
+    }
+
+}

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/abdera/ext/test/CMISContentTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/CMISSchemaTest.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/CMISSchemaTest.java?rev=823626&r1=823625&r2=823626&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/CMISSchemaTest.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/java/org/apache/chemistry/tck/atompub/test/schema/CMISSchemaTest.java Fri Oct  9 17:25:19 2009
@@ -45,6 +45,11 @@
         examples = new ResourceLoader("/org/apache/chemistry/tck/atompub/examples/");
     }
 
+    public void testACL() throws Exception {
+        String xml = examples.load("ACL.xml");
+        assertValidXML(xml, cmisValidator.getCMISAtomValidator());
+    }
+
     public void testAllowableActions() throws Exception {
         String xml = examples.load("AllowableActions.xml");
         assertValidXML(xml, cmisValidator.getCMISAtomValidator());
@@ -105,6 +110,11 @@
         assertValidXML(xml, cmisValidator.getAppValidator());
     }
 
+    public void testTypeChildren() throws Exception {
+        String xml = examples.load("TypeChildren.xml");
+        assertValidXML(xml, cmisValidator.getCMISAtomValidator());
+    }
+    
     public void testTypeDocumentWith() throws Exception {
         String xml = examples.load("TypeDocumentWith.xml");
         assertValidXML(xml, cmisValidator.getCMISAtomValidator());
@@ -135,6 +145,16 @@
         assertValidXML(xml, cmisValidator.getCMISAtomValidator());
     }
 
+    public void testTypePolicyWith() throws Exception {
+        String xml = examples.load("TypePolicyWith.xml");
+        assertValidXML(xml, cmisValidator.getCMISAtomValidator());
+    }
+
+    public void testTypePolicyWithOut() throws Exception {
+        String xml = examples.load("TypePolicyWithout.xml");
+        assertValidXML(xml, cmisValidator.getCMISAtomValidator());
+    }
+
     /**
      * Assert XML is valid according to specified validator
      * 

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/abdera/ext/examples/cmiscontent.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/abdera/ext/examples/cmiscontent.xml?rev=823626&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/abdera/ext/examples/cmiscontent.xml (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/abdera/ext/examples/cmiscontent.xml Fri Oct  9 17:25:19 2009
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">
+  <cmisra:content>
+    <cmisra:mediatype>text/plain</cmisra:mediatype>
+    <cmisra:base64>SGVsbG8gV29ybGQ=</cmisra:base64>  <!--  content = Hello World -->
+  </cmisra:content>
+</entry>

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/abdera/ext/examples/cmiscontent.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/ACL.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/ACL.xml?rev=823626&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/ACL.xml (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/ACL.xml Fri Oct  9 17:25:19 2009
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<cmis:acl xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/">
+    <cmis:permission>
+        <cmis:principal>
+            <cmis:principalId>Al Brown</cmis:principalId>
+        </cmis:principal>
+        <cmis:permission>cmis:read</cmis:permission>
+        <cmis:permission>cmis:write</cmis:permission>
+        <cmis:permission>cmis:all</cmis:permission>
+        <cmis:permission>publish</cmis:permission>
+        <cmis:direct>true</cmis:direct>
+    </cmis:permission>
+</cmis:acl>

Propchange: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/ACL.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/AllowableActions.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/AllowableActions.xml?rev=823626&r1=823625&r2=823626&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/AllowableActions.xml (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tck-atompub/src/test/resources/org/apache/chemistry/tck/atompub/examples/AllowableActions.xml Fri Oct  9 17:25:19 2009
@@ -1,23 +1,22 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<cmis:allowableActions xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200901" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200901"
-  xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200901">
-  <cmis:canDeleteObject>true</cmis:canDeleteObject>
-  <cmis:canUpdateProperties>true</cmis:canUpdateProperties>
-  <cmis:canGetProperties>true</cmis:canGetProperties>
-  <cmis:canGetRelationships>true</cmis:canGetRelationships>
-  <cmis:canGetObjectParents>true</cmis:canGetObjectParents>
-  <cmis:canMoveObject>true</cmis:canMoveObject>
-  <cmis:canDeleteContentStream>true</cmis:canDeleteContentStream>
-  <cmis:canCheckOut>true</cmis:canCheckOut>
-  <cmis:canCancelCheckOut>true</cmis:canCancelCheckOut>
-  <cmis:canCheckIn>true</cmis:canCheckIn>
-  <cmis:canSetContentStream>true</cmis:canSetContentStream>
-  <cmis:canGetAllVersions>true</cmis:canGetAllVersions>
-  <cmis:canAddObjectToFolder>true</cmis:canAddObjectToFolder>
-  <cmis:canRemoveObjectFromFolder>true</cmis:canRemoveObjectFromFolder>
-  <cmis:canGetContentStream>true</cmis:canGetContentStream>
-  <cmis:canApplyPolicy>true</cmis:canApplyPolicy>
-  <cmis:canGetAppliedPolicies>true</cmis:canGetAppliedPolicies>
-  <cmis:canRemovePolicy>true</cmis:canRemovePolicy>
-  <cmis:canCreateDocument>true</cmis:canCreateDocument>
+<cmis:allowableActions xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/">
+    <cmis:canDeleteObject>true</cmis:canDeleteObject>
+    <cmis:canUpdateProperties>true</cmis:canUpdateProperties>
+    <cmis:canGetProperties>true</cmis:canGetProperties>
+    <cmis:canGetObjectRelationships>true</cmis:canGetObjectRelationships>
+    <cmis:canGetObjectParents>true</cmis:canGetObjectParents>
+    <cmis:canMoveObject>true</cmis:canMoveObject>
+    <cmis:canDeleteContentStream>true</cmis:canDeleteContentStream>
+    <cmis:canCheckOut>true</cmis:canCheckOut>
+    <cmis:canCancelCheckOut>true</cmis:canCancelCheckOut>
+    <cmis:canCheckIn>true</cmis:canCheckIn>
+    <cmis:canSetContentStream>true</cmis:canSetContentStream>
+    <cmis:canGetAllVersions>true</cmis:canGetAllVersions>
+    <cmis:canAddObjectToFolder>true</cmis:canAddObjectToFolder>
+    <cmis:canRemoveObjectFromFolder>true</cmis:canRemoveObjectFromFolder>
+    <cmis:canGetContentStream>true</cmis:canGetContentStream>
+    <cmis:canApplyPolicy>true</cmis:canApplyPolicy>
+    <cmis:canGetAppliedPolicies>true</cmis:canGetAppliedPolicies>
+    <cmis:canRemovePolicy>true</cmis:canRemovePolicy>
+    <cmis:canCreateDocument>true</cmis:canCreateDocument>
 </cmis:allowableActions>