chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fguilla...@apache.org
Subject svn commit: r773069 [4/6] - in /incubator/chemistry/trunk/chemistry: ./ chemistry-api/src/main/java/org/apache/chemistry/ chemistry-api/src/main/java/org/apache/chemistry/property/ chemistry-api/src/main/java/org/apache/chemistry/repository/ chemistry-...
Date Fri, 08 May 2009 19:52:44 GMT
Modified: incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/MainServlet.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/MainServlet.java?rev=773069&r1=773068&r2=773069&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/MainServlet.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/MainServlet.java Fri May  8 19:52:42 2009
@@ -20,11 +20,13 @@
 
 import javax.servlet.Servlet;
 
+import org.apache.chemistry.Repository;
 import org.apache.chemistry.atompub.server.CMISServlet;
-import org.apache.chemistry.repository.Repository;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.mortbay.jetty.Connector;
 import org.mortbay.jetty.Server;
+import org.mortbay.jetty.bio.SocketConnector;
 import org.mortbay.jetty.servlet.Context;
 import org.mortbay.jetty.servlet.ServletHolder;
 
@@ -38,24 +40,33 @@
 
     private static final Log log = LogFactory.getLog(MainServlet.class);
 
+    // use a fixed root id, this helps with caching in some clients
+    public static final String ROOT_ID = "b7666828-f1aa-41e1-9d0a-94a7898ae569";
+
     private static final int MINUTES = 60 * 1000; // in ms
 
+    public static final String HOST = "0.0.0.0";
+
     public static final int PORT = 8080;
 
     public static final String SERVLET_PATH = "/cmis";
 
     public static final String CMIS_SERVICE = "/repository";
 
