Created
December 19, 2011 13:56
-
-
Save codeape2/1497343 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from suds.cache import NoCache | |
from suds.sax.parser import Parser | |
class StaticSudsCache(NoCache): | |
def get(self, id): | |
STATIC = {"http://www.w3.org/2001/xml.xsd": XML_XSD, | |
"http://www.w3.org/2001/XMLSchema.xsd": XMLSCHEMA_XSD } | |
xml_string = STATIC.get(id.name) | |
if xml_string: | |
p = Parser() | |
return p.parse(string=xml_string) | |
from suds.client import Client | |
c = Client(service_url, cache=StaticSudsCache()) | |
XML_XSD = """<?xml version='1.0'?> | |
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?> | |
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" | |
xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
xmlns ="http://www.w3.org/1999/xhtml" | |
xml:lang="en"> | |
<xs:annotation> | |
<xs:documentation> | |
<div> | |
<h1>About the XML namespace</h1> | |
<div class="bodytext"> | |
<p> | |
This schema document describes the XML namespace, in a form | |
suitable for import by other schema documents. | |
</p> | |
<p> | |
See <a href="http://www.w3.org/XML/1998/namespace.html"> | |
http://www.w3.org/XML/1998/namespace.html</a> and | |
<a href="http://www.w3.org/TR/REC-xml"> | |
http://www.w3.org/TR/REC-xml</a> for information | |
about this namespace. | |
</p> | |
<p> | |
Note that local names in this namespace are intended to be | |
defined only by the World Wide Web Consortium or its subgroups. | |
The names currently defined in this namespace are listed below. | |
They should not be used with conflicting semantics by any Working | |
Group, specification, or document instance. | |
</p> | |
<p> | |
See further below in this document for more information about <a | |
href="#usage">how to refer to this schema document from your own | |
XSD schema documents</a> and about <a href="#nsversioning">the | |
namespace-versioning policy governing this schema document</a>. | |
</p> | |
</div> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
<xs:attribute name="lang"> | |
<xs:annotation> | |
<xs:documentation> | |
<div> | |
<h3>lang (as an attribute name)</h3> | |
<p> | |
denotes an attribute whose value | |
is a language code for the natural language of the content of | |
any element; its value is inherited. This name is reserved | |
by virtue of its definition in the XML specification.</p> | |
</div> | |
<div> | |
<h4>Notes</h4> | |
<p> | |
Attempting to install the relevant ISO 2- and 3-letter | |
codes as the enumerated possible values is probably never | |
going to be a realistic possibility. | |
</p> | |
<p> | |
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> | |
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> | |
and the IANA language subtag registry at | |
<a href="http://www.iana.org/assignments/language-subtag-registry"> | |
http://www.iana.org/assignments/language-subtag-registry</a> | |
for further information. | |
</p> | |
<p> | |
The union allows for the 'un-declaration' of xml:lang with | |
the empty string. | |
</p> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:union memberTypes="xs:language"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value=""/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:union> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="space"> | |
<xs:annotation> | |
<xs:documentation> | |
<div> | |
<h3>space (as an attribute name)</h3> | |
<p> | |
denotes an attribute whose | |
value is a keyword indicating what whitespace processing | |
discipline is intended for the content of the element; its | |
value is inherited. This name is reserved by virtue of its | |
definition in the XML specification.</p> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType> | |
<xs:restriction base="xs:NCName"> | |
<xs:enumeration value="default"/> | |
<xs:enumeration value="preserve"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation> | |
<xs:documentation> | |
<div> | |
<h3>base (as an attribute name)</h3> | |
<p> | |
denotes an attribute whose value | |
provides a URI to be used as the base for interpreting any | |
relative URIs in the scope of the element on which it | |
appears; its value is inherited. This name is reserved | |
by virtue of its definition in the XML Base specification.</p> | |
<p> | |
See <a | |
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> | |
for information about this attribute. | |
</p> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="id" type="xs:ID"> | |
<xs:annotation> | |
<xs:documentation> | |
<div> | |
<h3>id (as an attribute name)</h3> | |
<p> | |
denotes an attribute whose value | |
should be interpreted as if declared to be of type ID. | |
This name is reserved by virtue of its definition in the | |
xml:id specification.</p> | |
<p> | |
See <a | |
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> | |
for information about this attribute. | |
</p> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attributeGroup name="specialAttrs"> | |
<xs:attribute ref="xml:base"/> | |
<xs:attribute ref="xml:lang"/> | |
<xs:attribute ref="xml:space"/> | |
<xs:attribute ref="xml:id"/> | |
</xs:attributeGroup> | |
<xs:annotation> | |
<xs:documentation> | |
<div> | |
<h3>Father (in any context at all)</h3> | |
<div class="bodytext"> | |
<p> | |
denotes Jon Bosak, the chair of | |
the original XML Working Group. This name is reserved by | |
the following decision of the W3C XML Plenary and | |
XML Coordination groups: | |
</p> | |
<blockquote> | |
<p> | |
In appreciation for his vision, leadership and | |
dedication the W3C XML Plenary on this 10th day of | |
February, 2000, reserves for Jon Bosak in perpetuity | |
the XML name "xml:Father". | |
</p> | |
</blockquote> | |
</div> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
<xs:annotation> | |
<xs:documentation> | |
<div xml:id="usage" id="usage"> | |
<h2><a name="usage">About this schema document</a></h2> | |
<div class="bodytext"> | |
<p> | |
This schema defines attributes and an attribute group suitable | |
for use by schemas wishing to allow <code>xml:base</code>, | |
<code>xml:lang</code>, <code>xml:space</code> or | |
<code>xml:id</code> attributes on elements they define. | |
</p> | |
<p> | |
To enable this, such a schema must import this schema for | |
the XML namespace, e.g. as follows: | |
</p> | |
<pre> | |
<schema . . .> | |
. . . | |
<import namespace="http://www.w3.org/XML/1998/namespace" | |
schemaLocation="http://www.w3.org/2001/xml.xsd"/> | |
</pre> | |
<p> | |
or | |
</p> | |
<pre> | |
<import namespace="http://www.w3.org/XML/1998/namespace" | |
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> | |
</pre> | |
<p> | |
Subsequently, qualified reference to any of the attributes or the | |
group defined below will have the desired effect, e.g. | |
</p> | |
<pre> | |
<type . . .> | |
. . . | |
<attributeGroup ref="xml:specialAttrs"/> | |
</pre> | |
<p> | |
will define a type which will schema-validate an instance element | |
with any of those attributes. | |
</p> | |
</div> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
<xs:annotation> | |
<xs:documentation> | |
<div id="nsversioning" xml:id="nsversioning"> | |
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2> | |
<div class="bodytext"> | |
<p> | |
In keeping with the XML Schema WG's standard versioning | |
policy, this schema document will persist at | |
<a href="http://www.w3.org/2009/01/xml.xsd"> | |
http://www.w3.org/2009/01/xml.xsd</a>. | |
</p> | |
<p> | |
At the date of issue it can also be found at | |
<a href="http://www.w3.org/2001/xml.xsd"> | |
http://www.w3.org/2001/xml.xsd</a>. | |
</p> | |
<p> | |
The schema document at that URI may however change in the future, | |
in order to remain compatible with the latest version of XML | |
Schema itself, or with the XML namespace itself. In other words, | |
if the XML Schema or XML namespaces change, the version of this | |
document at <a href="http://www.w3.org/2001/xml.xsd"> | |
http://www.w3.org/2001/xml.xsd | |
</a> | |
will change accordingly; the version at | |
<a href="http://www.w3.org/2009/01/xml.xsd"> | |
http://www.w3.org/2009/01/xml.xsd | |
</a> | |
will not change. | |
</p> | |
<p> | |
Previous dated (and unchanging) versions of this schema | |
document are at: | |
</p> | |
<ul> | |
<li><a href="http://www.w3.org/2009/01/xml.xsd"> | |
http://www.w3.org/2009/01/xml.xsd</a></li> | |
<li><a href="http://www.w3.org/2007/08/xml.xsd"> | |
http://www.w3.org/2007/08/xml.xsd</a></li> | |
<li><a href="http://www.w3.org/2004/10/xml.xsd"> | |
http://www.w3.org/2004/10/xml.xsd</a></li> | |
<li><a href="http://www.w3.org/2001/03/xml.xsd"> | |
http://www.w3.org/2001/03/xml.xsd</a></li> | |
</ul> | |
</div> | |
</div> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:schema>""" | |
XMLSCHEMA_XSD = """<?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" 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="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>""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment