ws-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sag...@apache.org
Subject svn commit: r1161982 [1/3] - in /webservices/woden/branches/woden-20: ./ woden-commons/ woden-commons/src/main/java/org/apache/woden/internal/ woden-commons/src/main/java/org/apache/woden/internal/resolver/ woden-commons/src/main/resources/ woden-commo...
Date Fri, 26 Aug 2011 03:48:04 GMT
Author: sagara
Date: Fri Aug 26 03:48:03 2011
New Revision: 1161982

URL: http://svn.apache.org/viewvc?rev=1161982&view=rev
Log:
Added latest patch for WODEN-72

Added:
    webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISCatalogURIResolver.java
    webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntityResolverAdapter.java
    webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntitySchemaResolverAdapter.java
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/Woden-CatalogManager.properties
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/datatypes.dtd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20-extensions.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20-http.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20-instance.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20-rpc.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20-soap.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/wsdl20.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/xml.xsd
  (with props)
    webservices/woden/branches/woden-20/woden-commons/src/main/resources/schema.xml
    webservices/woden/branches/woden-20/woden-tests/src/test/resources/W3Ctests.xml
    webservices/woden/branches/woden-20/woden-tests/src/test/resources/Woden-CatalogManager.properties
    webservices/woden/branches/woden-20/woden-tests/src/test/resources/simpleresolver.xml
Modified:
    webservices/woden/branches/woden-20/pom.xml
    webservices/woden/branches/woden-20/woden-commons/pom.xml
    webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/BaseWSDLReader.java
    webservices/woden/branches/woden-20/woden-dom/src/main/java/org/apache/woden/internal/DOMWSDLReader.java
    webservices/woden/branches/woden-20/woden-tests/src/test/java/org/apache/woden/internal/wsdl20/assertions/TestDescription1001.java
    webservices/woden/branches/woden-20/woden-tests/src/test/java/org/apache/woden/resolver/SimpleURIResolverTest.java
    webservices/woden/branches/woden-20/woden-tests/src/test/java/testcase/resolver/schemaloc/SchemaLocationTest.java

Modified: webservices/woden/branches/woden-20/pom.xml
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/pom.xml?rev=1161982&r1=1161981&r2=1161982&view=diff
==============================================================================
--- webservices/woden/branches/woden-20/pom.xml (original)
+++ webservices/woden/branches/woden-20/pom.xml Fri Aug 26 03:48:03 2011
@@ -286,8 +286,8 @@
 		<woden.version>1.0-SNAPSHOT</woden.version>
 		<woden.osgi.version>1.0.0</woden.osgi.version>
 		<bundle.plugin.version>1.4.0</bundle.plugin.version>
-		<apache.xmlSchema.version>1.4.6-SNAPSHOT</apache.xmlSchema.version>
-		<apache.axiom.version>1.2.9-SNAPSHOT</apache.axiom.version>
+		<apache.xmlSchema.version>1.4.8-SNAPSHOT</apache.xmlSchema.version>
+		<apache.axiom.version>1.2.13-SNAPSHOT</apache.axiom.version>
 		<apache.ant.version>1.7.1</apache.ant.version>
 		<wsdl4j.version>1.6.2</wsdl4j.version>
 		<slf4.version>1.5.8</slf4.version>

Modified: webservices/woden/branches/woden-20/woden-commons/pom.xml
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/pom.xml?rev=1161982&r1=1161981&r2=1161982&view=diff
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/pom.xml (original)
+++ webservices/woden/branches/woden-20/woden-commons/pom.xml Fri Aug 26 03:48:03 2011
@@ -91,6 +91,11 @@
            <artifactId>woden-api</artifactId>
            <version>${woden.version}</version>
        </dependency>
+       <dependency>
+	  <groupId>xml-resolver</groupId>
+	  <artifactId>xml-resolver</artifactId>
+	  <version>1.2</version>
+      </dependency>
 	   <!-- Logger dependencies -->
 	   <dependency>
 		<groupId>commons-logging</groupId>