- 
     public static void main(String[] args) throws Exception {
-        Repository repository = RepositoryTestFactory.makeRepository();
-        Server server = new Server(PORT);
+        Repository repository = RepositoryCreationHelper.makeRepository(ROOT_ID);
+        Server server = new Server();
+        Connector connector = new SocketConnector();
+        connector.setHost(HOST);
+        connector.setPort(PORT);
+        server.setConnectors(new Connector[] { connector });
         Servlet servlet = new CMISServlet(repository);
         ServletHolder servletHolder = new ServletHolder(servlet);
         Context context = new Context(server, SERVLET_PATH, Context.SESSIONS);
         context.addServlet(servletHolder, "/*");
         server.start();
-        String url = "http://localhost:" + PORT + SERVLET_PATH + CMIS_SERVICE;
+        String url = "http://" + HOST + ':' + PORT + SERVLET_PATH
+                + CMIS_SERVICE;
         log.info("CMIS server started, AtomPub service url: " + url);
         Thread.sleep(60 * MINUTES);
         server.stop();

Copied: incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryCreationHelper.java (from r773055, incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryTestFactory.java)
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryCreationHelper.java?p2=incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryCreationHelper.java&p1=incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryTestFactory.java&r1=773055&r2=773069&rev=773069&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryTestFactory.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/RepositoryCreationHelper.java Fri May  8 19:52:42 2009
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2006-2008 Nuxeo SAS (http://nuxeo.com/) and contributors.
+ * (C) Copyright 2009 Nuxeo SA (http://nuxeo.com/) and contributors.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the GNU Lesser General Public License
@@ -12,7 +12,7 @@
  * Lesser General Public License for more details.
  *
  * Contributors:
- *     matic
+ *     Florent Guillaume
  */
 package org.apache.chemistry.test;
 
@@ -20,38 +20,44 @@
 import java.io.InputStream;
 import java.util.Arrays;
 
+import org.apache.chemistry.BaseType;
 import org.apache.chemistry.Connection;
 import org.apache.chemistry.ContentStream;
+import org.apache.chemistry.ContentStreamPresence;
 import org.apache.chemistry.Document;
 import org.apache.chemistry.Folder;
+import org.apache.chemistry.PropertyDefinition;
+import org.apache.chemistry.PropertyType;
+import org.apache.chemistry.Repository;
+import org.apache.chemistry.Updatability;
 import org.apache.chemistry.impl.simple.SimpleContentStream;
 import org.apache.chemistry.impl.simple.SimplePropertyDefinition;
 import org.apache.chemistry.impl.simple.SimpleRepository;
 import org.apache.chemistry.impl.simple.SimpleType;
-import org.apache.chemistry.property.PropertyType;
-import org.apache.chemistry.property.Updatability;
-import org.apache.chemistry.type.BaseType;
-import org.apache.chemistry.type.ContentStreamPresence;
 
 /**
- * @author matic
+ * Helpers to create a basic repository.
  *
+ * @author Florent Guillaume
  */
-public class RepositoryTestFactory {
+public class RepositoryCreationHelper {
+
+    private RepositoryCreationHelper() {
+    }
 
     public static final String TEST_FILE_CONTENT = "This is a test file.\nTesting, testing...\n";
 
-    public static SimpleRepository makeRepository() throws IOException {
-        SimplePropertyDefinition p1 = new SimplePropertyDefinition("title",
+    public static Repository makeRepository(String rootId) throws IOException {
+        PropertyDefinition p1 = new SimplePropertyDefinition("title",
                 "def:title", "Title", "", false, PropertyType.STRING, false,
                 null, false, false, "", Updatability.READ_WRITE, true, true, 0,
                 null, null, -1, null, null);
-        SimplePropertyDefinition p2 = new SimplePropertyDefinition(
-                "description", "def:description", "Description", "", false,
+        PropertyDefinition p2 = new SimplePropertyDefinition("description",
+                "def:description", "Description", "", false,
                 PropertyType.STRING, false, null, false, false, "",
                 Updatability.READ_WRITE, true, true, 0, null, null, -1, null,
                 null);
-        SimplePropertyDefinition p3 = new SimplePropertyDefinition("date",
+        PropertyDefinition p3 = new SimplePropertyDefinition("date",
                 "def:date", "Date", "", false, PropertyType.DATETIME, false,
                 null, false, false, null, Updatability.READ_WRITE, true, true,
                 0, null, null, -1, null, null);
@@ -64,7 +70,7 @@
                 false, false, ContentStreamPresence.NOT_ALLOWED, null, null,
                 Arrays.asList(p1, p2));
         SimpleRepository repo = new SimpleRepository("test", Arrays.asList(dt,
-                ft));
+                ft), rootId);
         Connection conn = repo.getConnection(null);
         Folder root = conn.getRootFolder();
 

Added: incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml?rev=773069&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml Fri May  8 19:52:42 2009
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   Copyright 2009 Nuxeo SA <http://nuxeo.com>
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.chemistry</groupId>
+    <artifactId>chemistry-parent</artifactId>
+    <version>0.1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>chemistry-ws</artifactId>
+  <name>Chemistry WebServices</name>
+
+  <properties>
+    <cxf.version>2.2.1</cxf.version>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.chemistry</groupId>
+      <artifactId>chemistry-api</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.1</version>
+      <scope>runtime</scope>
+    </dependency>
+    <!-- TODO download
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jaxws_2.1_spec</artifactId>
+      <version>1.0</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+      <version>1.1.2</version>
+      <scope>runtime</scope>
+    </dependency>
+    -->
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>${cxf.version}</version>
+        <executions>
+          <execution>
+            <id>generate-sources</id>
+            <configuration>
+              <sourceRoot>${basedir}/target/generated</sourceRoot>
+              <wsdlOptions>
+                <wsdlOption>
+                  <wsdl>${basedir}/src/main/resources/wsdl/CMISWS-Service.wsdl</wsdl>
+                  <extraargs>
+                    <extraarg>-p</extraarg>
+                    <extraarg>org.apache.chemistry.ws</extraarg>
+                    <extraarg>-wsdlLocation</extraarg>
+                    <extraarg>wsdl/CMISWS-Service.wsdl</extraarg>
+                  </extraargs>
+                </wsdlOption>
+              </wsdlOptions>
+            </configuration>
+            <goals>
+              <goal>wsdl2java</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: 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=773069&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd Fri May  8 19:52:42 2009
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<!--
+		-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
+		Specification Version 11
+	-->
+<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:cmis="http://docs.oasis-open.org/ns/cmis/core/200901"
+	version="0.61">
+	<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:element name="service" type="app:appServiceType"></xs:element>
+	<xs:complexType name="appServiceType">
+		<xs:sequence>
+			<xs:element ref="atom:author" minOccurs="0" maxOccurs="1"></xs:element>
+			<xs:element ref="app:workspace" minOccurs="1" maxOccurs="unbounded"></xs:element>
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+				namespace="##other" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:element name="workspace" type="app:appWorkspaceType"></xs:element>
+	<xs:complexType name="appWorkspaceType">
+		<xs:sequence>
+			<xs:element ref="atom:title"></xs:element>
+			<xs:element ref="cmis:repositoryInfo" minOccurs="0"
+				maxOccurs="1"></xs:element>
+			<xs:element ref="app:collection" minOccurs="0" maxOccurs="unbounded"></xs:element>
+		</xs:sequence>
+		<xs:attribute ref="cmis:id"></xs:attribute>
+		<xs:attribute ref="cmis:repositoryRelationship" use="optional"></xs:attribute>
+	</xs:complexType>
+	<xs:element name="collection" type="app:appCollectionType"></xs:element>
+	<xs:complexType name="appCollectionType">
+		<xs:sequence>
+			<xs:element ref="atom:title"></xs:element>
+			<xs:element name="accept" type="xs:string" minOccurs="0"
+				maxOccurs="unbounded" />
+			<xs:element name="categories" type="app:appCategoriesType"
+				minOccurs="0" maxOccurs="unbounded" />
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+				namespace="##other" />
+		</xs:sequence>
+		<xs:attribute ref="cmis:collectionType"></xs:attribute>
+		<xs:attribute name="href" type="xs:anyURI"></xs:attribute>
+	</xs:complexType>
+	<xs:complexType name="appCategoriesType">
+		<xs:sequence>
+			<xs:element name="category" type="app:appCategoryType"
+				minOccurs="0" maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attribute name="fixed" type="xs:boolean" />
+	</xs:complexType>
+	<xs:complexType name="appCategoryType">
+		<xs:sequence>
+		</xs:sequence>
+		<xs:attribute name="scheme" type="xs:anyURI" />
+		<xs:attribute name="term" type="xs:string" />
+		<xs:attribute name="label" type="xs:string" />
+	</xs:complexType>
+</xs:schema>
+<!-- EOF -->

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/APP.xsd
------------------------------------------------------------------------------
    svn:keywords = Id

Added: 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=773069&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd Fri May  8 19:52:42 2009
@@ -0,0 +1,435 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<!--
+		-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
+		Specification Version 11
+	-->
+<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: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" version="0.61">
+	<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" />
+
+	<!-- Common attributes -->
+	<xs:attributeGroup name="atomCommonAttributes">
+		<xs:attribute ref="xml:base" />
+		<xs:attribute ref="xml:lang" />
+		<xs:attributeGroup ref="atom:undefinedAttribute" />
+	</xs:attributeGroup>
+	<!-- Text Constructs -->
+	<xs:attributeGroup name="atomPlainTextConstruct">
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		<xs:attribute name="type">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="text" />
+					<xs:enumeration value="html" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:group name="atomXHTMLTextConstruct">
+		<xs:sequence>
+			<xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/1999/xhtml" />
+		</xs:sequence>
+	</xs:group>
+	<xs:attributeGroup name="atomXHTMLTextConstruct">
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		<xs:attribute name="type" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="xhtml" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:complexType name="atomTextConstruct" mixed="true">
+		<xs:group minOccurs="0" ref="atom:atomXHTMLTextConstruct" />
+		<xs:attribute name="type">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="text" />
+					<xs:enumeration value="html" />
+					<xs:enumeration value="xhtml" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+	</xs:complexType>
+	<!-- Person Construct -->
+	<xs:complexType name="atomPersonConstruct">
+		<xs:sequence>
+			<xs:element ref="atom:name" minOccurs="0" maxOccurs="1" />
+			<xs:element ref="atom:uri" minOccurs="0" maxOccurs="1" />
+			<xs:element ref="atom:email" minOccurs="0" maxOccurs="1" />
+			<xs:group ref="atom:extensionElement" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+	</xs:complexType>
+	<xs:element name="name" type="xs:string" />
+	<xs:element name="uri" type="xs:string" />
+	<xs:element name="email" type="atom:atomEmailAddress" />
+	<!-- Date Construct -->
+	<xs:complexType name="atomDateConstruct">
+		<xs:simpleContent>
+			<xs:extension base="xs:dateTime">
+				<xs:attributeGroup ref="atom:atomCommonAttributes" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<!-- atom:feed -->
+	<xs:element name="feed" type="atom:feedType"></xs:element>
+	<xs:complexType name="feedType">
+		<xs:sequence>
+			<xs:element ref="atom:author" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element ref="atom:category" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element ref="atom:contributor" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element ref="atom:generator" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element ref="atom:icon" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element ref="atom:id" minOccurs="1" maxOccurs="1" />
+			<xs:element ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element ref="atom:logo" minOccurs="0" maxOccurs="1" />
+			<xs:element ref="atom:rights" minOccurs="0" maxOccurs="1" />
+			<xs:element ref="atom:subtitle" minOccurs="0" maxOccurs="1" />
+			<xs:element ref="atom:title" minOccurs="1" maxOccurs="1" />
+			<xs:element ref="atom:updated" minOccurs="1" maxOccurs="1" />
+			<xs:element minOccurs="0" maxOccurs="unbounded" ref="atom:entry" />
+
+			<!-- Start Atom's extension here -->
+			<xs:element ref="cmis:hasMoreItems" minOccurs="1"
+				maxOccurs="1" />
+				
+			<!--  original atom extension element -->
+			<xs:group ref="atom:extensionElement" />
+		</xs:sequence>
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+	</xs:complexType>
+	<!-- atom:entry -->
+	<xs:element name="entry" type="atom:entryType">
+	</xs:element>
+	<xs:complexType name="entryType">
+		<xs:sequence>
+			<xs:sequence>
+				<xs:element ref="atom:author" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element ref="atom:category" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element ref="atom:content" minOccurs="0" maxOccurs="1" />
+				<xs:element ref="atom:contributor" minOccurs="0"
+					maxOccurs="1" />
+				<xs:element ref="atom:id" minOccurs="1" maxOccurs="1" />
+				<xs:element ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element ref="atom:published" minOccurs="0" maxOccurs="1" />
+				<xs:element ref="atom:rights" minOccurs="0" maxOccurs="1" />
+				<xs:element ref="atom:source" minOccurs="0" maxOccurs="1" />
+				<xs:element ref="atom:summary" minOccurs="0" maxOccurs="1" />
+				<xs:element ref="atom:title" minOccurs="1" maxOccurs="1" />
+				<xs:element ref="atom:updated" minOccurs="1" maxOccurs="1" />
+					
+					
+				 <!-- CMIS type, optional if not CMIS  -->
+				<xs:choice minOccurs="0" maxOccurs="1">
+					<xs:choice minOccurs="0" maxOccurs="1">
+						<xs:annotation>
+							<xs:appinfo>
+								<jaxb:property name="type" />
+							</xs:appinfo>
+						</xs:annotation>
+						<xs:element ref="cmis:documentType" />
+						<xs:element ref="cmis:folderType" />
+						<xs:element ref="cmis:policyType" />
+						<xs:element ref="cmis:relationshipType" />
+					</xs:choice>
+
+				 	<!-- CMIS object, optional if not CMIS  -->
+					<xs:element ref="cmis:object" minOccurs="0" maxOccurs="1" />
+				</xs:choice>				
+				
+				<!-- This is necessary for nested entries such as descendants -->
+				<xs:element ref="atom:entry" minOccurs="0" maxOccurs="unbounded" />
+				
+				<!-- syntactic sugar -->
+				<xs:element ref="cmis:terminator" minOccurs="1"
+					maxOccurs="1" />
+				
+				
+				<!-- Normal ATOM extension element -->
+				<xs:group ref="atom:extensionElement" />
+			</xs:sequence>
+		</xs:sequence>
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+	</xs:complexType>
+
+	<!-- atom:content -->
+	<xs:attributeGroup name="atomInlineTextConstruct">
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		<xs:attribute name="type">
+			<xs:simpleType>
+				<xs:restriction base="xs:token">
+					<xs:enumeration value="text" />
+					<xs:enumeration value="html" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:group name="atomInlineOtherConstruct">
+		<xs:sequence>
+			<xs:group minOccurs="0" maxOccurs="unbounded" ref="atom:anyElement" />
+		</xs:sequence>
+	</xs:group>
+	<xs:attributeGroup name="atomInlineOtherConstruct">
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		<xs:attribute name="type">
+			<xs:simpleType>
+				<xs:union memberTypes="atom:atomMediaType">
+					<xs:simpleType>
+						<xs:restriction base="xs:token">
+							<xs:enumeration value="xhtml" />
+						</xs:restriction>
+					</xs:simpleType>
+				</xs:union>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:attributeGroup>
+	<xs:attributeGroup name="atomOutOfLineConstruct">
+		<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		<xs:attribute name="type" type="atom:atomMediaType" />
+		<xs:attribute name="src" use="required" />
+	</xs:attributeGroup>
+	<xs:element name="content">
+		<xs:complexType mixed="true">
+			<xs:group minOccurs="0" ref="atom:atomInlineOtherConstruct" />
+			<xs:attribute name="type">
+				<xs:simpleType>
+					<xs:union memberTypes="atom:atomMediaType">
+						<xs:simpleType>
+							<xs:restriction base="xs:token">
+								<xs:enumeration value="text" />
+								<xs:enumeration value="html" />
+							</xs:restriction>
+						</xs:simpleType>
+						<xs:simpleType>
+							<xs:union memberTypes="atom:atomMediaType">
+								<xs:simpleType>
+									<xs:restriction base="xs:token">
+										<xs:enumeration value="xhtml" />
+									</xs:restriction>
+								</xs:simpleType>
+							</xs:union>
+						</xs:simpleType>
+					</xs:union>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+			<xs:attribute name="src" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:author -->
+	<xs:element name="author" type="atom:atomPersonConstruct" />
+	<!-- atom:category -->
+	<xs:element name="category">
+		<xs:complexType>
+			<xs:complexContent>
+				<xs:extension base="atom:undefinedContent">
+					<xs:attributeGroup ref="atom:atomCommonAttributes" />
+					<xs:attribute name="term" use="required" />
+					<xs:attribute name="scheme" />
+					<xs:attribute name="label" />
+				</xs:extension>
+			</xs:complexContent>
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:contributor -->
+	<xs:element name="contributor" type="atom:atomPersonConstruct" />
+	<!-- atom:generator -->
+	<xs:element name="generator">
+		<xs:complexType mixed="true">
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+			<xs:attribute name="uri" />
+			<xs:attribute name="version" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:icon -->
+	<xs:element name="icon">
+		<xs:complexType mixed="true">
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:id -->
+	<xs:element name="id">
+		<xs:complexType mixed="true">
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:logo -->
+	<xs:element name="logo">
+		<xs:complexType mixed="true">
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:link -->
+	<xs:element name="link">
+		<xs:annotation>
+			<xs:documentation>
+				The "atom:link" element defines a reference from an
+				entry or feed to a Web resource. This specification
+				assigns no meaning to the content (if any) of this
+				element.
+			</xs:documentation>
+		</xs:annotation>
+		
+		<xs:complexType>
+			<xs:complexContent>
+				<xs:extension base="atom:undefinedContent">
+					<xs:attributeGroup ref="atom:atomCommonAttributes" />
+					<xs:attribute name="href" use="required" />
+					<xs:attribute name="rel"></xs:attribute>
+					<xs:attribute name="type" type="atom:atomMediaType" />
+					<xs:attribute name="hreflang" type="atom:atomLanguageTag" />
+					<xs:attribute name="title" />
+					<xs:attribute name="length" />
+					<xs:attribute ref="cmis:id" use="optional" />
+				</xs:extension>
+			</xs:complexContent>
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:published -->
+	<xs:element name="published" type="atom:atomDateConstruct" />
+	<!-- atom:rights -->
+	<xs:element name="rights" type="atom:atomTextConstruct" />
+	<!-- atom:source -->
+	<xs:element name="source">
+		<xs:annotation>
+			<xs:documentation>
+				atom:source is used to preserve metadata of a feed when
+				an entry is copied from a feed to another feed.
+			</xs:documentation>
+		</xs:annotation>
+		<xs:complexType>
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+				<xs:element ref="atom:author" />
+				<xs:element ref="atom:category" />
+				<xs:element ref="atom:contributor" />
+				<xs:element ref="atom:generator" />
+				<xs:element ref="atom:icon" />
+				<xs:element ref="atom:id" />
+				<xs:element ref="atom:link" />
+				<xs:element ref="atom:logo" />
+				<xs:element ref="atom:rights" />
+				<xs:element ref="atom:subtitle" />
+				<xs:element ref="atom:title" />
+				<xs:element ref="atom:updated" />
+				<xs:group ref="atom:extensionElement" />
+			</xs:choice>
+			<xs:attributeGroup ref="atom:atomCommonAttributes" />
+		</xs:complexType>
+	</xs:element>
+	<!-- atom:subtitle -->
+	<xs:element name="subtitle" type="atom:atomTextConstruct" />
+	<!-- atom:summary -->
+	<xs:element name="summary" type="atom:atomTextConstruct" />
+	<!-- atom:title -->
+	<xs:element name="title" type="atom:atomTextConstruct">
+		<xs:annotation>
+			<xs:documentation>
+				The "atom:title" element is a Text construct that
+				conveys a human- readable title for an entry or feed.
+				atomTitle = element atom:title { atomTextConstruct }.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<!-- atom:updated -->
+	<xs:element name="updated" type="atom:atomDateConstruct">
+		<xs:annotation>
+			<xs:documentation>
+				The "atom:updated" element is a Date construct
+				indicating the most recent instant in time when an entry
+				or feed was modified in a way the publisher considers
+				significant. Therefore, not all modifications
+				necessarily result in a changed atom:updated value.
+				atomUpdated = element atom:updated { atomDateConstruct
+				}. Publishers MAY change the value of this element over
+				time.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<!-- Low-level simple types -->
+	<xs:simpleType name="atomNCName">
+		<xs:restriction base="xs:string">
+			<xs:minLength value="1" />
+			<xs:pattern value="[^:]*" />
+		</xs:restriction>
+	</xs:simpleType>
+	<!-- Whatever a media type is, it contains at least one slash -->
+	<xs:simpleType name="atomMediaType">
+		<xs:restriction base="xs:string">
+			<xs:pattern value=".+/.+" />
+		</xs:restriction>
+	</xs:simpleType>
+	<!-- As defined in RFC 3066 -->
+	<xs:simpleType name="atomLanguageTag">
+		<xs:restriction base="xs:string">
+			<xs:pattern value="[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*" />
+		</xs:restriction>
+	</xs:simpleType>
+	<!--
+		Unconstrained; it's not entirely clear how IRI fit into xsd:anyURI so
+		let's not try to constrain it here
+	-->
+	<!-- Whatever an email address is, it contains at least one @ -->
+	<xs:simpleType name="atomEmailAddress">
+		<xs:restriction base="xs:string">
+			<xs:pattern value=".+@.+" />
+		</xs:restriction>
+	</xs:simpleType>
+	<!-- Simple Extension -->
+	<xs:group name="extensionElement">
+		<xs:sequence>
+			<xs:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:appinfo>
+						<jaxb:property name='anyOther' />
+					</xs:appinfo>
+				</xs:annotation>
+			</xs:any>
+			<xs:any namespace="##local" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:appinfo>
+						<jaxb:property name='anyLocal' />
+					</xs:appinfo>
+				</xs:annotation>
+			</xs:any>
+		</xs:sequence>
+	</xs:group>
+	<xs:attributeGroup name="undefinedAttribute">
+		<xs:anyAttribute namespace="##other" processContents="lax" />
+	</xs:attributeGroup>
+	<xs:complexType name="undefinedContent" mixed="true">
+		<xs:group minOccurs="0" maxOccurs="unbounded" ref="atom:anyForeignElement" />
+	</xs:complexType>
+	<xs:group name="anyElement">
+		<xs:sequence>
+			<xs:any processContents="lax" />
+		</xs:sequence>
+	</xs:group>
+	<xs:group name="anyForeignElement">
+		<xs:choice>
+			<xs:any namespace="##other" processContents="lax" />
+			<xs:any namespace="##local" processContents="lax" />
+		</xs:choice>
+	</xs:group>
+	<!-- XHTML -->
+	<xs:group name="anyXHTML">
+		<xs:sequence>
+			<xs:any namespace="http://www.w3.org/1999/xhtml"
+				processContents="lax" />
+		</xs:sequence>
+	</xs:group>
+</xs:schema>
+<!-- EOF -->
\ No newline at end of file

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/ATOM.xsd
------------------------------------------------------------------------------
    svn:keywords = Id

Added: 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=773069&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd Fri May  8 19:52:42 2009
@@ -0,0 +1,1217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<!--
+		Common CMIS XSD
+	-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/core/200901"
+	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.61c">
+	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
+		schemaLocation="xml.xsd" />
+
+	<!--  enums -->
+	<xs:simpleType name="enumDecimalPrecision">
+		<xs:restriction base="xs:integer">
+			<xs:enumeration value="32" />
+			<xs:enumeration value="64" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumContentStreamAllowed">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="notallowed" />
+			<xs:enumeration value="allowed" />
+			<xs:enumeration value="required" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumCardinality">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="single" />
+			<xs:enumeration value="multi" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumUpdatability">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="readonly" />
+			<xs:enumeration value="readwrite" />
+			<xs:enumeration value="whencheckedout" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumPropertyType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="boolean" />
+			<xs:enumeration value="id" />
+			<xs:enumeration value="integer" />
+			<xs:enumeration value="datetime" />
+			<xs:enumeration value="decimal" />
+			<xs:enumeration value="html" />
+			<xs:enumeration value="string" />
+			<xs:enumeration value="uri" />
+			<xs:enumeration value="xml" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumCollectionType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="rootchildren" />
+			<xs:enumeration value="rootdescendants" />
+			<xs:enumeration value="unfiled" />
+			<xs:enumeration value="checkedout" />
+			<xs:enumeration value="typeschildren" />
+			<xs:enumeration value="typesdescendants" />
+			<xs:enumeration value="query" />
+			<xs:enumeration value="changes" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumBaseObjectType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="document" />
+			<xs:enumeration value="folder" />
+			<xs:enumeration value="relationship" />
+			<xs:enumeration value="policy" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumCapabilityQuery">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none" />
+			<xs:enumeration value="metadataonly" />
+			<xs:enumeration value="fulltextonly" />
+			<xs:enumeration value="bothseparate" />
+			<xs:enumeration value="bothcombined" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumCapabilityJoin">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none" />
+			<xs:enumeration value="inneronly" />
+			<xs:enumeration value="innerandouter" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumRepositoryRelationship">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="self" />
+			<xs:enumeration value="replica" />
+			<xs:enumeration value="peer" />
+			<xs:enumeration value="parent" />
+			<xs:enumeration value="child" />
+			<xs:enumeration value="archive" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumTypesOfFileableObjects">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="documents" />
+			<xs:enumeration value="folders" />
+			<xs:enumeration value="policies" />
+			<xs:enumeration value="any" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumVersioningState">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="checkedout" />
+			<xs:enumeration value="minor" />
+			<xs:enumeration value="major" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumReturnVersion">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="this" />
+			<xs:enumeration value="latest" />
+			<xs:enumeration value="latestmajor" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumUnfileNonfolderObjects">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="unfile" />
+			<xs:enumeration value="deletesinglefiled" />
+			<xs:enumeration value="delete" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumRelationshipDirection">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="source" />
+			<xs:enumeration value="target" />
+			<xs:enumeration value="either" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumIncludeRelationships">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none" />
+			<xs:enumeration value="source" />
+			<xs:enumeration value="target" />
+			<xs:enumeration value="both" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<!--  properties in CMIS -->
+	<xs:simpleType name="enumPropertiesBase">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="ObjectId" />
+			<xs:enumeration value="Uri" />
+			<xs:enumeration value="ObjectTypeId" />
+			<xs:enumeration value="BaseTypeId" />
+			<xs:enumeration value="CreatedBy" />
+			<xs:enumeration value="CreationDate" />
+			<xs:enumeration value="LastModifiedBy" />
+			<xs:enumeration value="LastModificationDate" />
+			<xs:enumeration value="ChangeToken" />
+			<xs:enumeration value="Name" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumPropertiesDocument">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Name" />
+			<xs:enumeration value="ObjectId" />
+			<xs:enumeration value="BaseTypeId" />
+			<xs:enumeration value="Uri" />
+			<xs:enumeration value="ObjectTypeId" />
+			<xs:enumeration value="CreatedBy" />
+			<xs:enumeration value="CreationDate" />
+			<xs:enumeration value="LastModifiedBy" />
+			<xs:enumeration value="LastModificationDate" />
+			<xs:enumeration value="ChangeToken" />
+			<xs:enumeration value="IsImmutable" />
+			<xs:enumeration value="IsLatestVersion" />
+			<xs:enumeration value="IsMajorVersion" />
+			<xs:enumeration value="IsLatestMajorVersion" />
+			<xs:enumeration value="VersionLabel" />
+			<xs:enumeration value="VersionSeriesId" />
+			<xs:enumeration value="IsVersionSeriesCheckedOut" />
+			<xs:enumeration value="VersionSeriesCheckedOutBy" />
+			<xs:enumeration value="VersionSeriesCheckedOutId" />
+			<xs:enumeration value="CheckinComment" />
+			<xs:enumeration value="ContentStreamAllowed" />
+			<xs:enumeration value="ContentStreamLength" />
+			<xs:enumeration value="ContentStreamMimeType" />
+			<xs:enumeration value="ContentStreamFilename" />
+			<xs:enumeration value="ContentStreamUri" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumPropertiesFolder">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Name" />
+			<xs:enumeration value="ObjectId" />
+			<xs:enumeration value="BaseTypeId" />
+			<xs:enumeration value="Uri" />
+			<xs:enumeration value="ObjectTypeId" />
+			<xs:enumeration value="CreatedBy" />
+			<xs:enumeration value="CreationDate" />
+			<xs:enumeration value="LastModifiedBy" />
+			<xs:enumeration value="LastModificationDate" />
+			<xs:enumeration value="ChangeToken" />
+			<xs:enumeration value="ParentId" />
+			<xs:enumeration value="AllowedChildObjectTypeIds" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumPropertiesRelationship">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Name" />
+			<xs:enumeration value="ObjectId" />
+			<xs:enumeration value="Uri" />
+			<xs:enumeration value="ObjectTypeId" />
+			<xs:enumeration value="BaseTypeId" />
+			<xs:enumeration value="CreatedBy" />
+			<xs:enumeration value="CreationDate" />
+			<xs:enumeration value="LastModifiedBy" />
+			<xs:enumeration value="LastModificationDate" />
+			<xs:enumeration value="ChangeToken" />
+			<xs:enumeration value="SourceId" />
+			<xs:enumeration value="TargetId" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumPropertiesPolicy">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="Name" />
+			<xs:enumeration value="ObjectId" />
+			<xs:enumeration value="Uri" />
+			<xs:enumeration value="ObjectTypeId" />
+			<xs:enumeration value="BaseTypeId" />
+			<xs:enumeration value="CreatedBy" />
+			<xs:enumeration value="CreationDate" />
+			<xs:enumeration value="LastModifiedBy" />
+			<xs:enumeration value="LastModificationDate" />
+			<xs:enumeration value="ChangeToken" />
+			<xs:enumeration value="PolicyName" />
+			<xs:enumeration value="PolicyText" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<!--  CMIS Rest Arguments -->
+	<xs:simpleType name="enumRestArguments">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="childTypes" />
+			<xs:enumeration value="continueOnFailure" />
+			<xs:enumeration value="checkin" />
+			<xs:enumeration value="checkinComment" />
+			<xs:enumeration value="depth" />
+			<xs:enumeration value="direction" />
+			<xs:enumeration value="filter" />
+			<xs:enumeration value="folderByPath" />
+			<xs:enumeration value="folderId" />
+			<xs:enumeration value="includeAllowableActions" />
+			<xs:enumeration value="includePropertyDefinitions" />
+			<xs:enumeration value="includeRelationships" />
+			<xs:enumeration value="includeSubrelationshipTypes" />
+			<xs:enumeration value="length" />
+			<xs:enumeration value="major" />
+			<xs:enumeration value="majorVersion" />
+			<xs:enumeration value="maxItems" />
+			<xs:enumeration value="offset" />
+			<xs:enumeration value="removeFrom" />
+			<xs:enumeration value="relationshipType" />
+			<xs:enumeration value="repositoryId" />
+			<xs:enumeration value="returnToRoot" />
+			<xs:enumeration value="returnVersion" />
+			<xs:enumeration value="skipCount" />
+			<xs:enumeration value="thisVersion" />
+			<xs:enumeration value="typeId" />
+			<xs:enumeration value="types" />
+			<xs:enumeration value="unfileMultiFiledDocuments" />
+			<xs:enumeration value="versioningState" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="enumRestOutputHeaders">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="contentCopied" />
+		</xs:restriction>
+	</xs:simpleType>
+
+
+
+
+	<xs:attributeGroup name="cmisUndefinedAttribute">
+		<xs:anyAttribute namespace="##other" processContents="lax" />
+	</xs:attributeGroup>
+
+
+	<!--getRepositories Operation-->
+	<xs:complexType name="cmisRepositoryEntryType">
+		<xs:sequence>
+			<xs:element name="repositoryId" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositoryName" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositoryURI" type="xs:anyURI"
+				minOccurs="1" maxOccurs="1" />
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!--  Atom & APP -->
+	<xs:attribute name="id" type="xs:string" />
+	<xs:attribute name="href" type="xs:anyURI" />
+	
+	<!-- 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="cmis:enumCollectionType" />
+	<xs:element name="hasMoreItems" type="xs:boolean" />
+	<xs:element name="repositoryInfo" type="cmis:cmisRepositoryInfoType" />
+
+	<!--  main cmis object -->
+	<xs:complexType name="cmisObjectType">
+		<xs:sequence>
+			<xs:element name="properties" type="cmis:cmisPropertiesType"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element ref="cmis:allowableActions" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="relationship" type="cmis:cmisObjectType"
+				minOccurs="0" maxOccurs="unbounded" />
+
+			<!--  if change log -->
+			<xs:element name="changeObject" type="cmis:cmisChangedObjectType"
+				minOccurs="0" maxOccurs="1" />
+
+			<xs:element name="child" type="cmis:cmisObjectType"
+				minOccurs="0" maxOccurs="unbounded" />
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+				namespace="##other" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<xs:complexType name="objectTreeCollectionType">
+		<xs:sequence>
+			<xs:element name="object" type="cmis:cmisObjectType"
+				minOccurs="0" maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!--  anyother tag -->
+	<xs:complexType name="cmisAnyXml">
+		<xs:sequence>
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+				namespace="##other" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!-- Entry tag for tree Type -->
+	<xs:element name="object" type="cmis:cmisObjectType" />
+
+	<!--  separator object -->
+	<xs:element name="terminator" type="xs:string" nillable="true" />
+
+	<!--  type and type sub group -->
+	<xs:element name="type" type="cmis:cmisTypeDefinitionType">
+		<!--
+			<xs:annotation> <xs:appinfo> <jaxb:property
+			generateElementProperty="false" /> </xs:appinfo> </xs:annotation>
+		-->
+	</xs:element>
+	<xs:element name="documentType" type="cmis:cmisTypeDocumentDefinitionType"
+		substitutionGroup="cmis:type" />
+	<xs:element name="folderType" type="cmis:cmisTypeFolderDefinitionType"
+		substitutionGroup="cmis:type" />
+	<xs:element name="relationshipType" type="cmis:cmisTypeRelationshipDefinitionType"
+		substitutionGroup="cmis:type" />
+	<xs:element name="policyType" type="cmis:cmisTypePolicyDefinitionType"
+		substitutionGroup="cmis:type" />
+
+
+	<!-- property bag -->
+	<xs:attribute name="key" type="xs:string" />
+	<xs:attribute name="index" type="xs:integer" />
+	<xs:attribute name="name" type="xs:string" />
+	<!--
+		<xs:attribute name="propertyType" type="cmis:enumPropertyType" />
+	-->
+	<xs:complexType name="cmisPropertiesType">
+		<xs:sequence>
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:appinfo>
+						<jaxb:property name="property" />
+					</xs:appinfo>
+				</xs:annotation>
+				<xs:element ref="cmis:propertyBoolean" />
+				<xs:element ref="cmis:propertyId" />
+				<xs:element ref="cmis:propertyInteger" />
+				<xs:element ref="cmis:propertyDateTime" />
+				<xs:element ref="cmis:propertyDecimal" />
+				<xs:element ref="cmis:propertyHtml" />
+				<xs:element ref="cmis:propertyString" />
+				<xs:element ref="cmis:propertyUri" />
+				<xs:element ref="cmis:propertyXml" />
+			</xs:choice>
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!--  sub group -->
+	<xs:element name="property" type="cmis:cmisProperty"
+		nillable="true" />
+	<xs:element name="propertyBoolean" type="cmis:cmisPropertyBoolean"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyId" type="cmis:cmisPropertyId"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyInteger" type="cmis:cmisPropertyInteger"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyDateTime" type="cmis:cmisPropertyDateTime"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyDecimal" type="cmis:cmisPropertyDecimal"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyHtml" type="cmis:cmisPropertyHtml"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyString" type="cmis:cmisPropertyString"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyUri" type="cmis:cmisPropertyUri"
+		substitutionGroup="cmis:property" nillable="true" />
+	<xs:element name="propertyXml" type="cmis:cmisPropertyXml"
+		substitutionGroup="cmis:property" nillable="true" />
+
+	<!-- start the prop definitions -->
+	<xs:complexType name="cmisProperty">
+		<xs:attribute ref="cmis:name" use="required" />
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyBoolean">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:boolean" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyId">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:string" />
+				</xs:sequence>
+				<xs:attribute ref="cmis:href" use="optional" />
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyInteger">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:integer" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyDateTime">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:dateTime" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyDecimal">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:decimal" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyHtml">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value">
+						<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="cmisPropertyString">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:string" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyUri">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisProperty">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:anyURI" />
+				</xs:sequence>
+			</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>
+
+
+	<!--Content Stream-->
+	<xs:complexType name="cmisContentStreamType">
+		<xs:sequence>
+			<xs:element name="length" type="xs:integer" />
+			<xs:element name="mimeType" type="xs:string" minOccurs="0" />
+			<xs:element name="filename" type="xs:string" minOccurs="0" />
+			<xs:element name="uri" type="xs:anyURI" minOccurs="0" />
+			<xs:element name="stream" type="xs:base64Binary"
+				xmime:expectedContentTypes="application/octet-stream" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" />
+			<xs:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+
+	<!--  allowable actions -->
+	<xs:complexType name="cmisAllowableActionsType">
+		<xs:sequence>
+			<xs:element name="parentId" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="parentUrl" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="canDelete" type="xs:boolean" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="canUpdateProperties" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetProperties" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetRelationships" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetParents" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetFolderParent" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetDescendants" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canMove" type="xs:boolean" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="canDeleteVersion" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canDeleteContent" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCheckout" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCancelCheckout" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCheckin" type="xs:boolean" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="canSetContent" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetAllVersions" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canAddToFolder" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canRemoveFromFolder" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canViewContent" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canAddPolicy" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetAppliedPolicies" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canRemovePolicy" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canGetChildren" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCreateDocument" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCreateFolder" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCreateRelationship" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canCreatePolicy" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="canDeleteTree" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!--  main allowable actions element -->
+	<xs:element name="allowableActions" type="cmis:cmisAllowableActionsType" />
+
+
+	<!-- subgroup -->
+	<xs:element name="choice" type="cmis:cmisChoiceType" />
+	<xs:element name="choiceBoolean" type="cmis:cmisChoiceBooleanType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceId" type="cmis:cmisChoiceIdType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceInteger" type="cmis:cmisChoiceIntegerType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceDateTime" type="cmis:cmisChoiceDateTimeType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceDecimal" type="cmis:cmisChoiceDecimalType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceHtml" type="cmis:cmisChoiceHtmlType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceString" type="cmis:cmisChoiceStringType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceUri" type="cmis:cmisChoiceUriType"
+		substitutionGroup="cmis:choice" />
+	<xs:element name="choiceXml" type="cmis:cmisChoiceXmlType"
+		substitutionGroup="cmis:choice" />
+
+	<!-- type for choices -->
+	<xs:complexType name="cmisChoiceType" abstract="true">
+		<xs:sequence>
+			<xs:element ref="cmis:choice" minOccurs="0" maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attribute ref="cmis:key" use="optional" />
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!-- do the property type specific choice entry -->
+	<xs:complexType name="cmisChoiceBooleanType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:boolean" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceIdType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:string" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceIntegerType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:integer" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceDateTimeType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:dateTime" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceDecimalType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:decimal" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceHtmlType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs: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="cmisChoiceStringType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:string" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceUriType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+						type="xs:anyURI" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisChoiceXmlType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisChoiceType">
+				<xs:sequence>
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+						namespace="##other" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+
+	<!-- Property Attributes -->
+	<xs:element name="propertyDefinition" type="cmis:cmisPropertyDefinitionType" />
+	<xs:element name="propertyBooleanDefinition" type="cmis:cmisPropertyBooleanDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyDateTimeDefinition" type="cmis:cmisPropertyDateTimeDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyDecimalDefinition" type="cmis:cmisPropertyDecimalDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyIdDefinition" type="cmis:cmisPropertyIdDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyIntegerDefinition" type="cmis:cmisPropertyIntegerDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyHtmlDefinition" type="cmis:cmisPropertyHtmlDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyStringDefinition" type="cmis:cmisPropertyStringDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyXmlDefinition" type="cmis:cmisPropertyXmlDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:element name="propertyUriDefinition" type="cmis:cmisPropertyUriDefinitionType"
+		substitutionGroup="cmis:propertyDefinition" />
+	<xs:complexType name="cmisPropertyDefinitionType">
+		<xs:sequence>
+			<xs:element name="name" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="id" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="package" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="displayName" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="description" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="propertyType" type="cmis:enumPropertyType"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="cardinality" type="cmis:enumCardinality"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="updatability" type="cmis:enumUpdatability"
+				minOccurs="1" maxOccurs="1" />
+
+			<!-- flags -->
+			<xs:element name="inherited" type="xs:boolean" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="required" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="queryable" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="orderable" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+
+			<!--  choices -->
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:appinfo>
+						<jaxb:property name="choice" />
+					</xs:appinfo>
+				</xs:annotation>
+				<xs:element ref="cmis:choiceBoolean" />
+				<xs:element ref="cmis:choiceDateTime" />
+				<xs:element ref="cmis:choiceDecimal" />
+				<xs:element ref="cmis:choiceHtml" />
+				<xs:element ref="cmis:choiceId" />
+				<xs:element ref="cmis:choiceInteger" />
+				<xs:element ref="cmis:choiceString" />
+				<xs:element ref="cmis:choiceUri" />
+				<xs:element ref="cmis:choiceXml" />
+			</xs:choice>
+			<xs:element name="openChoice" type="xs:boolean" minOccurs="0"
+				maxOccurs="1" />
+
+			<!--  extension -->
+			<xs:any processContents="lax" namespace="##other" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!--  type specific definitions -->
+	<xs:complexType name="cmisPropertyBooleanDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceBooleanType" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyIdDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceIdType" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyIntegerDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceIntegerType" />
+					<xs:element name="maxValue" type="xs:integer" minOccurs="0"
+						maxOccurs="1" />
+					<xs:element name="minValue" type="xs:integer" minOccurs="0"
+						maxOccurs="1" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyDateTimeDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceDateTimeType" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyDecimalDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceDecimalType" />
+					<xs:element name="precision" type="cmis:enumDecimalPrecision"
+						minOccurs="0" maxOccurs="1" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyHtmlDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceHtmlType" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyStringDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceStringType" />
+					<xs:element name="maxLength" type="xs:integer"
+						minOccurs="0" maxOccurs="1" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyUriDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceUriType" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisPropertyXmlDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisPropertyDefinitionType">
+				<xs:sequence>
+					<xs:element minOccurs="0" maxOccurs="unbounded" name="defaultValue"
+						type="cmis:cmisChoiceXmlType" />
+					<xs:element name="schemaURI" type="xs:anyURI" minOccurs="0"
+						maxOccurs="1" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+	<!-- type definition -->
+	<xs:complexType name="cmisTypeDefinitionType" abstract="false">
+		<xs:sequence>
+			<xs:element name="typeId" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="queryName" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="displayName" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+
+			<!--  base type -->
+			<xs:element name="baseType" type="cmis:enumBaseObjectType"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="baseTypeQueryName" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+
+			<!-- parent -->
+			<xs:element name="parentId" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+
+			<!-- info -->
+			<xs:element name="description" type="xs:string" minOccurs="0"
+				maxOccurs="1" />
+
+			<!-- flags -->
+			<xs:element name="creatable" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="fileable" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="queryable" type="xs:boolean" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="controllable" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="includedInSupertypeQuery" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" default="true" />
+
+			<!-- property definitions -->
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+				<xs:annotation>
+					<xs:appinfo>
+						<jaxb:property name="propertyDefinition" />
+					</xs:appinfo>
+				</xs:annotation>
+				<xs:element ref="cmis:propertyBooleanDefinition" />
+				<xs:element ref="cmis:propertyDateTimeDefinition" />
+				<xs:element ref="cmis:propertyDecimalDefinition" />
+				<xs:element ref="cmis:propertyHtmlDefinition" />
+				<xs:element ref="cmis:propertyIdDefinition" />
+				<xs:element ref="cmis:propertyIntegerDefinition" />
+				<xs:element ref="cmis:propertyStringDefinition" />
+				<xs:element ref="cmis:propertyUriDefinition" />
+				<xs:element ref="cmis:propertyXmlDefinition" />
+			</xs:choice>
+
+
+			<!-- extension -->
+			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+				processContents="lax" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+
+	<!-- type specific typedefs -->
+	<xs:complexType name="cmisTypeDocumentDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisTypeDefinitionType">
+				<xs:sequence>
+					<xs:element name="versionable" type="xs:boolean"
+						minOccurs="1" maxOccurs="1" />
+					<xs:element name="contentStreamAllowed" type="cmis:enumContentStreamAllowed"
+						minOccurs="1" maxOccurs="1" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisTypeFolderDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisTypeDefinitionType">
+				<xs:sequence>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisTypeRelationshipDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisTypeDefinitionType">
+				<xs:sequence>
+					<xs:element name="allowedSourceTypes" type="xs:string"
+						minOccurs="0" maxOccurs="unbounded" />
+					<xs:element name="allowedTargetTypes" type="xs:string"
+						minOccurs="0" maxOccurs="unbounded" />
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="cmisTypePolicyDefinitionType">
+		<xs:complexContent>
+			<xs:extension base="cmis:cmisTypeDefinitionType">
+				<xs:sequence>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+
+	<!--  query -->
+	<xs:complexType name="cmisQueryType">
+		<xs:sequence>
+			<xs:element name="repositoryId" type="xs:string"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="statement" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="searchAllVersions" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+			<xs:element name="pageSize" type="xs:integer" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="skipCount" type="xs:integer" minOccurs="0"
+				maxOccurs="1" />
+			<xs:element name="returnAllowableActions" type="xs:boolean"
+				minOccurs="0" maxOccurs="1" />
+
+			<!-- added so jax-ws generates a nice WS interface -->
+			<xs:element name="extension" type="cmis:cmisAnyXml"
+				minOccurs="0" maxOccurs="1" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+	<xs:element name="query" type="cmis:cmisQueryType" />
+
+
+	<!--  repository info -->
+	<xs:complexType name="cmisRepositoryInfoType">
+		<xs:sequence minOccurs="1">
+			<xs:element name="repositoryId" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositoryName" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositoryRelationship" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositoryDescription" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="vendorName" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="productName" type="xs:string" minOccurs="1"
+				maxOccurs="1" />
+			<xs:element name="productVersion" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="rootFolderId" type="xs:string" />
+			<xs:element name="capabilities" type="cmis:cmisRepositoryCapabilitiesType"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="cmisVersionSupported" type="xs:string"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="repositorySpecificInformation" type="cmis:cmisAnyXml"
+				maxOccurs="1" minOccurs="0" />
+			<xs:any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<xs:complexType name="cmisRepositoryCapabilitiesType">
+		<xs:sequence>
+			<xs:element name="capabilityMultifiling" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityUnfiling" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityVersionSpecificFiling" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityPWCUpdateable" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityPWCSearchable" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityAllVersionsSearchable" type="xs:boolean"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityQuery" type="cmis:enumCapabilityQuery"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityJoin" type="cmis:enumCapabilityJoin"
+				minOccurs="1" maxOccurs="1" />
+			<xs:element name="capabilityChanges" type="cmis:enumCapabilityChanges"
+				minOccurs="1" maxOccurs="unbounded" />
+			<xs:element name="changesIncomplete" type="xs:boolean"
+				maxOccurs="1" minOccurs="0" />
+				
+			<xs:element name="capabilityACL" type="cmis:enumCapabilityACL" />
+			<xs:element name="permissionsSupported" type="cmis:cmisPermissionSetType" minOccurs="0" maxOccurs="unbounded"/>
+			
+			<xs:any namespace="##other" processContents="skip" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+	</xs:complexType>
+
+	<!-- Unified Search -->
+	<xs:simpleType name="enumTypeOfChanges">
+		<xs:restriction base="xs:string">
+			<!-- content with a new ID has been created -->
+			<xs:enumeration value="created" />
+			<!-- content with an existing ID has been modified -->
+			<xs:enumeration value="updated" />
+			<!-- content with an existing ID has been deleted -->
+			<xs:enumeration value="deleted" />
+			<!-- content with an existing ID has had its security policy changed-->
+			<xs:enumeration value="security" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:simpleType name="enumCapabilityChanges">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none" />
+			<xs:enumeration value="includeACL" />
+			<xs:enumeration value="includeProperties" />
+			<xs:enumeration value="includeFolders" />
+			<xs:enumeration value="includeDocuments" />
+			<xs:enumeration value="includeRelationships" />
+			<xs:enumeration value="includePolicies" />
+			<xs:enumeration value="all" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:complexType name="cmisChangedObjectType">
+		<xs:sequence>
+			<xs:element name="changeType" type="cmis:enumTypeOfChanges" />
+			<xs:element name="changeTime" type="xs:dateTime" />
+			<xs:any namespace="##other" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<!-- ACL -->
+	<xs:simpleType name="enumBasicPrivileges">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="CMIS.BasicPermission.Read" />
+			<xs:enumeration value="CMIS.BasicPermission.Write" />
+			<xs:enumeration value="CMIS.BasicPermission.All" />
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:simpleType name="enumCapabilityACL">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none" />
+			<xs:enumeration value="read" />
+			<xs:enumeration value="set" />
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:complexType name="cmisAccessControlPrincipalType">
+		<xs:sequence>
+			<xs:element name="principalId" type="xs:string" />
+			<xs:any namespace="##other" />
+		</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="direct" type="xs:boolean" />
+			<xs:any namespace="##other" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="cmisAccessControlListType">
+		<xs:sequence>
+			<xs:element name="permission" type="cmis:cmisAccessControlEntryType" />
+			<xs:any namespace="##other" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="cmisPermissionSetType">
+		<xs:sequence>
+			<xs:element name="permission" type="cmis:cmisPermissionDefinitionType"
+				minOccurs="1" maxOccurs="unbounded" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="cmisPermissionDefinitionType">
+		<xs:sequence>
+			<xs:element name="description" type="xs:language"
+				minOccurs="0" maxOccurs="unbounded" />
+			<xs:element name="aggregating" type="cmis:cmisPermissionDefinitionType"
+				minOccurs="0" maxOccurs="unbounded" />
+		</xs:sequence>
+		<xs:attribute name="name" type="xs:string" />
+		<xs:attribute name="aggregated" type="xs:boolean" />
+		<xs:attribute name="abstract" type="xs:boolean" />
+	</xs:complexType>
+</xs:schema>
+	<!-- EOF -->
\ No newline at end of file

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/trunk/chemistry/chemistry-ws/src/main/resources/wsdl/CMIS-Core.xsd
------------------------------------------------------------------------------
    svn:keywords = Id



Mime
View raw message