diff --git a/DFDL/lib/validation/README.md b/DFDL/lib/validation/README.md deleted file mode 100644 index c8483059431ec5fc89e44c2883784b88dc3eec69..0000000000000000000000000000000000000000 --- a/DFDL/lib/validation/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# XML Validation Resources - -* [Ant SchemaValidate Task](https://ant.apache.org/manual/Tasks/schemavalidate.html) - -* [Related Resources for XML Schema](https://www.w3.org/2001/XMLSchema) \ No newline at end of file diff --git a/DFDL/lib/validation/XMLSchema.dtd b/DFDL/lib/validation/XMLSchema.dtd deleted file mode 100644 index 64aa2d97019249bc9a4baa3edbf7583b17cc342c..0000000000000000000000000000000000000000 --- a/DFDL/lib/validation/XMLSchema.dtd +++ /dev/null @@ -1,513 +0,0 @@ -<!-- DTD for XML Schema Definition Language Part 1: Structures - Public Identifier: "-//W3C//DTD XSD 1.1//EN" - Official Location: http://www.w3.org/2009/XMLSchema/XMLSchema.dtd --> -<!-- Id: structures.dtd,v 1.1 2003/08/28 13:30:52 ht Exp --> -<!-- With the exception of cases with multiple namespace - prefixes for the XSD 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 XSD namespace is almost certainly not - a valid schema document. --> - -<!-- See below (at the bottom of this document) for information about - the revision and namespace-versioning policy governing this DTD. --> -<!-- The simpleType element and its constituent parts - are defined in XML Schema Definition Language Part 2: Datatypes --> -<!ENTITY % xs-datatypes PUBLIC '-//W3C//DTD XSD 1.1 Datatypes//EN' 'datatypes.dtd' > - -<!ENTITY % p 'xs:'> <!-- can be overridden 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 % defaultOpenContent "%p;defaultOpenContent"> -<!ENTITY % complexType "%p;complexType"> -<!ENTITY % complexContent "%p;complexContent"> -<!ENTITY % openContent "%p;openContent"> -<!ENTITY % simpleContent "%p;simpleContent"> -<!ENTITY % extension "%p;extension"> -<!ENTITY % element "%p;element"> -<!ENTITY % alternative "%p;alternative"> -<!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 % override "%p;override"> -<!ENTITY % notation "%p;notation"> -<!ENTITY % assert "%p;assert"> - - -<!-- 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 schema documents --> - -<!ENTITY % schemaAttrs ''> -<!ENTITY % defaultOpenContentAttrs ''> -<!ENTITY % complexTypeAttrs ''> -<!ENTITY % complexContentAttrs ''> -<!ENTITY % openContentAttrs ''> -<!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 % assertAttrs ''> - -<!ENTITY % includeAttrs ''> -<!ENTITY % importAttrs ''> -<!ENTITY % redefineAttrs ''> -<!ENTITY % overrideAttrs ''> -<!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 % composition '%include; | %import; | %override; | %redefine;'> -<!ENTITY % mgs '%all; | %choice; | %sequence;'> -<!ENTITY % cs '%choice; | %sequence;'> -<!ENTITY % formValues '(qualified|unqualified)'> - - -<!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'> - -<!ENTITY % assertions '(%assert;)*'> - -<!ENTITY % particleAndAttrs '(%openContent;?, (%mgs; | %group;)?, - %attrDecls;, %assertions;)'> - -<!-- This is used in part2 --> -<!ENTITY % restriction1 '(%openContent;?, (%mgs; | %group;)?)'> - -%xs-datatypes; - -<!-- the duplication below is to produce an unambiguous content model - which allows annotation everywhere --> -<!ELEMENT %schema; ((%composition; | %annotation;)*, - (%defaultOpenContent;, (%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' - defaultAttributes CDATA #IMPLIED - xpathDefaultNamespace CDATA '##local' - xml:lang CDATA #IMPLIED - %schemaAttrs;> -<!-- Note the xmlns declaration is NOT in the - schema for schema documents, - 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. --> - -<!ELEMENT %defaultOpenContent; ((%annotation;)?, %any;)> -<!ATTLIST %defaultOpenContent; - appliesToEmpty (true|false) 'false' - mode (interleave|suffix) 'interleave' - id ID #IMPLIED - %defaultOpenContentAttrs;> - -<!-- 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' - defaultAttributesApply %boolean; 'true' - %complexTypeAttrs;> - -<!-- particleAndAttrs is shorthand for a root type --> -<!-- mixed is disallowed if simpleContent, overridden 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;> - -<!ELEMENT %openContent; ((%annotation;)?, (%any;)?)> -<!ATTLIST %openContent; - mode (none|interleave|suffix) 'interleave' - id ID #IMPLIED - %openContentAttrs;> - -<!-- 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;)?, - (%alternative;)*, - (%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 - targetNamespace %URIref; #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 xs:anyType, i.e. unconstrained --> -<!-- default and fixed are mutually exclusive --> - -<!ELEMENT %alternative; ((%annotation;)?, - (%simpleType; | %complexType;)?) > -<!ATTLIST %alternative; - test CDATA #IMPLIED - type %QName; #IMPLIED - xpathDefaultNamespace CDATA #IMPLIED - id ID #IMPLIED > - - -<!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;| %group;| %any;)*)> -<!ATTLIST %all; - minOccurs (0 | 1) #IMPLIED - maxOccurs (0 | 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 --> - - -<!ELEMENT %any; (%annotation;)?> -<!ATTLIST %any; - namespace CDATA #IMPLIED - notNamespace CDATA #IMPLIED - notQName CDATA '' - 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 --> - -<!-- notNamespace is interpreted as follows: - ##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 #IMPLIED - notNamespace CDATA #IMPLIED - notQName CDATA '' - processContents (skip|lax|strict) 'strict' - id ID #IMPLIED - %anyAttributeAttrs;> -<!-- namespace and notNamespace are 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 - targetNamespace %URIref; #IMPLIED - inheritable %boolean; #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; #IMPLIED - ref %QName; #IMPLIED - id ID #IMPLIED - %uniqueAttrs;> - -<!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)> -<!ATTLIST %key; - name %NCName; #IMPLIED - ref %QName; #IMPLIED - id ID #IMPLIED - %keyAttrs;> - -<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)> -<!ATTLIST %keyref; - name %NCName; #IMPLIED - ref %QName; #IMPLIED - refer %QName; #IMPLIED - id ID #IMPLIED - %keyrefAttrs;> - -<!ELEMENT %selector; ((%annotation;)?)> -<!ATTLIST %selector; - xpath %XPathExpr; #REQUIRED - xpathDefaultNamespace CDATA #IMPLIED - id ID #IMPLIED - %selectorAttrs;> -<!ELEMENT %field; ((%annotation;)?)> -<!ATTLIST %field; - xpath %XPathExpr; #REQUIRED - xpathDefaultNamespace CDATA #IMPLIED - id ID #IMPLIED - %fieldAttrs;> - -<!-- co-constraint assertions --> -<!ELEMENT %assert; ((%annotation;)?)> -<!ATTLIST %assert; - test %XPathExpr; #REQUIRED - id ID #IMPLIED - xpathDefaultNamespace CDATA #IMPLIED - %assertAttrs;> - - -<!-- 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 %override; ((%annotation;)?, - ((%simpleType; | %complexType; | %group; | %attributeGroup;) | - %element; | %attribute; | %notation;)*)> -<!ATTLIST %override; - schemaLocation %URIref; #REQUIRED - id ID #IMPLIED - %overrideAttrs;> - -<!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' > - -<!-- - In keeping with the XML Schema WG's standard versioning policy, - this DTD will persist at the URI - http://www.w3.org/2012/04/XMLSchema.dtd. - - At the date of issue it can also be found at the URI - http://www.w3.org/2009/XMLSchema/XMLSchema.dtd. - - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XSD - and its namespace. In other words, if XSD or the XML Schema - namespace change, the version of this document at - http://www.w3.org/2009/XMLSchema/XMLSchema.dtd will change accordingly; - the version at http://www.w3.org/2012/04/XMLSchema.dtd - will not change. - - Previous dated (and unchanging) versions of this DTD include: - - http://www.w3.org/2012/01/XMLSchema.dtd - (XSD 1.1 Proposed Recommendation) - - - http://www.w3.org/2011/07/XMLSchema.dtd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2009/04/XMLSchema.dtd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2004/10/XMLSchema.dtd - (XSD 1.0 Recommendation, Second Edition) - - http://www.w3.org/2001/05/XMLSchema.dtd - (XSD 1.0 Recommendation, First Edition) - ---> diff --git a/DFDL/lib/validation/XMLSchema.xsd b/DFDL/lib/validation/XMLSchema.xsd deleted file mode 100644 index 21c707cd4a4e730814572c3564ae189dda721630..0000000000000000000000000000000000000000 --- a/DFDL/lib/validation/XMLSchema.xsd +++ /dev/null @@ -1,1950 +0,0 @@ -<?xml version='1.0'?> - -<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XSD 1.1//EN" "XMLSchema.dtd" [ - -<!-- provide ID type information even for parsers which only read the - internal subset --> -<!ATTLIST xs:schema id ID #IMPLIED> -<!ATTLIST xs:complexType id ID #IMPLIED> -<!ATTLIST xs:complexContent id ID #IMPLIED> -<!ATTLIST xs:simpleContent id ID #IMPLIED> -<!ATTLIST xs:extension id ID #IMPLIED> -<!ATTLIST xs:element id ID #IMPLIED> -<!ATTLIST xs:group id ID #IMPLIED> -<!ATTLIST xs:all id ID #IMPLIED> -<!ATTLIST xs:choice id ID #IMPLIED> -<!ATTLIST xs:sequence id ID #IMPLIED> -<!ATTLIST xs:any id ID #IMPLIED> -<!ATTLIST xs:anyAttribute id ID #IMPLIED> -<!ATTLIST xs:attribute id ID #IMPLIED> -<!ATTLIST xs:attributeGroup id ID #IMPLIED> -<!ATTLIST xs:unique id ID #IMPLIED> -<!ATTLIST xs:key id ID #IMPLIED> -<!ATTLIST xs:keyref id ID #IMPLIED> -<!ATTLIST xs:selector id ID #IMPLIED> -<!ATTLIST xs:field id ID #IMPLIED> -<!ATTLIST xs:assert id ID #IMPLIED> -<!ATTLIST xs:include id ID #IMPLIED> -<!ATTLIST xs:import id ID #IMPLIED> -<!ATTLIST xs:redefine id ID #IMPLIED> -<!ATTLIST xs:override id ID #IMPLIED> -<!ATTLIST xs:notation id ID #IMPLIED> -<!-- - Make sure that processors that do not read the external - subset will know about the various IDs we declare - --> - <!ATTLIST xs:simpleType id ID #IMPLIED> - <!ATTLIST xs:maxExclusive id ID #IMPLIED> - <!ATTLIST xs:minExclusive id ID #IMPLIED> - <!ATTLIST xs:maxInclusive id ID #IMPLIED> - <!ATTLIST xs:minInclusive id ID #IMPLIED> - <!ATTLIST xs:totalDigits id ID #IMPLIED> - <!ATTLIST xs:fractionDigits id ID #IMPLIED> - <!ATTLIST xs:length id ID #IMPLIED> - <!ATTLIST xs:minLength id ID #IMPLIED> - <!ATTLIST xs:maxLength id ID #IMPLIED> - <!ATTLIST xs:enumeration id ID #IMPLIED> - <!ATTLIST xs:pattern id ID #IMPLIED> - <!ATTLIST xs:assertion id ID #IMPLIED> - <!ATTLIST xs:explicitTimezone id ID #IMPLIED> - <!ATTLIST xs:appinfo id ID #IMPLIED> - <!ATTLIST xs:documentation id ID #IMPLIED> - <!ATTLIST xs:list id ID #IMPLIED> - <!ATTLIST xs:union id ID #IMPLIED> - ]> - -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified" xml:lang="EN" - targetNamespace="http://www.w3.org/2001/XMLSchema" - version="1.0"> - <xs:annotation> - <xs:documentation> - Part 1 version: structures.xsd (rec-20120405) - Part 2 version: datatypes.xsd (rec-20120405) - </xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation source="../structures/structures.html"> - The schema corresponding to this document is normative, - with respect to the syntactic constraints it expresses in the - XML Schema Definition Language. The documentation (within 'documentation' elements) - below, is not normative, but rather highlights important aspects of - the W3C Recommendation of which this is a part. - - See below (at the bottom of this document) for information about - the revision and namespace-versioning policy governing this - schema document. - - </xs:documentation> - </xs:annotation> - <xs:annotation> - <xs:documentation> - The simpleType element and all of its members are defined - towards the end of this schema document.</xs:documentation> - </xs:annotation> - <xs:import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/xml.xsd"> - <xs:annotation> - <xs:documentation> - Get access to the xml: attribute groups for xml:lang - as declared on 'schema' and 'documentation' below - </xs:documentation> - </xs:annotation> - </xs:import> - <xs:complexType name="openAttrs"> - <xs:annotation> - <xs:documentation> - This type is extended by almost all schema types - to allow attributes from other namespaces to be - added to user schemas. - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:restriction base="xs:anyType"> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="annotated"> - <xs:annotation> - <xs:documentation> - This type is extended by all types which allow annotation - other than <schema> itself - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:openAttrs"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="id" type="xs:ID"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:group name="composition"> - <xs:choice> - <xs:element ref="xs:include"/> - <xs:element ref="xs:import"/> - <xs:element ref="xs:redefine"/> - <xs:element ref="xs:override"/> - <xs:element ref="xs:annotation"/> - </xs:choice> - </xs:group> - <xs:group name="schemaTop"> - <xs:annotation> - <xs:documentation> - This group is for the - elements which occur freely at the top level of schemas. - All of their types are based on the "annotated" type by extension.</xs:documentation> - </xs:annotation> - <xs:choice> - <xs:group ref="xs:redefinable"/> - <xs:element ref="xs:element"/> - <xs:element ref="xs:attribute"/> - <xs:element ref="xs:notation"/> - </xs:choice> - </xs:group> - <xs:group name="redefinable"> - <xs:annotation> - <xs:documentation> - This group is for the - elements which can self-redefine (see <redefine> below).</xs:documentation> - </xs:annotation> - <xs:choice> - <xs:element ref="xs:simpleType"/> - <xs:element ref="xs:complexType"/> - <xs:element ref="xs:group"/> - <xs:element ref="xs:attributeGroup"/> - </xs:choice> - </xs:group> - <xs:simpleType name="formChoice"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="qualified"/> - <xs:enumeration value="unqualified"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="reducedDerivationControl"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:derivationControl"> - <xs:enumeration value="extension"/> - <xs:enumeration value="restriction"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="derivationSet"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - <xs:documentation> - #all or (possibly empty) subset of {extension, restriction}</xs:documentation> - </xs:annotation> - <xs:union> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="#all"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType> - <xs:list itemType="xs:reducedDerivationControl"/> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:simpleType name="typeDerivationControl"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:derivationControl"> - <xs:enumeration value="extension"/> - <xs:enumeration value="restriction"/> - <xs:enumeration value="list"/> - <xs:enumeration value="union"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="fullDerivationSet"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - <xs:documentation> - #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation> - </xs:annotation> - <xs:union> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="#all"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType> - <xs:list itemType="xs:typeDerivationControl"/> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:element name="schema" id="schema"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-schema"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:openAttrs"> - <xs:sequence> - <xs:group ref="xs:composition" minOccurs="0" maxOccurs="unbounded"/> - <xs:sequence minOccurs="0"> - <xs:element ref="xs:defaultOpenContent"/> - <xs:element ref="xs:annotation" minOccurs="0" - maxOccurs="unbounded"/> - </xs:sequence> - <xs:sequence minOccurs="0" maxOccurs="unbounded"> - <xs:group ref="xs:schemaTop"/> - <xs:element ref="xs:annotation" minOccurs="0" - maxOccurs="unbounded"/> - </xs:sequence> - </xs:sequence> - <xs:attribute name="targetNamespace" type="xs:anyURI"/> - <xs:attribute name="version" type="xs:token"/> - <xs:attribute name="finalDefault" type="xs:fullDerivationSet" - default="" use="optional"/> - <xs:attribute name="blockDefault" type="xs:blockSet" default="" - use="optional"/> - <xs:attribute name="attributeFormDefault" type="xs:formChoice" - default="unqualified" use="optional"/> - <xs:attribute name="elementFormDefault" type="xs:formChoice" - default="unqualified" use="optional"/> - <xs:attribute name="defaultAttributes" type="xs:QName"/> - <xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace" - default="##local" use="optional"/> - <xs:attribute name="id" type="xs:ID"/> - <xs:attribute ref="xml:lang"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:key name="element"> - <xs:selector xpath="xs:element"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="attribute"> - <xs:selector xpath="xs:attribute"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="type"> - <xs:selector xpath="xs:complexType|xs:simpleType"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="group"> - <xs:selector xpath="xs:group"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="attributeGroup"> - <xs:selector xpath="xs:attributeGroup"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="notation"> - <xs:selector xpath="xs:notation"/> - <xs:field xpath="@name"/> - </xs:key> - <xs:key name="identityConstraint"> - <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/> - <xs:field xpath="@name"/> - </xs:key> - </xs:element> - <xs:simpleType name="allNNI"> - <xs:annotation> - <xs:documentation> - for maxOccurs</xs:documentation> - </xs:annotation> - <xs:union memberTypes="xs:nonNegativeInteger"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="unbounded"/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:attributeGroup name="occurs"> - <xs:annotation> - <xs:documentation> - for all particles</xs:documentation> - </xs:annotation> - <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" default="1" - use="optional"/> - <xs:attribute name="maxOccurs" type="xs:allNNI" default="1" use="optional"/> - </xs:attributeGroup> - <xs:attributeGroup name="defRef"> - <xs:annotation> - <xs:documentation> - for element, group and attributeGroup, - which both define and reference</xs:documentation> - </xs:annotation> - <xs:attribute name="name" type="xs:NCName"/> - <xs:attribute name="ref" type="xs:QName"/> - </xs:attributeGroup> - <xs:group name="typeDefParticle"> - <xs:annotation> - <xs:documentation> - 'complexType' uses this</xs:documentation> - </xs:annotation> - <xs:choice> - <xs:element name="group" type="xs:groupRef"/> - <xs:element ref="xs:all"/> - <xs:element ref="xs:choice"/> - <xs:element ref="xs:sequence"/> - </xs:choice> - </xs:group> - <xs:group name="nestedParticle"> - <xs:choice> - <xs:element name="element" type="xs:localElement"/> - <xs:element name="group" type="xs:groupRef"/> - - <xs:element ref="xs:choice"/> - <xs:element ref="xs:sequence"/> - <xs:element ref="xs:any"/> - </xs:choice> - </xs:group> - <xs:group name="particle"> - <xs:choice> - <xs:element name="element" type="xs:localElement"/> - <xs:element name="group" type="xs:groupRef"/> - <xs:element ref="xs:all"/> - <xs:element ref="xs:choice"/> - <xs:element ref="xs:sequence"/> - <xs:element ref="xs:any"/> - </xs:choice> - </xs:group> - <xs:complexType name="attribute"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/> - </xs:sequence> - <xs:attributeGroup ref="xs:defRef"/> - <xs:attribute name="type" type="xs:QName"/> - <xs:attribute name="use" default="optional" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="prohibited"/> - <xs:enumeration value="optional"/> - <xs:enumeration value="required"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="default" type="xs:string"/> - <xs:attribute name="fixed" type="xs:string"/> - <xs:attribute name="form" type="xs:formChoice"/> - <xs:attribute name="targetNamespace" type="xs:anyURI"/> - - <xs:attribute name="inheritable" type="xs:boolean"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="topLevelAttribute"> - <xs:complexContent> - <xs:restriction base="xs:attribute"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="ref" use="prohibited"/> - <xs:attribute name="form" use="prohibited"/> - <xs:attribute name="use" use="prohibited"/> - <xs:attribute name="targetNamespace" use="prohibited"/> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:attribute name="inheritable" type="xs:boolean"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:group name="attrDecls"> - <xs:sequence> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="attribute" type="xs:attribute"/> - <xs:element name="attributeGroup" type="xs:attributeGroupRef"/> - </xs:choice> - <xs:element ref="xs:anyAttribute" minOccurs="0"/> - </xs:sequence> - </xs:group> - <xs:element name="anyAttribute" id="anyAttribute"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-anyAttribute"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:wildcard"> - <xs:attribute name="notQName" type="xs:qnameListA" - use="optional"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:group name="assertions"> - <xs:sequence> - <xs:element name="assert" type="xs:assertion" - minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - </xs:group> - <xs:complexType name="assertion"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="test" type="xs:string"/> - <xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:group name="complexTypeModel"> - <xs:choice> - <xs:element ref="xs:simpleContent"/> - <xs:element ref="xs:complexContent"/> - <xs:sequence> - <xs:annotation> - <xs:documentation> - This branch is short for - <complexContent> - <restriction base="xs:anyType"> - ... - </restriction> - </complexContent></xs:documentation> - </xs:annotation> - <xs:element ref="xs:openContent" minOccurs="0"/> - <xs:group ref="xs:typeDefParticle" minOccurs="0"/> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - </xs:choice> - </xs:group> - <xs:complexType name="complexType" abstract="true"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:group ref="xs:complexTypeModel"/> - <xs:attribute name="name" type="xs:NCName"> - <xs:annotation> - <xs:documentation> - Will be restricted to required or prohibited</xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="mixed" type="xs:boolean" use="optional"> - <xs:annotation> - <xs:documentation> - Not allowed if simpleContent child is chosen. - May be overridden by setting on complexContent child.</xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="abstract" type="xs:boolean" default="false" - use="optional"/> - <xs:attribute name="final" type="xs:derivationSet"/> - <xs:attribute name="block" type="xs:derivationSet"/> - <xs:attribute name="defaultAttributesApply" type="xs:boolean" - default="true" use="optional"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="topLevelComplexType"> - <xs:complexContent> - <xs:restriction base="xs:complexType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:complexTypeModel"/> - </xs:sequence> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="localComplexType"> - <xs:complexContent> - <xs:restriction base="xs:complexType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:complexTypeModel"/> - </xs:sequence> - <xs:attribute name="name" use="prohibited"/> - <xs:attribute name="abstract" use="prohibited"/> - <xs:attribute name="final" use="prohibited"/> - <xs:attribute name="block" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="restrictionType"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:choice minOccurs="0"> - - <xs:sequence> - <xs:element ref="xs:openContent" minOccurs="0"/> - <xs:group ref="xs:typeDefParticle"/> - </xs:sequence> - <xs:group ref="xs:simpleRestrictionModel"/> - </xs:choice> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - <xs:attribute name="base" type="xs:QName" use="required"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="complexRestrictionType"> - <xs:complexContent> - <xs:restriction base="xs:restrictionType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0"> - <xs:annotation> - <xs:documentation>This choice is added simply to - make this a valid restriction per the REC</xs:documentation> - </xs:annotation> - - <xs:sequence> - <xs:element ref="xs:openContent" minOccurs="0"/> - <xs:group ref="xs:typeDefParticle"/> - </xs:sequence> - </xs:choice> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="extensionType"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element ref="xs:openContent" minOccurs="0"/> - <xs:group ref="xs:typeDefParticle" minOccurs="0"/> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - <xs:attribute name="base" type="xs:QName" use="required"/> - - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:element name="complexContent" id="complexContent"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-complexContent"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:choice> - <xs:element name="restriction" type="xs:complexRestrictionType"/> - <xs:element name="extension" type="xs:extensionType"/> - </xs:choice> - <xs:attribute name="mixed" type="xs:boolean"> - <xs:annotation> - <xs:documentation> - Overrides any setting on complexType parent.</xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="openContent" id="openContent"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-openContent"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element name="any" minOccurs="0" type="xs:wildcard"/> - </xs:sequence> - <xs:attribute name="mode" default="interleave" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="none"/> - <xs:enumeration value="interleave"/> - <xs:enumeration value="suffix"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="defaultOpenContent" id="defaultOpenContent"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-defaultOpenContent"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element name="any" type="xs:wildcard"/> - </xs:sequence> - <xs:attribute name="appliesToEmpty" type="xs:boolean" - default="false" use="optional"/> - <xs:attribute name="mode" default="interleave" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="interleave"/> - <xs:enumeration value="suffix"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:complexType name="simpleRestrictionType"> - <xs:complexContent> - <xs:restriction base="xs:restrictionType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0"> - <xs:annotation> - <xs:documentation>This choice is added simply to - make this a valid restriction per the REC</xs:documentation> - </xs:annotation> - <xs:group ref="xs:simpleRestrictionModel"/> - </xs:choice> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="simpleExtensionType"> - <xs:complexContent> - <xs:restriction base="xs:extensionType"> - <xs:sequence> - <xs:annotation> - <xs:documentation> - No typeDefParticle group reference</xs:documentation> - </xs:annotation> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:attrDecls"/> - <xs:group ref="xs:assertions"/> - </xs:sequence> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="simpleContent" id="simpleContent"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-simpleContent"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:choice> - <xs:element name="restriction" type="xs:simpleRestrictionType"/> - <xs:element name="extension" type="xs:simpleExtensionType"/> - </xs:choice> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-complexType"/> - </xs:annotation> - </xs:element> - <xs:simpleType name="blockSet"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - <xs:documentation> - #all or (possibly empty) subset of {substitution, extension, - restriction}</xs:documentation> - </xs:annotation> - <xs:union> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="#all"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType> - <xs:list> - <xs:simpleType> - <xs:restriction base="xs:derivationControl"> - <xs:enumeration value="extension"/> - <xs:enumeration value="restriction"/> - <xs:enumeration value="substitution"/> - </xs:restriction> - </xs:simpleType> - </xs:list> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:complexType name="element" abstract="true"> - <xs:annotation> - <xs:documentation> - The element element can be used either - at the top level to define an element-type binding globally, - or within a content model to either reference a globally-defined - element or type or declare an element-type binding locally. - The ref form is not allowed at the top level.</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:choice minOccurs="0"> - <xs:element name="simpleType" type="xs:localSimpleType"/> - <xs:element name="complexType" type="xs:localComplexType"/> - </xs:choice> - <xs:element name="alternative" type="xs:altType" - minOccurs="0" maxOccurs="unbounded"/> - <xs:group ref="xs:identityConstraint" minOccurs="0" - maxOccurs="unbounded"/> - </xs:sequence> - <xs:attributeGroup ref="xs:defRef"/> - <xs:attribute name="type" type="xs:QName"/> - - <xs:attribute name="substitutionGroup"> - <xs:simpleType> - <xs:list itemType="xs:QName"/> - </xs:simpleType> - </xs:attribute> - <xs:attributeGroup ref="xs:occurs"/> - <xs:attribute name="default" type="xs:string"/> - <xs:attribute name="fixed" type="xs:string"/> - <xs:attribute name="nillable" type="xs:boolean" use="optional"/> - <xs:attribute name="abstract" type="xs:boolean" default="false" - use="optional"/> - <xs:attribute name="final" type="xs:derivationSet"/> - <xs:attribute name="block" type="xs:blockSet"/> - <xs:attribute name="form" type="xs:formChoice"/> - <xs:attribute name="targetNamespace" type="xs:anyURI"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="topLevelElement"> - <xs:complexContent> - <xs:restriction base="xs:element"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0"> - <xs:element name="simpleType" type="xs:localSimpleType"/> - <xs:element name="complexType" type="xs:localComplexType"/> - </xs:choice> - <xs:element name="alternative" type="xs:altType" - minOccurs="0" maxOccurs="unbounded"/> - <xs:group ref="xs:identityConstraint" minOccurs="0" - maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="ref" use="prohibited"/> - <xs:attribute name="form" use="prohibited"/> - <xs:attribute name="targetNamespace" use="prohibited"/> - <xs:attribute name="minOccurs" use="prohibited"/> - <xs:attribute name="maxOccurs" use="prohibited"/> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="localElement"> - <xs:complexContent> - <xs:restriction base="xs:element"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0"> - <xs:element name="simpleType" type="xs:localSimpleType"/> - <xs:element name="complexType" type="xs:localComplexType"/> - </xs:choice> - <xs:element name="alternative" type="xs:altType" - minOccurs="0" maxOccurs="unbounded"/> - <xs:group ref="xs:identityConstraint" minOccurs="0" - maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="substitutionGroup" use="prohibited"/> - <xs:attribute name="final" use="prohibited"/> - <xs:attribute name="abstract" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="element" type="xs:topLevelElement" id="element"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-element"/> - </xs:annotation> - </xs:element> - <xs:complexType name="altType"> - <xs:annotation> - <xs:documentation> - This type is used for 'alternative' elements. - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:choice minOccurs="0"> - <xs:element name="simpleType" type="xs:localSimpleType"/> - <xs:element name="complexType" type="xs:localComplexType"/> - </xs:choice> - <xs:attribute name="test" type="xs:string" use="optional"/> - <xs:attribute name="type" type="xs:QName" use="optional"/> - <xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="group" abstract="true"> - <xs:annotation> - <xs:documentation> - group type for explicit groups, named top-level groups and - group references</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - - <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/> - - <xs:attributeGroup ref="xs:defRef"/> - <xs:attributeGroup ref="xs:occurs"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="realGroup"> - <xs:complexContent> - <xs:restriction base="xs:group"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0" maxOccurs="1"> - <xs:element ref="xs:all"/> - <xs:element ref="xs:choice"/> - <xs:element ref="xs:sequence"/> - </xs:choice> - - </xs:sequence> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="namedGroup"> - <xs:complexContent> - <xs:restriction base="xs:realGroup"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="1" maxOccurs="1"> - <xs:element name="all"> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:all"> - <xs:group ref="xs:allModel"/> - <xs:attribute name="minOccurs" use="prohibited"/> - <xs:attribute name="maxOccurs" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="choice" type="xs:simpleExplicitGroup"/> - <xs:element name="sequence" type="xs:simpleExplicitGroup"/> - </xs:choice> - </xs:sequence> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:attribute name="ref" use="prohibited"/> - <xs:attribute name="minOccurs" use="prohibited"/> - <xs:attribute name="maxOccurs" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="groupRef"> - <xs:complexContent> - <xs:restriction base="xs:realGroup"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="ref" type="xs:QName" use="required"/> - <xs:attribute name="name" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="explicitGroup"> - <xs:annotation> - <xs:documentation> - group type for the three kinds of group</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:restriction base="xs:group"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="name" use="prohibited"/> - <xs:attribute name="ref" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="simpleExplicitGroup"> - <xs:complexContent> - <xs:restriction base="xs:explicitGroup"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="minOccurs" use="prohibited"/> - <xs:attribute name="maxOccurs" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:group name="allModel"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation>This choice with min/max is here to - avoid a pblm with the Elt:All/Choice/Seq - Particle derivation constraint</xs:documentation> - </xs:annotation> - <xs:element name="element" type="xs:localElement"/> - <xs:element ref="xs:any"/> - <xs:element name="group"> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:groupRef"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="minOccurs" fixed="1" type="xs:nonNegativeInteger"/> - <xs:attribute name="maxOccurs" fixed="1" type="xs:nonNegativeInteger"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:group> - <xs:complexType name="all"> - <xs:annotation> - <xs:documentation> - Only elements allowed inside</xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:restriction base="xs:explicitGroup"> - <xs:group ref="xs:allModel"/> - <xs:attribute name="minOccurs" default="1" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:nonNegativeInteger"> - <xs:enumeration value="0"/> - <xs:enumeration value="1"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="maxOccurs" default="1" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:allNNI"> - <xs:enumeration value="0"/> - <xs:enumeration value="1"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="all" type="xs:all" id="all"> - <xs:annotation> - <xs:documentation source="../structures/structures.html#element-all"/> - </xs:annotation> - </xs:element> - <xs:element name="choice" type="xs:explicitGroup" id="choice"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-choice"/> - </xs:annotation> - </xs:element> - <xs:element name="sequence" type="xs:explicitGroup" id="sequence"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-sequence"/> - </xs:annotation> - </xs:element> - <xs:element name="group" type="xs:namedGroup" id="group"> - <xs:annotation> - <xs:documentation source="../structures/structures.html#element-group"/> - </xs:annotation> - </xs:element> - <xs:attributeGroup name="anyAttrGroup"> - <xs:attribute name="namespace" type="xs:namespaceList" - use="optional"/> - <xs:attribute name="notNamespace" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:basicNamespaceList"> - <xs:minLength value="1"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="processContents" default="strict" use="optional"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="skip"/> - <xs:enumeration value="lax"/> - <xs:enumeration value="strict"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:complexType name="wildcard"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - - <xs:attributeGroup ref="xs:anyAttrGroup"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:element name="any" id="any"> - <xs:annotation> - <xs:documentation source="../structures/structures.html#element-any"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:wildcard"> - <xs:attribute name="notQName" type="xs:qnameList" - use="optional"/> - <xs:attributeGroup ref="xs:occurs"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:annotation> - <xs:documentation> - simple type for the value of the 'namespace' attr of - 'any' and 'anyAttribute'</xs:documentation> - </xs:annotation> - <xs:annotation> - <xs:documentation> - Value is - ##any - - any non-conflicting WFXML/attribute at all - - ##other - - any non-conflicting WFXML/attribute from - namespace other than targetNS - - ##local - - any unqualified non-conflicting WFXML/attribute - - one or - - any non-conflicting WFXML/attribute from - more URI the listed namespaces - references - (space separated) - - ##targetNamespace or ##local may appear in the above list, to - refer to the targetNamespace of the enclosing - schema or an absent targetNamespace respectively</xs:documentation> - </xs:annotation> - <xs:simpleType name="namespaceList"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - - <xs:union memberTypes="xs:specialNamespaceList xs:basicNamespaceList" /> - </xs:simpleType> - <xs:simpleType name="basicNamespaceList"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:list> - <xs:simpleType> - <xs:union memberTypes="xs:anyURI"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="##targetNamespace"/> - <xs:enumeration value="##local"/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - </xs:list> - </xs:simpleType> - <xs:simpleType name="specialNamespaceList"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:token"> - <xs:enumeration value="##any"/> - <xs:enumeration value="##other"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="qnameList"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use - </xs:documentation> - </xs:annotation> - <xs:list> - <xs:simpleType> - <xs:union memberTypes="xs:QName"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="##defined"/> - <xs:enumeration value="##definedSibling"/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - </xs:list> - </xs:simpleType> - <xs:simpleType name="qnameListA"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use - </xs:documentation> - </xs:annotation> - <xs:list> - <xs:simpleType> - <xs:union memberTypes="xs:QName"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="##defined"/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - </xs:list> - </xs:simpleType> - <xs:simpleType name="xpathDefaultNamespace"> - <xs:union memberTypes="xs:anyURI"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="##defaultNamespace"/> - <xs:enumeration value="##targetNamespace"/> - <xs:enumeration value="##local"/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-attribute"/> - </xs:annotation> - </xs:element> - <xs:complexType name="attributeGroup" abstract="true"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - - <xs:group ref="xs:attrDecls"/> - - <xs:attributeGroup ref="xs:defRef"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="namedAttributeGroup"> - <xs:complexContent> - <xs:restriction base="xs:attributeGroup"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:attrDecls"/> - - </xs:sequence> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:attribute name="ref" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="attributeGroupRef"> - <xs:complexContent> - <xs:restriction base="xs:attributeGroup"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="ref" type="xs:QName" use="required"/> - <xs:attribute name="name" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="attributeGroup" type="xs:namedAttributeGroup" - id="attributeGroup"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-attributeGroup"/> - </xs:annotation> - </xs:element> - <xs:element name="include" id="include"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-include"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="redefine" id="redefine"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-redefine"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:openAttrs"> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element ref="xs:annotation"/> - <xs:group ref="xs:redefinable"/> - </xs:choice> - <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/> - <xs:attribute name="id" type="xs:ID"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - - <xs:element name="override" id="override"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-override"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:openAttrs"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:schemaTop" minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/> - <xs:attribute name="id" type="xs:ID"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="import" id="import"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-import"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="namespace" type="xs:anyURI"/> - <xs:attribute name="schemaLocation" type="xs:anyURI"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="selector" id="selector"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-selector"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="xpath" use="required"> - <xs:simpleType> - <xs:annotation> - <xs:documentation>A subset of XPath expressions for use -in selectors</xs:documentation> - <xs:documentation>A utility type, not for public -use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:token"/> - - </xs:simpleType> - </xs:attribute> - <xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="field" id="field"> - <xs:annotation> - <xs:documentation source="../structures/structures.html#element-field"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="xpath" use="required"> - <xs:simpleType> - <xs:annotation> - <xs:documentation>A subset of XPath expressions for use -in fields</xs:documentation> - <xs:documentation>A utility type, not for public -use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:token"/> - - </xs:simpleType> - </xs:attribute> - <xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:complexType name="keybase"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence minOccurs="0"> - <xs:element ref="xs:selector"/> - <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="name" type="xs:NCName"/> - <xs:attribute name="ref" type="xs:QName"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:group name="identityConstraint"> - <xs:annotation> - <xs:documentation>The three kinds of identity constraints, all with - type of or derived from 'keybase'. - </xs:documentation> - </xs:annotation> - <xs:choice> - <xs:element ref="xs:unique"/> - <xs:element ref="xs:key"/> - <xs:element ref="xs:keyref"/> - </xs:choice> - </xs:group> - <xs:element name="unique" type="xs:keybase" id="unique"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-unique"/> - </xs:annotation> - </xs:element> - <xs:element name="key" type="xs:keybase" id="key"> - <xs:annotation> - <xs:documentation source="../structures/structures.html#element-key"/> - </xs:annotation> - </xs:element> - <xs:element name="keyref" id="keyref"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-keyref"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:keybase"> - <xs:attribute name="refer" type="xs:QName"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="notation" id="notation"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-notation"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="name" type="xs:NCName" use="required"/> - <xs:attribute name="public" type="xs:public"/> - <xs:attribute name="system" type="xs:anyURI"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:simpleType name="public"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - <xs:documentation> - A public identifier, per ISO 8879</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:token"/> - </xs:simpleType> - <xs:element name="appinfo" id="appinfo"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-appinfo"/> - </xs:annotation> - <xs:complexType mixed="true"> - <xs:sequence minOccurs="0" maxOccurs="unbounded"> - <xs:any processContents="lax"/> - </xs:sequence> - <xs:attribute name="source" type="xs:anyURI"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:complexType> - </xs:element> - <xs:element name="documentation" id="documentation"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-documentation"/> - </xs:annotation> - <xs:complexType mixed="true"> - <xs:sequence minOccurs="0" maxOccurs="unbounded"> - <xs:any processContents="lax"/> - </xs:sequence> - <xs:attribute name="source" type="xs:anyURI"/> - <xs:attribute ref="xml:lang"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:complexType> - </xs:element> - <xs:element name="annotation" id="annotation"> - <xs:annotation> - <xs:documentation - source="../structures/structures.html#element-annotation"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:extension base="xs:openAttrs"> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element ref="xs:appinfo"/> - <xs:element ref="xs:documentation"/> - </xs:choice> - <xs:attribute name="id" type="xs:ID"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:annotation> - <xs:documentation> - notations for use within schema documents</xs:documentation> - </xs:annotation> - <xs:notation name="XMLSchemaStructures" public="structures" - system="http://www.w3.org/2000/08/XMLSchema.xsd"/> - <xs:notation name="XML" public="REC-xml-19980210" - system="http://www.w3.org/TR/1998/REC-xml-19980210"/> - <xs:complexType name="anyType" mixed="true"> - <xs:annotation> - <xs:documentation> - Not the real urType, but as close an approximation as we can - get in the XML representation</xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> - </xs:sequence> - <xs:anyAttribute processContents="lax"/> - </xs:complexType> - - <xs:annotation> - <xs:documentation> - In keeping with the XML Schema WG's standard versioning policy, - the material in this schema document will persist at the URI - http://www.w3.org/2012/04/XMLSchema.xsd. - - At the date of issue it can also be found at the URI - http://www.w3.org/2009/XMLSchema/XMLSchema.xsd. - - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XSD - and its namespace. In other words, if XSD or the XML Schema - namespace change, the version of this document at - http://www.w3.org/2009/XMLSchema/XMLSchema.xsd will change accordingly; - the version at http://www.w3.org/2012/04/XMLSchema.xsd will not change. - - Previous dated (and unchanging) versions of this schema document - include: - - http://www.w3.org/2012/01/XMLSchema.xsd - (XSD 1.1 Proposed Recommendation) - - http://www.w3.org/2011/07/XMLSchema.xsd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2009/04/XMLSchema.xsd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2004/10/XMLSchema.xsd - (XSD 1.0 Recommendation, Second Edition) - - http://www.w3.org/2001/05/XMLSchema.xsd - (XSD 1.0 Recommendation, First Edition) - - - </xs:documentation> - </xs:annotation> - - - - - <xs:simpleType name="derivationControl"> - <xs:annotation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="substitution"/> - <xs:enumeration value="extension"/> - <xs:enumeration value="restriction"/> - <xs:enumeration value="list"/> - <xs:enumeration value="union"/> - </xs:restriction> - </xs:simpleType> - <xs:group name="simpleDerivation"> - <xs:choice> - <xs:element ref="xs:restriction"/> - <xs:element ref="xs:list"/> - <xs:element ref="xs:union"/> - </xs:choice> - </xs:group> - <xs:simpleType name="simpleDerivationSet"> - <xs:annotation> - <xs:documentation> - #all or (possibly empty) subset of {restriction, extension, union, list} - </xs:documentation> - <xs:documentation> - A utility type, not for public use</xs:documentation> - </xs:annotation> - <xs:union> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="#all"/> - </xs:restriction> - </xs:simpleType> - <xs:simpleType> - <xs:list> - <xs:simpleType> - <xs:restriction base="xs:derivationControl"> - <xs:enumeration value="list"/> - <xs:enumeration value="union"/> - <xs:enumeration value="restriction"/> - <xs:enumeration value="extension"/> - </xs:restriction> - </xs:simpleType> - </xs:list> - </xs:simpleType> - </xs:union> - </xs:simpleType> - <xs:complexType name="simpleType" abstract="true"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:group ref="xs:simpleDerivation"/> - <xs:attribute name="final" type="xs:simpleDerivationSet"/> - <xs:attribute name="name" type="xs:NCName"> - <xs:annotation> - <xs:documentation> - Can be restricted to required or forbidden - </xs:documentation> - </xs:annotation> - </xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="topLevelSimpleType"> - <xs:complexContent> - <xs:restriction base="xs:simpleType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:simpleDerivation"/> - </xs:sequence> - <xs:attribute name="name" type="xs:NCName" use="required"> - <xs:annotation> - <xs:documentation> - Required at the top level - </xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="localSimpleType"> - <xs:complexContent> - <xs:restriction base="xs:simpleType"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - <xs:group ref="xs:simpleDerivation"/> - </xs:sequence> - <xs:attribute name="name" use="prohibited"> - <xs:annotation> - <xs:documentation> - Forbidden when nested - </xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="final" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-simpleType"/> - </xs:annotation> - </xs:element> - <xs:element name="facet" abstract="true"> - <xs:annotation> - <xs:documentation> - An abstract element, representing facets in general. - The facets defined by this spec are substitutable for - this element, and implementation-defined facets should - also name this as a substitution-group head. - </xs:documentation> - </xs:annotation> - </xs:element> - <xs:group name="simpleRestrictionModel"> - <xs:sequence> - <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/> - <xs:choice minOccurs="0" - maxOccurs="unbounded"> - <xs:element ref="xs:facet"/> - <xs:any processContents="lax" - namespace="##other"/> - </xs:choice> - </xs:sequence> - </xs:group> - <xs:element name="restriction" id="restriction"> - <xs:complexType> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-restriction"> - base attribute and simpleType child are mutually - exclusive, but one or other is required - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:group ref="xs:simpleRestrictionModel"/> - <xs:attribute name="base" type="xs:QName" use="optional"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="list" id="list"> - <xs:complexType> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-list"> - itemType attribute and simpleType child are mutually - exclusive, but one or other is required - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element name="simpleType" type="xs:localSimpleType" - minOccurs="0"/> - </xs:sequence> - <xs:attribute name="itemType" type="xs:QName" use="optional"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="union" id="union"> - <xs:complexType> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-union"> - memberTypes attribute must be non-empty or there must be - at least one simpleType child - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:sequence> - <xs:element name="simpleType" type="xs:localSimpleType" - minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="memberTypes" use="optional"> - <xs:simpleType> - <xs:list itemType="xs:QName"/> - </xs:simpleType> - </xs:attribute> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:complexType name="facet"> - <xs:complexContent> - <xs:extension base="xs:annotated"> - <xs:attribute name="value" use="required"/> - <xs:attribute name="fixed" type="xs:boolean" default="false" - use="optional"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="noFixedFacet"> - <xs:complexContent> - <xs:restriction base="xs:facet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="fixed" use="prohibited"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - <xs:element name="minExclusive" type="xs:facet" - id="minExclusive" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-minExclusive"/> - </xs:annotation> - </xs:element> - <xs:element name="minInclusive" type="xs:facet" - id="minInclusive" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-minInclusive"/> - </xs:annotation> - </xs:element> - <xs:element name="maxExclusive" type="xs:facet" - id="maxExclusive" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-maxExclusive"/> - </xs:annotation> - </xs:element> - <xs:element name="maxInclusive" type="xs:facet" - id="maxInclusive" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-maxInclusive"/> - </xs:annotation> - </xs:element> - <xs:complexType name="numFacet"> - <xs:complexContent> - <xs:restriction base="xs:facet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" - type="xs:nonNegativeInteger" use="required"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="intFacet"> - <xs:complexContent> - <xs:restriction base="xs:facet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" type="xs:integer" use="required"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - - <xs:element name="totalDigits" id="totalDigits" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-totalDigits"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:numFacet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" type="xs:positiveInteger" use="required"/> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="fractionDigits" type="xs:numFacet" - id="fractionDigits" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-fractionDigits"/> - </xs:annotation> - </xs:element> - - <xs:element name="length" type="xs:numFacet" id="length" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-length"/> - </xs:annotation> - </xs:element> - <xs:element name="minLength" type="xs:numFacet" - id="minLength" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-minLength"/> - </xs:annotation> - </xs:element> - <xs:element name="maxLength" type="xs:numFacet" - id="maxLength" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-maxLength"/> - </xs:annotation> - </xs:element> - <xs:element name="enumeration" type="xs:noFixedFacet" - id="enumeration" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-enumeration"/> - </xs:annotation> - </xs:element> - <xs:element name="whiteSpace" id="whiteSpace" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-whiteSpace"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:facet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" use="required"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="preserve"/> - <xs:enumeration value="replace"/> - <xs:enumeration value="collapse"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="pattern" id="pattern" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-pattern"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:noFixedFacet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" type="xs:string" - use="required"/> - <xs:anyAttribute namespace="##other" - processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="assertion" type="xs:assertion" - id="assertion" substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-assertion"/> - </xs:annotation> - </xs:element> - <xs:element name="explicitTimezone" id="explicitTimezone" - substitutionGroup="xs:facet"> - <xs:annotation> - <xs:documentation - source="http://www.w3.org/TR/xmlschema11-2/#element-explicitTimezone"/> - </xs:annotation> - <xs:complexType> - <xs:complexContent> - <xs:restriction base="xs:facet"> - <xs:sequence> - <xs:element ref="xs:annotation" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="value" use="required"> - <xs:simpleType> - <xs:restriction base="xs:NMTOKEN"> - <xs:enumeration value="optional"/> - <xs:enumeration value="required"/> - <xs:enumeration value="prohibited"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:anyAttribute namespace="##other" processContents="lax"/> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - </xs:element> - - <xs:annotation> - <xs:documentation> - In keeping with the XML Schema WG's standard versioning policy, - this schema document will persist at the URI - http://www.w3.org/2012/04/datatypes.xsd. - - At the date of issue it can also be found at the URI - http://www.w3.org/2009/XMLSchema/datatypes.xsd. - - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XSD - and its namespace. In other words, if XSD or the XML Schema - namespace change, the version of this document at - http://www.w3.org/2009/XMLSchema/datatypes.xsd will change accordingly; - the version at http://www.w3.org/2012/04/datatypes.xsd will not change. - - Previous dated (and unchanging) versions of this schema document - include: - - http://www.w3.org/2012/01/datatypes.xsd - (XSD 1.1 Proposed Recommendation) - - http://www.w3.org/2011/07/datatypes.xsd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2009/04/datatypes.xsd - (XSD 1.1 Candidate Recommendation) - - http://www.w3.org/2004/10/datatypes.xsd - (XSD 1.0 Recommendation, Second Edition) - - http://www.w3.org/2001/05/datatypes.xsd - (XSD 1.0 Recommendation, First Edition) - - </xs:documentation> - </xs:annotation> - - - -</xs:schema> diff --git a/DFDL/lib/validation/datatypes.dtd b/DFDL/lib/validation/datatypes.dtd deleted file mode 100644 index f9352bae1c4f7f9cfc4ca79b05fc5af18436cbe1..0000000000000000000000000000000000000000 --- a/DFDL/lib/validation/datatypes.dtd +++ /dev/null @@ -1,222 +0,0 @@ -<!-- - DTD for XML Schemas: Part 2: Datatypes - - Id: datatypes.dtd,v 1.1.2.4 2005/01/31 18:40:42 cmsmcq Exp - Note this DTD is NOT normative, or even definitive. - --> - -<!-- - This DTD cannot be used on its own, it is intended - only for incorporation in XMLSchema.dtd, q.v. - --> - -<!-- Define all the element names, with optional prefix --> -<!ENTITY % simpleType "%p;simpleType"> -<!ENTITY % restriction "%p;restriction"> -<!ENTITY % list "%p;list"> -<!ENTITY % union "%p;union"> -<!ENTITY % maxExclusive "%p;maxExclusive"> -<!ENTITY % minExclusive "%p;minExclusive"> -<!ENTITY % maxInclusive "%p;maxInclusive"> -<!ENTITY % minInclusive "%p;minInclusive"> -<!ENTITY % totalDigits "%p;totalDigits"> -<!ENTITY % fractionDigits "%p;fractionDigits"> - -<!ENTITY % length "%p;length"> -<!ENTITY % minLength "%p;minLength"> -<!ENTITY % maxLength "%p;maxLength"> -<!ENTITY % enumeration "%p;enumeration"> -<!ENTITY % whiteSpace "%p;whiteSpace"> -<!ENTITY % pattern "%p;pattern"> - -<!ENTITY % assertion "%p;assertion"> - -<!ENTITY % explicitTimezone "%p;explicitTimezone"> - - -<!-- - Customization 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 % simpleTypeAttrs ""> -<!ENTITY % restrictionAttrs ""> -<!ENTITY % listAttrs ""> -<!ENTITY % unionAttrs ""> -<!ENTITY % maxExclusiveAttrs ""> -<!ENTITY % minExclusiveAttrs ""> -<!ENTITY % maxInclusiveAttrs ""> -<!ENTITY % minInclusiveAttrs ""> -<!ENTITY % totalDigitsAttrs ""> -<!ENTITY % fractionDigitsAttrs ""> -<!ENTITY % lengthAttrs ""> -<!ENTITY % minLengthAttrs ""> -<!ENTITY % maxLengthAttrs ""> - -<!ENTITY % enumerationAttrs ""> -<!ENTITY % whiteSpaceAttrs ""> -<!ENTITY % patternAttrs ""> -<!ENTITY % assertionAttrs ""> -<!ENTITY % explicitTimezoneAttrs ""> - -<!-- Define some entities for informative use as attribute - types --> -<!ENTITY % URIref "CDATA"> -<!ENTITY % XPathExpr "CDATA"> -<!ENTITY % QName "NMTOKEN"> -<!ENTITY % QNames "NMTOKENS"> -<!ENTITY % NCName "NMTOKEN"> -<!ENTITY % nonNegativeInteger "NMTOKEN"> -<!ENTITY % boolean "(true|false)"> -<!ENTITY % simpleDerivationSet "CDATA"> -<!-- - #all or space-separated list drawn from derivationChoice - --> - -<!-- - Note that the use of 'facet' below is less restrictive - than is really intended: There should in fact be no - more than one of each of minInclusive, minExclusive, - maxInclusive, maxExclusive, totalDigits, fractionDigits, - length, maxLength, minLength within datatype, - and the min- and max- variants of Inclusive and Exclusive - are mutually exclusive. On the other hand, pattern and - enumeration and assertion may repeat. - --> -<!ENTITY % minBound "(%minInclusive; | %minExclusive;)"> -<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)"> -<!ENTITY % bounds "%minBound; | %maxBound;"> -<!ENTITY % numeric "%totalDigits; | %fractionDigits;"> -<!ENTITY % ordered "%bounds; | %numeric;"> -<!ENTITY % unordered - "%pattern; | %enumeration; | %whiteSpace; | %length; | - %maxLength; | %minLength; | %assertion; - | %explicitTimezone;"> -<!ENTITY % implementation-defined-facets ""> -<!ENTITY % facet "%ordered; | %unordered; %implementation-defined-facets;"> -<!ENTITY % facetAttr - "value CDATA #REQUIRED - id ID #IMPLIED"> -<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED"> -<!ENTITY % facetModel "(%annotation;)?"> -<!ELEMENT %simpleType; - ((%annotation;)?, (%restriction; | %list; | %union;))> -<!ATTLIST %simpleType; - name %NCName; #IMPLIED - final %simpleDerivationSet; #IMPLIED - id ID #IMPLIED - %simpleTypeAttrs;> -<!-- name is required at top level --> -<!ELEMENT %restriction; ((%annotation;)?, - (%restriction1; | - ((%simpleType;)?,(%facet;)*)), - (%attrDecls;))> -<!ATTLIST %restriction; - base %QName; #IMPLIED - id ID #IMPLIED - %restrictionAttrs;> -<!-- - base and simpleType child are mutually exclusive, - one is required. - - restriction is shared between simpleType and - simpleContent and complexContent (in XMLSchema.xsd). - restriction1 is for the latter cases, when this - is restricting a complex type, as is attrDecls. - --> -<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)> -<!ATTLIST %list; - itemType %QName; #IMPLIED - id ID #IMPLIED - %listAttrs;> -<!-- - itemType and simpleType child are mutually exclusive, - one is required - --> -<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)> -<!ATTLIST %union; - id ID #IMPLIED - memberTypes %QNames; #IMPLIED - %unionAttrs;> -<!-- - At least one item in memberTypes or one simpleType - child is required - --> - -<!ELEMENT %maxExclusive; %facetModel;> -<!ATTLIST %maxExclusive; - %facetAttr; - %fixedAttr; - %maxExclusiveAttrs;> -<!ELEMENT %minExclusive; %facetModel;> -<!ATTLIST %minExclusive; - %facetAttr; - %fixedAttr; - %minExclusiveAttrs;> - -<!ELEMENT %maxInclusive; %facetModel;> -<!ATTLIST %maxInclusive; - %facetAttr; - %fixedAttr; - %maxInclusiveAttrs;> -<!ELEMENT %minInclusive; %facetModel;> -<!ATTLIST %minInclusive; - %facetAttr; - %fixedAttr; - %minInclusiveAttrs;> - -<!ELEMENT %totalDigits; %facetModel;> -<!ATTLIST %totalDigits; - %facetAttr; - %fixedAttr; - %totalDigitsAttrs;> -<!ELEMENT %fractionDigits; %facetModel;> -<!ATTLIST %fractionDigits; - %facetAttr; - %fixedAttr; - %fractionDigitsAttrs;> - -<!ELEMENT %length; %facetModel;> -<!ATTLIST %length; - %facetAttr; - %fixedAttr; - %lengthAttrs;> -<!ELEMENT %minLength; %facetModel;> -<!ATTLIST %minLength; - %facetAttr; - %fixedAttr; - %minLengthAttrs;> -<!ELEMENT %maxLength; %facetModel;> -<!ATTLIST %maxLength; - %facetAttr; - %fixedAttr; - %maxLengthAttrs;> - -<!-- This one can be repeated --> -<!ELEMENT %enumeration; %facetModel;> -<!ATTLIST %enumeration; - %facetAttr; - %enumerationAttrs;> - -<!ELEMENT %whiteSpace; %facetModel;> -<!ATTLIST %whiteSpace; - %facetAttr; - %fixedAttr; - %whiteSpaceAttrs;> - -<!-- This one can be repeated --> -<!ELEMENT %pattern; %facetModel;> -<!ATTLIST %pattern; - %facetAttr; - %patternAttrs;> - -<!ELEMENT %assertion; %facetModel;> -<!ATTLIST %assertion; - %facetAttr; - %assertionAttrs;> - -<!ELEMENT %explicitTimezone; %facetModel;> -<!ATTLIST %explicitTimezone; - %facetAttr; - %explicitTimezoneAttrs;>