@@ -131,4 +136,4 @@
              </exclusions>
 	</dependency>
    </dependencies>
-</project>
+</project>

Modified: webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/BaseWSDLReader.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/BaseWSDLReader.java?rev=1161982&r1=1161981&r2=1161982&view=diff
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/BaseWSDLReader.java
(original)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/BaseWSDLReader.java
Fri Aug 26 03:48:03 2011
@@ -31,7 +31,7 @@ import org.apache.woden.WSDLException;
 import org.apache.woden.WSDLFactory;
 import org.apache.woden.WSDLReader;
 import org.apache.woden.XMLElement;
-import org.apache.woden.internal.resolver.SimpleURIResolver;
+import org.apache.woden.internal.resolver.OASISCatalogURIResolver;
 import org.apache.woden.internal.schema.SchemaConstants;
 import org.apache.woden.internal.util.PropertyUtils;
 import org.apache.woden.internal.util.StringUtils;
@@ -111,7 +111,7 @@ public abstract class BaseWSDLReader imp
         {
         	// property not set (an allowable condition)
         	// use the "default default" URI resolver
-        	resolver = new SimpleURIResolver();
+        	resolver = new OASISCatalogURIResolver();
         }
         else
         {

Added: webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISCatalogURIResolver.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISCatalogURIResolver.java?rev=1161982&view=auto
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISCatalogURIResolver.java
(added)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISCatalogURIResolver.java
Fri Aug 26 03:48:03 2011
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+package org.apache.woden.internal.resolver;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.resolver.URIResolver;
+import org.apache.xml.resolver.Catalog;
+import org.apache.xml.resolver.CatalogManager;
+
+/**
+ * The Class OASISCatalogURIResolver.
+ */
+public class OASISCatalogURIResolver implements URIResolver {
+	
+	/** The catalog. */
+	private Catalog catalog;
+	
+	/**
+	 * Instantiates a new oASIS catalog uri resolver.
+	 */
+	public OASISCatalogURIResolver(){
+		CatalogManager manager = new CatalogManager("Woden-CatalogManager.properties"); 
+		catalog = new Catalog(manager);
+	    catalog.setupReaders();
+		try {
+			catalog.loadSystemCatalogs();
+		} catch (MalformedURLException e) {			
+			e.printStackTrace();
+		} catch (IOException e) {			
+			e.printStackTrace();
+		} 
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.woden.resolver.URIResolver#resolveURI(java.net.URI)
+	 */
+	public URI resolveURI(URI uri) throws WSDLException {
+	
+		String resolved = null;	
+			try {				
+				resolved = catalog.resolveEntity(uri.toString(), uri.toString(), uri.toString());
+				if(resolved != null){
+				return new URI(resolved);
+				}
+			} catch (URISyntaxException e) {			
+				e.printStackTrace();				
+			} catch (MalformedURLException e) {			
+				e.printStackTrace();				
+			} catch (IOException e) {				
+				e.printStackTrace();				
+			}		
+		return uri;		
+	}
+}

Added: webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntityResolverAdapter.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntityResolverAdapter.java?rev=1161982&view=auto
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntityResolverAdapter.java
(added)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntityResolverAdapter.java
Fri Aug 26 03:48:03 2011
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+package org.apache.woden.internal.resolver;
+
+import java.io.IOException;
+
+import org.apache.xml.resolver.tools.CatalogResolver;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+public class OASISEntityResolverAdapter implements EntityResolver {
+	
+	private CatalogResolver catalogResolver;
+
+	public InputSource resolveEntity(String publicId, String systemId)
+			throws SAXException, IOException {
+		if(catalogResolver == null){
+			catalogResolver = new CatalogResolver();			
+		}
+		return catalogResolver.resolveEntity(publicId, systemId);
+	}
+
+}

Added: webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntitySchemaResolverAdapter.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntitySchemaResolverAdapter.java?rev=1161982&view=auto
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntitySchemaResolverAdapter.java
(added)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/java/org/apache/woden/internal/resolver/OASISEntitySchemaResolverAdapter.java
Fri Aug 26 03:48:03 2011
@@ -0,0 +1,20 @@
+package org.apache.woden.internal.resolver;
+
+import org.apache.ws.commons.schema.resolver.URIResolver;
+import org.apache.xml.resolver.tools.CatalogResolver;
+import org.xml.sax.InputSource;
+
+public class OASISEntitySchemaResolverAdapter implements URIResolver {
+	
+	private CatalogResolver catalogResolver;
+
+	public InputSource resolveEntity(String targetNamespace,
+            String schemaLocation,
+            String baseUri) {
+		if(catalogResolver == null){
+			catalogResolver = new CatalogResolver();			
+		}
+		return catalogResolver.resolveEntity(schemaLocation, schemaLocation);
+	}
+
+}

Added: webservices/woden/branches/woden-20/woden-commons/src/main/resources/Woden-CatalogManager.properties
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/resources/Woden-CatalogManager.properties?rev=1161982&view=auto
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/resources/Woden-CatalogManager.properties
(added)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/resources/Woden-CatalogManager.properties
Fri Aug 26 03:48:03 2011
@@ -0,0 +1,25 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+# Catalogs are relative to this properties file
+relative-catalogs=false
+# Catalog list
+catalogs=schema.xml
+# Make the verbosity bigger to get more debug information
+verbosity=2
\ No newline at end of file

Added: webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd?rev=1161982&view=auto
==============================================================================
--- webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd
(added)
+++ webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd
Fri Aug 26 03:48:03 2011
@@ -0,0 +1,402 @@
+<!-- DTD for XML Schemas: Part 1: Structures
+     Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
+     Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
+<!-- $Id: XMLSchema.dtd,v 1.31 2001/10/24 15:50:16 ht Exp $ -->
+<!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
+<!-- prose copy in the structures REC is the definitive version -->    <!--d-->
+<!-- (which shouldn't differ from this one except for this -->         <!--d-->
+<!-- comment and entity expansions, but just in case) -->              <!--d-->
+<!-- With the exception of cases with multiple namespace
+     prefixes for the XML Schema namespace, any XML document which is
+     not valid per this DTD given redefinitions in its internal subset of the
+     'p' and 's' parameter entities below appropriate to its namespace
+     declaration of the XML Schema namespace is almost certainly not
+     a valid schema. -->
+
+<!-- The simpleType element and its constituent parts
+     are defined in XML Schema: Part 2: Datatypes -->
+<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
+
+<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
+                         schema document to establish a different
+                         namespace prefix -->
+<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
+                         also define %s as the suffix for the appropriate
+                         namespace declaration (e.g. :foo) -->
+<!ENTITY % nds 'xmlns%s;'>
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % schema "%p;schema">
+<!ENTITY % complexType "%p;complexType">
+<!ENTITY % complexContent "%p;complexContent">
+<!ENTITY % simpleContent "%p;simpleContent">
+<!ENTITY % extension "%p;extension">
+<!ENTITY % element "%p;element">
+<!ENTITY % unique "%p;unique">
+<!ENTITY % key "%p;key">
+<!ENTITY % keyref "%p;keyref">
+<!ENTITY % selector "%p;selector">
+<!ENTITY % field "%p;field">
+<!ENTITY % group "%p;group">
+<!ENTITY % all "%p;all">
+<!ENTITY % choice "%p;choice">
+<!ENTITY % sequence "%p;sequence">
+<!ENTITY % any "%p;any">
+<!ENTITY % anyAttribute "%p;anyAttribute">
+<!ENTITY % attribute "%p;attribute">
+<!ENTITY % attributeGroup "%p;attributeGroup">
+<!ENTITY % include "%p;include">
+<!ENTITY % import "%p;import">
+<!ENTITY % redefine "%p;redefine">
+<!ENTITY % notation "%p;notation">
+
+<!-- annotation elements -->
+<!ENTITY % annotation "%p;annotation">
+<!ENTITY % appinfo "%p;appinfo">
+<!ENTITY % documentation "%p;documentation">
+
+<!-- Customisation entities for the ATTLIST of each element type.
+     Define one of these if your schema takes advantage of the
+     anyAttribute='##other' in the schema for schemas -->
+
+<!ENTITY % schemaAttrs ''>
+<!ENTITY % complexTypeAttrs ''>
+<!ENTITY % complexContentAttrs ''>
+<!ENTITY % simpleContentAttrs ''>
+<!ENTITY % extensionAttrs ''>
+<!ENTITY % elementAttrs ''>
+<!ENTITY % groupAttrs ''>
+<!ENTITY % allAttrs ''>
+<!ENTITY % choiceAttrs ''>
+<!ENTITY % sequenceAttrs ''>
+<!ENTITY % anyAttrs ''>
+<!ENTITY % anyAttributeAttrs ''>
+<!ENTITY % attributeAttrs ''>
+<!ENTITY % attributeGroupAttrs ''>
+<!ENTITY % uniqueAttrs ''>
+<!ENTITY % keyAttrs ''>
+<!ENTITY % keyrefAttrs ''>
+<!ENTITY % selectorAttrs ''>
+<!ENTITY % fieldAttrs ''>
+<!ENTITY % includeAttrs ''>
+<!ENTITY % importAttrs ''>
+<!ENTITY % redefineAttrs ''>
+<!ENTITY % notationAttrs ''>
+<!ENTITY % annotationAttrs ''>
+<!ENTITY % appinfoAttrs ''>
+<!ENTITY % documentationAttrs ''>
+
+<!ENTITY % complexDerivationSet "CDATA">
+      <!-- #all or space-separated list drawn from derivationChoice -->
+<!ENTITY % blockSet "CDATA">
+      <!-- #all or space-separated list drawn from
+                      derivationChoice + 'substitution' -->
+
+<!ENTITY % mgs '%all; | %choice; | %sequence;'>
+<!ENTITY % cs '%choice; | %sequence;'>
+<!ENTITY % formValues '(qualified|unqualified)'>
+
+
+<!ENTITY % attrDecls    '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
+
+<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
+
+<!-- This is used in part2 -->
+<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
+
+%xs-datatypes;
+
+<!-- the duplication below is to produce an unambiguous content model
+     which allows annotation everywhere -->
+<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
+                    ((%simpleType; | %complexType;
+                      | %element; | %attribute;
+                      | %attributeGroup; | %group;
+                      | %notation; ),
+                     (%annotation;)*)* )>
+<!ATTLIST %schema;
+   targetNamespace      %URIref;               #IMPLIED
+   version              CDATA                  #IMPLIED
+   %nds;                %URIref;               #FIXED 'http://www.w3.org/2001/XMLSchema'
+   xmlns                CDATA                  #IMPLIED
+   finalDefault         %complexDerivationSet; ''
+   blockDefault         %blockSet;             ''
+   id                   ID                     #IMPLIED
+   elementFormDefault   %formValues;           'unqualified'
+   attributeFormDefault %formValues;           'unqualified'
+   xml:lang             CDATA                  #IMPLIED
+   %schemaAttrs;>
+<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
+     because at the Infoset level where schemas operate,
+     xmlns(:prefix) is NOT an attribute! -->
+<!-- The declaration of xmlns is a convenience for schema authors -->
+ 
+<!-- The id attribute here and below is for use in external references
+     from non-schemas using simple fragment identifiers.
+     It is NOT used for schema-to-schema reference, internal or
+     external. -->
+
+<!-- a type is a named content type specification which allows attribute
+     declarations-->
+<!-- -->
+
+<!ELEMENT %complexType; ((%annotation;)?,
+                         (%simpleContent;|%complexContent;|
+                          %particleAndAttrs;))>
+
+<!ATTLIST %complexType;
+          name      %NCName;                        #IMPLIED
+          id        ID                              #IMPLIED
+          abstract  %boolean;                       #IMPLIED
+          final     %complexDerivationSet;          #IMPLIED
+          block     %complexDerivationSet;          #IMPLIED
+          mixed (true|false) 'false'
+          %complexTypeAttrs;>
+
+<!-- particleAndAttrs is shorthand for a root type -->
+<!-- mixed is disallowed if simpleContent, overriden if complexContent
+     has one too. -->
+
+<!-- If anyAttribute appears in one or more referenced attributeGroups
+     and/or explicitly, the intersection of the permissions is used -->
+
+<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %complexContent;
+          mixed (true|false) #IMPLIED
+          id    ID           #IMPLIED
+          %complexContentAttrs;>
+
+<!-- restriction should use the branch defined above, not the simple
+     one from part2; extension should use the full model  -->
+
+<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %simpleContent;
+          id    ID           #IMPLIED
+          %simpleContentAttrs;>
+
+<!-- restriction should use the simple branch from part2, not the 
+     one defined above; extension should have no particle  -->
+
+<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
+<!ATTLIST %extension;
+          base  %QName;      #REQUIRED
+          id    ID           #IMPLIED
+          %extensionAttrs;>
+
+<!-- an element is declared by either:
+ a name and a type (either nested or referenced via the type attribute)
+ or a ref to an existing element declaration -->
+
+<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
+                     (%unique; | %key; | %keyref;)*)>
+<!-- simpleType or complexType only if no type|ref attribute -->
+<!-- ref not allowed at top level -->
+<!ATTLIST %element;
+            name               %NCName;               #IMPLIED
+            id                 ID                     #IMPLIED
+            ref                %QName;                #IMPLIED
+            type               %QName;                #IMPLIED
+            minOccurs          %nonNegativeInteger;   #IMPLIED
+            maxOccurs          CDATA                  #IMPLIED
+            nillable           %boolean;              #IMPLIED
+            substitutionGroup  %QName;                #IMPLIED
+            abstract           %boolean;              #IMPLIED
+            final              %complexDerivationSet; #IMPLIED
+            block              %blockSet;             #IMPLIED
+            default            CDATA                  #IMPLIED
+            fixed              CDATA                  #IMPLIED
+            form               %formValues;           #IMPLIED
+            %elementAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- In the absence of type AND ref, type defaults to type of
+     substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
+<!-- default and fixed are mutually exclusive -->
+
+<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
+<!ATTLIST %group; 
+          name        %NCName;               #IMPLIED
+          ref         %QName;                #IMPLIED
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %groupAttrs;>
+
+<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
+<!ATTLIST %all;
+          minOccurs   (1)                    #IMPLIED
+          maxOccurs   (1)                    #IMPLIED
+          id          ID                     #IMPLIED
+          %allAttrs;>
+
+<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %choice;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %choiceAttrs;>
+
+<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %sequence;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %sequenceAttrs;>
+
+<!-- an anonymous grouping in a model, or
+     a top-level named group definition, or a reference to same -->
+
+<!-- Note that if order is 'all', group is not allowed inside.
+     If order is 'all' THIS group must be alone (or referenced alone) at
+     the top level of a content model -->
+<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
+<!-- Should allow minOccurs=0 inside order='all' . . . -->
+
+<!ELEMENT %any; (%annotation;)?>
+<!ATTLIST %any;
+            namespace       CDATA                  '##any'
+            processContents (skip|lax|strict)      'strict'
+            minOccurs       %nonNegativeInteger;   '1'
+            maxOccurs       CDATA                  '1'
+            id              ID                     #IMPLIED
+            %anyAttrs;>
+
+<!-- namespace is interpreted as follows:
+                  ##any      - - any non-conflicting WFXML at all
+
+                  ##other    - - any non-conflicting WFXML from namespace other
+                                  than targetNamespace
+
+                  ##local    - - any unqualified non-conflicting WFXML/attribute
+                  one or     - - any non-conflicting WFXML from
+                  more URI        the listed namespaces
+                  references
+
+                  ##targetNamespace ##local may appear in the above list,
+                    with the obvious meaning -->
+
+<!ELEMENT %anyAttribute; (%annotation;)?>
+<!ATTLIST %anyAttribute;
+            namespace       CDATA              '##any'
+            processContents (skip|lax|strict)  'strict'
+            id              ID                 #IMPLIED
+            %anyAttributeAttrs;>
+<!-- namespace is interpreted as for 'any' above -->
+
+<!-- simpleType only if no type|ref attribute -->
+<!-- ref not allowed at top level, name iff at top level -->
+<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
+<!ATTLIST %attribute;
+          name      %NCName;      #IMPLIED
+          id        ID            #IMPLIED
+          ref       %QName;       #IMPLIED
+          type      %QName;       #IMPLIED
+          use       (prohibited|optional|required) #IMPLIED
+          default   CDATA         #IMPLIED
+          fixed     CDATA         #IMPLIED
+          form      %formValues;  #IMPLIED
+          %attributeAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- default for use is optional when nested, none otherwise -->
+<!-- default and fixed are mutually exclusive -->
+<!-- type attr and simpleType content are mutually exclusive -->
+
+<!-- an attributeGroup is a named collection of attribute decls, or a
+     reference thereto -->
+<!ELEMENT %attributeGroup; ((%annotation;)?,
+                       (%attribute; | %attributeGroup;)*,
+                       (%anyAttribute;)?) >
+<!ATTLIST %attributeGroup;
+                 name       %NCName;       #IMPLIED
+                 id         ID             #IMPLIED
+                 ref        %QName;        #IMPLIED
+                 %attributeGroupAttrs;>
+
+<!-- ref iff no content, no name.  ref iff not top level -->
+
+<!-- better reference mechanisms -->
+<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %unique;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %uniqueAttrs;>
+
+<!ELEMENT %key;    ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %key;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyAttrs;>
+
+<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %keyref;
+          name     %NCName;       #REQUIRED
+	  refer    %QName;        #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyrefAttrs;>
+
+<!ELEMENT %selector; ((%annotation;)?)>
+<!ATTLIST %selector;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %selectorAttrs;>
+<!ELEMENT %field; ((%annotation;)?)>
+<!ATTLIST %field;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %fieldAttrs;>
+
+<!-- Schema combination mechanisms -->
+<!ELEMENT %include; (%annotation;)?>
+<!ATTLIST %include;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %includeAttrs;>
+
+<!ELEMENT %import; (%annotation;)?>
+<!ATTLIST %import;
+          namespace      %URIref; #IMPLIED
+          schemaLocation %URIref; #IMPLIED
+          id             ID       #IMPLIED
+          %importAttrs;>
+
+<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
+                      %attributeGroup; | %group;)*>
+<!ATTLIST %redefine;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %redefineAttrs;>
+
+<!ELEMENT %notation; (%annotation;)?>
+<!ATTLIST %notation;
+	  name        %NCName;    #REQUIRED
+	  id          ID          #IMPLIED
+	  public      CDATA       #REQUIRED
+	  system      %URIref;    #IMPLIED
+	  %notationAttrs;>
+
+<!-- Annotation is either application information or documentation -->
+<!-- By having these here they are available for datatypes as well
+     as all the structures elements -->
+
+<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
+<!ATTLIST %annotation; %annotationAttrs;>
+
+<!-- User must define annotation elements in internal subset for this
+     to work -->
+<!ELEMENT %appinfo; ANY>   <!-- too restrictive -->
+<!ATTLIST %appinfo;
+          source     %URIref;      #IMPLIED
+          id         ID         #IMPLIED
+          %appinfoAttrs;>
+<!ELEMENT %documentation; ANY>   <!-- too restrictive -->
+<!ATTLIST %documentation;
+          source     %URIref;   #IMPLIED
+          id         ID         #IMPLIED
+          xml:lang   CDATA      #IMPLIED
+          %documentationAttrs;>
+
+<!NOTATION XMLSchemaStructures PUBLIC
+           'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
+<!NOTATION XML PUBLIC
+           'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >

Propchange: webservices/woden/branches/woden-20/woden-commons/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd
------------------------------------------------------------------------------
    svn:executable = *



Mime
View raw message