You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2534 lines
86 KiB
2534 lines
86 KiB
<?xml version='1.0' encoding='UTF-8'?> |
|
<!-- XML Schema schema for XML Schemas: Part 1: Structures --> |
|
<!-- Note this schema is NOT the normative structures schema. --> |
|
<!-- The prose copy in the structures REC is the normative --> |
|
<!-- version (which shouldn't differ from this one except for --> |
|
<!-- this comment and entity expansions, but just in case --> |
|
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//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:include id ID #IMPLIED> |
|
<!ATTLIST xs:import id ID #IMPLIED> |
|
<!ATTLIST xs:redefine id ID #IMPLIED> |
|
<!ATTLIST xs:notation id ID #IMPLIED> |
|
<!-- |
|
keep this schema XML1.0 DTD valid |
|
--> |
|
<!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'> |
|
|
|
<!ELEMENT hfp:hasFacet EMPTY> |
|
<!ATTLIST hfp:hasFacet |
|
name NMTOKEN #REQUIRED> |
|
|
|
<!ELEMENT hfp:hasProperty EMPTY> |
|
<!ATTLIST hfp:hasProperty |
|
name NMTOKEN #REQUIRED |
|
value CDATA #REQUIRED> |
|
<!-- |
|
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:appinfo id ID #IMPLIED> |
|
<!ATTLIST xs:documentation id ID #IMPLIED> |
|
<!ATTLIST xs:list id ID #IMPLIED> |
|
<!ATTLIST xs:union id ID #IMPLIED> |
|
]> |
|
<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp |
|
Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp |
|
</xs:documentation> |
|
</xs:annotation> |
|
|
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html"> |
|
The schema corresponding to this document is normative, |
|
with respect to the syntactic constraints it expresses in the |
|
XML Schema 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</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"> |
|
<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="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="http://www.w3.org/TR/xmlschema-1/#element-schema"/> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="xs:openAttrs"> |
|
<xs:sequence> |
|
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
|
<xs:element ref="xs:include"/> |
|
<xs:element ref="xs:import"/> |
|
<xs:element ref="xs:redefine"/> |
|
<xs:element ref="xs:annotation"/> |
|
</xs:choice> |
|
<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" use="optional" default=""/> |
|
<xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/> |
|
<xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/> |
|
<xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/> |
|
<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" use="optional" default="1"/> |
|
<xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/> |
|
</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" minOccurs="0" type="xs:localSimpleType"/> |
|
</xs:sequence> |
|
<xs:attributeGroup ref="xs:defRef"/> |
|
<xs:attribute name="type" type="xs:QName"/> |
|
<xs:attribute name="use" use="optional" default="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: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" minOccurs="0" type="xs:localSimpleType"/> |
|
</xs:sequence> |
|
<xs:attribute name="ref" use="prohibited"/> |
|
<xs:attribute name="form" use="prohibited"/> |
|
<xs:attribute name="use" use="prohibited"/> |
|
<xs:attribute name="name" use="required" type="xs:NCName"/> |
|
<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" type="xs:wildcard" id="anyAttribute"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<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:group ref="xs:typeDefParticle" minOccurs="0"/> |
|
<xs:group ref="xs:attrDecls"/> |
|
</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 forbidden</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
<xs:attribute name="mixed" type="xs:boolean" use="optional" default="false"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Not allowed if simpleContent child is chosen. |
|
May be overriden by setting on complexContent child.</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
<xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/> |
|
<xs:attribute name="final" type="xs:derivationSet"/> |
|
<xs:attribute name="block" type="xs:derivationSet"/> |
|
</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:group ref="xs:typeDefParticle"/> |
|
<xs:group ref="xs:simpleRestrictionModel"/> |
|
</xs:choice> |
|
<xs:group ref="xs:attrDecls"/> |
|
</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:group ref="xs:typeDefParticle"/> |
|
</xs:choice> |
|
<xs:group ref="xs:attrDecls"/> |
|
</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:group ref="xs:typeDefParticle" minOccurs="0"/> |
|
<xs:group ref="xs:attrDecls"/> |
|
</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="http://www.w3.org/TR/xmlschema-1/#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: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: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:sequence> |
|
<xs:anyAttribute namespace="##other" processContents="lax"/> |
|
</xs:restriction> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
|
|
<xs:element name="simpleContent" id="simpleContent"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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: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" type="xs:QName"/> |
|
<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" default="false"/> |
|
<xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/> |
|
<xs:attribute name="final" type="xs:derivationSet"/> |
|
<xs:attribute name="block" type="xs:blockSet"/> |
|
<xs:attribute name="form" type="xs:formChoice"/> |
|
</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: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="minOccurs" use="prohibited"/> |
|
<xs:attribute name="maxOccurs" use="prohibited"/> |
|
<xs:attribute name="name" use="required" type="xs:NCName"/> |
|
<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: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="http://www.w3.org/TR/xmlschema-1/#element-element"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<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" use="required" type="xs:NCName"/> |
|
<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" use="required" type="xs:QName"/> |
|
<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" type="xs:NCName" use="prohibited"/> |
|
<xs:attribute name="ref" type="xs:QName" 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:narrowMaxMin"/> |
|
</xs:choice> |
|
</xs:sequence> |
|
</xs:group> |
|
|
|
|
|
<xs:complexType name="narrowMaxMin"> |
|
<xs:annotation> |
|
<xs:documentation>restricted max/min</xs:documentation> |
|
</xs:annotation> |
|
<xs:complexContent> |
|
<xs:restriction base="xs:localElement"> |
|
<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:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/> |
|
</xs:sequence> |
|
<xs:attribute name="minOccurs" use="optional" default="1"> |
|
<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" use="optional" default="1"> |
|
<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: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" use="optional" default="1"> |
|
<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" use="optional" default="1"> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:allNNI"> |
|
<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" id="all" type="xs:all"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="choice" type="xs:explicitGroup" id="choice"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="sequence" type="xs:explicitGroup" id="sequence"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="group" type="xs:namedGroup" id="group"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:complexType name="wildcard"> |
|
<xs:complexContent> |
|
<xs:extension base="xs:annotated"> |
|
<xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/> |
|
<xs:attribute name="processContents" use="optional" default="strict"> |
|
<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:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
|
|
<xs:element name="any" id="any"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="xs:wildcard"> |
|
<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> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:token"> |
|
<xs:enumeration value="##any"/> |
|
<xs:enumeration value="##other"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
<xs:simpleType> |
|
<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:union> |
|
</xs:simpleType> |
|
|
|
<xs:element name="attribute" type="xs:topLevelAttribute" id="attribute"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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" use="required" type="xs:NCName"/> |
|
<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" use="required" type="xs:QName"/> |
|
<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="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="include" id="include"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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="import" id="import"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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:annotation> |
|
<xs:documentation>The following pattern is intended to allow XPath |
|
expressions per the following EBNF: |
|
Selector ::= Path ( '|' Path )* |
|
Path ::= ('.//')? Step ( '/' Step )* |
|
Step ::= '.' | NameTest |
|
NameTest ::= QName | '*' | NCName ':' '*' |
|
child:: is also allowed |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:attribute> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="field" id="field"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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:annotation> |
|
<xs:documentation>The following pattern is intended to allow XPath |
|
expressions per the same EBNF as for selector, |
|
with the following change: |
|
Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ) |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*"> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:attribute> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:complexType name="keybase"> |
|
<xs:complexContent> |
|
<xs:extension base="xs:annotated"> |
|
<xs:sequence> |
|
<xs:element ref="xs:selector"/> |
|
<xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/> |
|
</xs:sequence> |
|
<xs:attribute name="name" type="xs:NCName" use="required"/> |
|
</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="http://www.w3.org/TR/xmlschema-1/#element-unique"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="key" type="xs:keybase" id="key"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="keyref" id="keyref"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:complexContent> |
|
<xs:extension base="xs:keybase"> |
|
<xs:attribute name="refer" type="xs:QName" use="required"/> |
|
</xs:extension> |
|
</xs:complexContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="notation" id="notation"> |
|
<xs:annotation> |
|
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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="http://www.w3.org/TR/xmlschema-1/#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 XML Schema schemas</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> |
|
First the built-in primitive datatypes. These definitions are for |
|
information only, the real built-in definitions are magic. |
|
</xs:documentation> |
|
|
|
<xs:documentation> |
|
For each built-in datatype in this schema (both primitive and |
|
derived) can be uniquely addressed via a URI constructed |
|
as follows: |
|
1) the base URI is the URI of the XML Schema namespace |
|
2) the fragment identifier is the name of the datatype |
|
|
|
For example, to address the int datatype, the URI is: |
|
|
|
http://www.w3.org/2001/XMLSchema#int |
|
|
|
Additionally, each facet definition element can be uniquely |
|
addressed via a URI constructed as follows: |
|
1) the base URI is the URI of the XML Schema namespace |
|
2) the fragment identifier is the name of the facet |
|
|
|
For example, to address the maxInclusive facet, the URI is: |
|
|
|
http://www.w3.org/2001/XMLSchema#maxInclusive |
|
|
|
Additionally, each facet usage in a built-in datatype definition |
|
can be uniquely addressed via a URI constructed as follows: |
|
1) the base URI is the URI of the XML Schema namespace |
|
2) the fragment identifier is the name of the datatype, followed |
|
by a period (".") followed by the name of the facet |
|
|
|
For example, to address the usage of the maxInclusive facet in |
|
the definition of int, the URI is: |
|
|
|
http://www.w3.org/2001/XMLSchema#int.maxInclusive |
|
|
|
</xs:documentation> |
|
</xs:annotation> |
|
|
|
<xs:simpleType name="string" id="string"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#string"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="preserve" id="string.preserve"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="boolean" id="boolean"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" value="finite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#boolean"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="boolean.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="float" id="float"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="total"/> |
|
<hfp:hasProperty name="bounded" value="true"/> |
|
<hfp:hasProperty name="cardinality" value="finite"/> |
|
<hfp:hasProperty name="numeric" value="true"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#float"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="float.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="double" id="double"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="total"/> |
|
<hfp:hasProperty name="bounded" value="true"/> |
|
<hfp:hasProperty name="cardinality" value="finite"/> |
|
<hfp:hasProperty name="numeric" value="true"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#double"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="double.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="decimal" id="decimal"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="totalDigits"/> |
|
<hfp:hasFacet name="fractionDigits"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="total"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="true"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#decimal"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="decimal.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="duration" id="duration"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#duration"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="duration.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="dateTime" id="dateTime"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#dateTime"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="dateTime.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="time" id="time"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#time"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="time.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="date" id="date"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#date"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="date.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="gYearMonth" id="gYearMonth"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="gYearMonth.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="gYear" id="gYear"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#gYear"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="gYear.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="gMonthDay" id="gMonthDay"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="gMonthDay.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="gDay" id="gDay"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#gDay"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="gDay.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="gMonth" id="gMonth"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="maxInclusive"/> |
|
<hfp:hasFacet name="maxExclusive"/> |
|
<hfp:hasFacet name="minInclusive"/> |
|
<hfp:hasFacet name="minExclusive"/> |
|
<hfp:hasProperty name="ordered" value="partial"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#gMonth"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="gMonth.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="hexBinary" id="hexBinary"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#binary"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="hexBinary.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="base64Binary" id="base64Binary"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="base64Binary.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="anyURI" id="anyURI"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#anyURI"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="anyURI.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="QName" id="QName"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#QName"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="QName.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="NOTATION" id="NOTATION"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/> |
|
<xs:documentation> |
|
NOTATION cannot be used directly in a schema; rather a type |
|
must be derived from it by specifying at least one enumeration |
|
facet whose value is the name of a NOTATION declared in the |
|
schema. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:restriction base="xs:anySimpleType"> |
|
<xs:whiteSpace value="collapse" fixed="true" |
|
id="NOTATION.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:annotation> |
|
<xs:documentation> |
|
Now the derived primitive types |
|
</xs:documentation> |
|
</xs:annotation> |
|
|
|
<xs:simpleType name="normalizedString" id="normalizedString"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:string"> |
|
<xs:whiteSpace value="replace" |
|
id="normalizedString.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="token" id="token"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#token"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:normalizedString"> |
|
<xs:whiteSpace value="collapse" id="token.whiteSpace"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="language" id="language"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#language"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:token"> |
|
<xs:pattern |
|
value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" |
|
id="language.pattern"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.ietf.org/rfc/rfc3066.txt"> |
|
pattern specifies the content of section 2.12 of XML 1.0e2 |
|
and RFC 3066 (Revised version of RFC 1766). |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="IDREFS" id="IDREFS"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/> |
|
</xs:annotation> |
|
<xs:restriction> |
|
<xs:simpleType> |
|
<xs:list itemType="xs:IDREF"/> |
|
</xs:simpleType> |
|
<xs:minLength value="1" id="IDREFS.minLength"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="ENTITIES" id="ENTITIES"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/> |
|
</xs:annotation> |
|
<xs:restriction> |
|
<xs:simpleType> |
|
<xs:list itemType="xs:ENTITY"/> |
|
</xs:simpleType> |
|
<xs:minLength value="1" id="ENTITIES.minLength"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="NMTOKEN" id="NMTOKEN"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:token"> |
|
<xs:pattern value="\c+" id="NMTOKEN.pattern"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/REC-xml#NT-Nmtoken"> |
|
pattern matches production 7 from the XML spec |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="NMTOKENS" id="NMTOKENS"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasFacet name="length"/> |
|
<hfp:hasFacet name="minLength"/> |
|
<hfp:hasFacet name="maxLength"/> |
|
<hfp:hasFacet name="enumeration"/> |
|
<hfp:hasFacet name="whiteSpace"/> |
|
<hfp:hasFacet name="pattern"/> |
|
<hfp:hasProperty name="ordered" value="false"/> |
|
<hfp:hasProperty name="bounded" value="false"/> |
|
<hfp:hasProperty name="cardinality" |
|
value="countably infinite"/> |
|
<hfp:hasProperty name="numeric" value="false"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/> |
|
</xs:annotation> |
|
<xs:restriction> |
|
<xs:simpleType> |
|
<xs:list itemType="xs:NMTOKEN"/> |
|
</xs:simpleType> |
|
<xs:minLength value="1" id="NMTOKENS.minLength"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="Name" id="Name"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#Name"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:token"> |
|
<xs:pattern value="\i\c*" id="Name.pattern"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/REC-xml#NT-Name"> |
|
pattern matches production 5 from the XML spec |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="NCName" id="NCName"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#NCName"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:Name"> |
|
<xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/REC-xml-names/#NT-NCName"> |
|
pattern matches production 4 from the Namespaces in XML spec |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:pattern> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="ID" id="ID"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#ID"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:NCName"/> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="IDREF" id="IDREF"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#IDREF"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:NCName"/> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="ENTITY" id="ENTITY"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:NCName"/> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="integer" id="integer"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#integer"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:decimal"> |
|
<xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/> |
|
<xs:pattern value="[\-+]?[0-9]+"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:integer"> |
|
<xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="negativeInteger" id="negativeInteger"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:nonPositiveInteger"> |
|
<xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="long" id="long"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasProperty name="bounded" value="true"/> |
|
<hfp:hasProperty name="cardinality" value="finite"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#long"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:integer"> |
|
<xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/> |
|
<xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="int" id="int"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#int"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:long"> |
|
<xs:minInclusive value="-2147483648" id="int.minInclusive"/> |
|
<xs:maxInclusive value="2147483647" id="int.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="short" id="short"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#short"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:int"> |
|
<xs:minInclusive value="-32768" id="short.minInclusive"/> |
|
<xs:maxInclusive value="32767" id="short.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="byte" id="byte"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#byte"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:short"> |
|
<xs:minInclusive value="-128" id="byte.minInclusive"/> |
|
<xs:maxInclusive value="127" id="byte.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:integer"> |
|
<xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="unsignedLong" id="unsignedLong"> |
|
<xs:annotation> |
|
<xs:appinfo> |
|
<hfp:hasProperty name="bounded" value="true"/> |
|
<hfp:hasProperty name="cardinality" value="finite"/> |
|
</xs:appinfo> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:nonNegativeInteger"> |
|
<xs:maxInclusive value="18446744073709551615" |
|
id="unsignedLong.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="unsignedInt" id="unsignedInt"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:unsignedLong"> |
|
<xs:maxInclusive value="4294967295" |
|
id="unsignedInt.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="unsignedShort" id="unsignedShort"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:unsignedInt"> |
|
<xs:maxInclusive value="65535" |
|
id="unsignedShort.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="unsignedByte" id="unsignedByte"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:unsignedShort"> |
|
<xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<xs:simpleType name="positiveInteger" id="positiveInteger"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/> |
|
</xs:annotation> |
|
<xs:restriction base="xs:nonNegativeInteger"> |
|
<xs:minInclusive value="1" id="positiveInteger.minInclusive"/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
<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, 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: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" use="required" |
|
type="xs:NCName"> |
|
<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/xmlschema-2/#element-simpleType"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:group name="facets"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
We should use a substitution group for facets, but |
|
that's ruled out because it would allow users to |
|
add their own, which we're not ready for yet. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:choice> |
|
<xs:element ref="xs:minExclusive"/> |
|
<xs:element ref="xs:minInclusive"/> |
|
<xs:element ref="xs:maxExclusive"/> |
|
<xs:element ref="xs:maxInclusive"/> |
|
<xs:element ref="xs:totalDigits"/> |
|
<xs:element ref="xs:fractionDigits"/> |
|
<xs:element ref="xs:length"/> |
|
<xs:element ref="xs:minLength"/> |
|
<xs:element ref="xs:maxLength"/> |
|
<xs:element ref="xs:enumeration"/> |
|
<xs:element ref="xs:whiteSpace"/> |
|
<xs:element ref="xs:pattern"/> |
|
</xs:choice> |
|
</xs:group> |
|
|
|
<xs:group name="simpleRestrictionModel"> |
|
<xs:sequence> |
|
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/> |
|
<xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/> |
|
</xs:sequence> |
|
</xs:group> |
|
|
|
<xs:element name="restriction" id="restriction"> |
|
<xs:complexType> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-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/xmlschema-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/xmlschema-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" use="optional" |
|
default="false"/> |
|
</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" id="minExclusive" type="xs:facet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="minInclusive" id="minInclusive" type="xs:facet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="maxExclusive" id="maxExclusive" type="xs:facet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="maxInclusive" id="maxInclusive" type="xs:facet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-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:element name="totalDigits" id="totalDigits"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-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" id="fractionDigits" type="xs:numFacet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="length" id="length" type="xs:numFacet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-length"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="minLength" id="minLength" type="xs:numFacet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/> |
|
</xs:annotation> |
|
</xs:element> |
|
<xs:element name="maxLength" id="maxLength" type="xs:numFacet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/> |
|
</xs:annotation> |
|
</xs:element> |
|
|
|
<xs:element name="whiteSpace" id="whiteSpace"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-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"> |
|
<xs:annotation> |
|
<xs:documentation |
|
source="http://www.w3.org/TR/xmlschema-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:schema>
|
|
|