1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- XML Schema schema for XML Schemas: Part 1: Structures -->
3 <!-- Note this schema is NOT the normative structures schema. -->
4 <!-- The prose copy in the structures REC is the normative -->
5 <!-- version (which shouldn't differ from this one except for -->
6 <!-- this comment and entity expansions, but just in case -->
7 <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
9 <!-- provide ID type information even for parsers which only read the
11 <!ATTLIST xs:schema id ID #IMPLIED>
12 <!ATTLIST xs:complexType id ID #IMPLIED>
13 <!ATTLIST xs:complexContent id ID #IMPLIED>
14 <!ATTLIST xs:simpleContent id ID #IMPLIED>
15 <!ATTLIST xs:extension id ID #IMPLIED>
16 <!ATTLIST xs:element id ID #IMPLIED>
17 <!ATTLIST xs:group id ID #IMPLIED>
18 <!ATTLIST xs:all id ID #IMPLIED>
19 <!ATTLIST xs:choice id ID #IMPLIED>
20 <!ATTLIST xs:sequence id ID #IMPLIED>
21 <!ATTLIST xs:any id ID #IMPLIED>
22 <!ATTLIST xs:anyAttribute id ID #IMPLIED>
23 <!ATTLIST xs:attribute id ID #IMPLIED>
24 <!ATTLIST xs:attributeGroup id ID #IMPLIED>
25 <!ATTLIST xs:unique id ID #IMPLIED>
26 <!ATTLIST xs:key id ID #IMPLIED>
27 <!ATTLIST xs:keyref id ID #IMPLIED>
28 <!ATTLIST xs:selector id ID #IMPLIED>
29 <!ATTLIST xs:field id ID #IMPLIED>
30 <!ATTLIST xs:include id ID #IMPLIED>
31 <!ATTLIST xs:import id ID #IMPLIED>
32 <!ATTLIST xs:redefine id ID #IMPLIED>
33 <!ATTLIST xs:notation id ID #IMPLIED>
35 keep this schema XML1.0 DTD valid
37 <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
39 <!ELEMENT hfp:hasFacet EMPTY>
40 <!ATTLIST hfp:hasFacet
41 name NMTOKEN #REQUIRED>
43 <!ELEMENT hfp:hasProperty EMPTY>
44 <!ATTLIST hfp:hasProperty
45 name NMTOKEN #REQUIRED
46 value CDATA #REQUIRED>
48 Make sure that processors that do not read the external
49 subset will know about the various IDs we declare
51 <!ATTLIST xs:simpleType id ID #IMPLIED>
52 <!ATTLIST xs:maxExclusive id ID #IMPLIED>
53 <!ATTLIST xs:minExclusive id ID #IMPLIED>
54 <!ATTLIST xs:maxInclusive id ID #IMPLIED>
55 <!ATTLIST xs:minInclusive id ID #IMPLIED>
56 <!ATTLIST xs:totalDigits id ID #IMPLIED>
57 <!ATTLIST xs:fractionDigits id ID #IMPLIED>
58 <!ATTLIST xs:length id ID #IMPLIED>
59 <!ATTLIST xs:minLength id ID #IMPLIED>
60 <!ATTLIST xs:maxLength id ID #IMPLIED>
61 <!ATTLIST xs:enumeration id ID #IMPLIED>
62 <!ATTLIST xs:pattern id ID #IMPLIED>
63 <!ATTLIST xs:appinfo id ID #IMPLIED>
64 <!ATTLIST xs:documentation id ID #IMPLIED>
65 <!ATTLIST xs:list id ID #IMPLIED>
66 <!ATTLIST xs:union id ID #IMPLIED>
68 <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">
71 Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
72 Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
77 <xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
78 The schema corresponding to this document is normative,
79 with respect to the syntactic constraints it expresses in the
80 XML Schema language. The documentation (within <documentation> elements)
81 below, is not normative, but rather highlights important aspects of
82 the W3C Recommendation of which this is a part</xs:documentation>
87 The simpleType element and all of its members are defined
88 towards the end of this schema document</xs:documentation>
91 <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd">
94 Get access to the xml: attribute groups for xml:lang
95 as declared on 'schema' and 'documentation' below
100 <xs:complexType name="openAttrs">
103 This type is extended by almost all schema types
104 to allow attributes from other namespaces to be
105 added to user schemas.
109 <xs:restriction base="xs:anyType">
110 <xs:anyAttribute namespace="##other" processContents="lax"/>
115 <xs:complexType name="annotated">
118 This type is extended by all types which allow annotation
119 other than <schema> itself
123 <xs:extension base="xs:openAttrs">
125 <xs:element ref="xs:annotation" minOccurs="0"/>
127 <xs:attribute name="id" type="xs:ID"/>
132 <xs:group name="schemaTop">
135 This group is for the
136 elements which occur freely at the top level of schemas.
137 All of their types are based on the "annotated" type by extension.</xs:documentation>
140 <xs:group ref="xs:redefinable"/>
141 <xs:element ref="xs:element"/>
142 <xs:element ref="xs:attribute"/>
143 <xs:element ref="xs:notation"/>
147 <xs:group name="redefinable">
150 This group is for the
151 elements which can self-redefine (see <redefine> below).</xs:documentation>
154 <xs:element ref="xs:simpleType"/>
155 <xs:element ref="xs:complexType"/>
156 <xs:element ref="xs:group"/>
157 <xs:element ref="xs:attributeGroup"/>
161 <xs:simpleType name="formChoice">
164 A utility type, not for public use</xs:documentation>
166 <xs:restriction base="xs:NMTOKEN">
167 <xs:enumeration value="qualified"/>
168 <xs:enumeration value="unqualified"/>
172 <xs:simpleType name="reducedDerivationControl">
175 A utility type, not for public use</xs:documentation>
177 <xs:restriction base="xs:derivationControl">
178 <xs:enumeration value="extension"/>
179 <xs:enumeration value="restriction"/>
183 <xs:simpleType name="derivationSet">
186 A utility type, not for public use</xs:documentation>
188 #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
192 <xs:restriction base="xs:token">
193 <xs:enumeration value="#all"/>
197 <xs:list itemType="xs:reducedDerivationControl"/>
202 <xs:simpleType name="typeDerivationControl">
205 A utility type, not for public use</xs:documentation>
207 <xs:restriction base="xs:derivationControl">
208 <xs:enumeration value="extension"/>
209 <xs:enumeration value="restriction"/>
210 <xs:enumeration value="list"/>
211 <xs:enumeration value="union"/>
215 <xs:simpleType name="fullDerivationSet">
218 A utility type, not for public use</xs:documentation>
220 #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
224 <xs:restriction base="xs:token">
225 <xs:enumeration value="#all"/>
229 <xs:list itemType="xs:typeDerivationControl"/>
234 <xs:element name="schema" id="schema">
236 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
240 <xs:extension base="xs:openAttrs">
242 <xs:choice minOccurs="0" maxOccurs="unbounded">
243 <xs:element ref="xs:include"/>
244 <xs:element ref="xs:import"/>
245 <xs:element ref="xs:redefine"/>
246 <xs:element ref="xs:annotation"/>
248 <xs:sequence minOccurs="0" maxOccurs="unbounded">
249 <xs:group ref="xs:schemaTop"/>
250 <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
253 <xs:attribute name="targetNamespace" type="xs:anyURI"/>
254 <xs:attribute name="version" type="xs:token"/>
255 <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>
256 <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
257 <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
258 <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
259 <xs:attribute name="id" type="xs:ID"/>
260 <xs:attribute ref="xml:lang"/>
265 <xs:key name="element">
266 <xs:selector xpath="xs:element"/>
267 <xs:field xpath="@name"/>
270 <xs:key name="attribute">
271 <xs:selector xpath="xs:attribute"/>
272 <xs:field xpath="@name"/>
276 <xs:selector xpath="xs:complexType|xs:simpleType"/>
277 <xs:field xpath="@name"/>
280 <xs:key name="group">
281 <xs:selector xpath="xs:group"/>
282 <xs:field xpath="@name"/>
285 <xs:key name="attributeGroup">
286 <xs:selector xpath="xs:attributeGroup"/>
287 <xs:field xpath="@name"/>
290 <xs:key name="notation">
291 <xs:selector xpath="xs:notation"/>
292 <xs:field xpath="@name"/>
295 <xs:key name="identityConstraint">
296 <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
297 <xs:field xpath="@name"/>
302 <xs:simpleType name="allNNI">
303 <xs:annotation><xs:documentation>
304 for maxOccurs</xs:documentation></xs:annotation>
305 <xs:union memberTypes="xs:nonNegativeInteger">
307 <xs:restriction base="xs:NMTOKEN">
308 <xs:enumeration value="unbounded"/>
314 <xs:attributeGroup name="occurs">
315 <xs:annotation><xs:documentation>
316 for all particles</xs:documentation></xs:annotation>
317 <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
318 <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
321 <xs:attributeGroup name="defRef">
322 <xs:annotation><xs:documentation>
323 for element, group and attributeGroup,
324 which both define and reference</xs:documentation></xs:annotation>
325 <xs:attribute name="name" type="xs:NCName"/>
326 <xs:attribute name="ref" type="xs:QName"/>
329 <xs:group name="typeDefParticle">
332 'complexType' uses this</xs:documentation></xs:annotation>
334 <xs:element name="group" type="xs:groupRef"/>
335 <xs:element ref="xs:all"/>
336 <xs:element ref="xs:choice"/>
337 <xs:element ref="xs:sequence"/>
343 <xs:group name="nestedParticle">
345 <xs:element name="element" type="xs:localElement"/>
346 <xs:element name="group" type="xs:groupRef"/>
347 <xs:element ref="xs:choice"/>
348 <xs:element ref="xs:sequence"/>
349 <xs:element ref="xs:any"/>
353 <xs:group name="particle">
355 <xs:element name="element" type="xs:localElement"/>
356 <xs:element name="group" type="xs:groupRef"/>
357 <xs:element ref="xs:all"/>
358 <xs:element ref="xs:choice"/>
359 <xs:element ref="xs:sequence"/>
360 <xs:element ref="xs:any"/>
364 <xs:complexType name="attribute">
366 <xs:extension base="xs:annotated">
368 <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
370 <xs:attributeGroup ref="xs:defRef"/>
371 <xs:attribute name="type" type="xs:QName"/>
372 <xs:attribute name="use" use="optional" default="optional">
374 <xs:restriction base="xs:NMTOKEN">
375 <xs:enumeration value="prohibited"/>
376 <xs:enumeration value="optional"/>
377 <xs:enumeration value="required"/>
381 <xs:attribute name="default" type="xs:string"/>
382 <xs:attribute name="fixed" type="xs:string"/>
383 <xs:attribute name="form" type="xs:formChoice"/>
388 <xs:complexType name="topLevelAttribute">
390 <xs:restriction base="xs:attribute">
392 <xs:element ref="xs:annotation" minOccurs="0"/>
393 <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
395 <xs:attribute name="ref" use="prohibited"/>
396 <xs:attribute name="form" use="prohibited"/>
397 <xs:attribute name="use" use="prohibited"/>
398 <xs:attribute name="name" use="required" type="xs:NCName"/>
399 <xs:anyAttribute namespace="##other" processContents="lax"/>
404 <xs:group name="attrDecls">
406 <xs:choice minOccurs="0" maxOccurs="unbounded">
407 <xs:element name="attribute" type="xs:attribute"/>
408 <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
410 <xs:element ref="xs:anyAttribute" minOccurs="0"/>
414 <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
416 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
420 <xs:group name="complexTypeModel">
422 <xs:element ref="xs:simpleContent"/>
423 <xs:element ref="xs:complexContent"/>
427 This branch is short for
429 <restriction base="xs:anyType">
432 </complexContent></xs:documentation>
434 <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
435 <xs:group ref="xs:attrDecls"/>
440 <xs:complexType name="complexType" abstract="true">
442 <xs:extension base="xs:annotated">
443 <xs:group ref="xs:complexTypeModel"/>
444 <xs:attribute name="name" type="xs:NCName">
447 Will be restricted to required or forbidden</xs:documentation>
450 <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
453 Not allowed if simpleContent child is chosen.
454 May be overriden by setting on complexContent child.</xs:documentation>
457 <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
458 <xs:attribute name="final" type="xs:derivationSet"/>
459 <xs:attribute name="block" type="xs:derivationSet"/>
464 <xs:complexType name="topLevelComplexType">
466 <xs:restriction base="xs:complexType">
468 <xs:element ref="xs:annotation" minOccurs="0"/>
469 <xs:group ref="xs:complexTypeModel"/>
471 <xs:attribute name="name" type="xs:NCName" use="required"/>
472 <xs:anyAttribute namespace="##other" processContents="lax"/>
477 <xs:complexType name="localComplexType">
479 <xs:restriction base="xs:complexType">
481 <xs:element ref="xs:annotation" minOccurs="0"/>
482 <xs:group ref="xs:complexTypeModel"/>
484 <xs:attribute name="name" use="prohibited"/>
485 <xs:attribute name="abstract" use="prohibited"/>
486 <xs:attribute name="final" use="prohibited"/>
487 <xs:attribute name="block" use="prohibited"/>
488 <xs:anyAttribute namespace="##other" processContents="lax"/>
493 <xs:complexType name="restrictionType">
495 <xs:extension base="xs:annotated">
497 <xs:choice minOccurs="0">
498 <xs:group ref="xs:typeDefParticle"/>
499 <xs:group ref="xs:simpleRestrictionModel"/>
501 <xs:group ref="xs:attrDecls"/>
503 <xs:attribute name="base" type="xs:QName" use="required"/>
508 <xs:complexType name="complexRestrictionType">
510 <xs:restriction base="xs:restrictionType">
512 <xs:element ref="xs:annotation" minOccurs="0"/>
513 <xs:choice minOccurs="0">
515 <xs:documentation>This choice is added simply to
516 make this a valid restriction per the REC</xs:documentation>
518 <xs:group ref="xs:typeDefParticle"/>
520 <xs:group ref="xs:attrDecls"/>
522 <xs:anyAttribute namespace="##other" processContents="lax"/>
527 <xs:complexType name="extensionType">
529 <xs:extension base="xs:annotated">
531 <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
532 <xs:group ref="xs:attrDecls"/>
534 <xs:attribute name="base" type="xs:QName" use="required"/>
539 <xs:element name="complexContent" id="complexContent">
541 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
545 <xs:extension base="xs:annotated">
547 <xs:element name="restriction" type="xs:complexRestrictionType"/>
548 <xs:element name="extension" type="xs:extensionType"/>
550 <xs:attribute name="mixed" type="xs:boolean">
553 Overrides any setting on complexType parent.</xs:documentation>
561 <xs:complexType name="simpleRestrictionType">
563 <xs:restriction base="xs:restrictionType">
565 <xs:element ref="xs:annotation" minOccurs="0"/>
566 <xs:choice minOccurs="0">
568 <xs:documentation>This choice is added simply to
569 make this a valid restriction per the REC</xs:documentation>
571 <xs:group ref="xs:simpleRestrictionModel"/>
573 <xs:group ref="xs:attrDecls"/>
575 <xs:anyAttribute namespace="##other" processContents="lax"/>
580 <xs:complexType name="simpleExtensionType">
582 <xs:restriction base="xs:extensionType">
586 No typeDefParticle group reference</xs:documentation>
588 <xs:element ref="xs:annotation" minOccurs="0"/>
589 <xs:group ref="xs:attrDecls"/>
591 <xs:anyAttribute namespace="##other" processContents="lax"/>
596 <xs:element name="simpleContent" id="simpleContent">
598 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
602 <xs:extension base="xs:annotated">
604 <xs:element name="restriction" type="xs:simpleRestrictionType"/>
605 <xs:element name="extension" type="xs:simpleExtensionType"/>
612 <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
614 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
619 <xs:simpleType name="blockSet">
622 A utility type, not for public use</xs:documentation>
624 #all or (possibly empty) subset of {substitution, extension,
625 restriction}</xs:documentation>
629 <xs:restriction base="xs:token">
630 <xs:enumeration value="#all"/>
636 <xs:restriction base="xs:derivationControl">
637 <xs:enumeration value="extension"/>
638 <xs:enumeration value="restriction"/>
639 <xs:enumeration value="substitution"/>
647 <xs:complexType name="element" abstract="true">
650 The element element can be used either
651 at the top level to define an element-type binding globally,
652 or within a content model to either reference a globally-defined
653 element or type or declare an element-type binding locally.
654 The ref form is not allowed at the top level.</xs:documentation>
658 <xs:extension base="xs:annotated">
660 <xs:choice minOccurs="0">
661 <xs:element name="simpleType" type="xs:localSimpleType"/>
662 <xs:element name="complexType" type="xs:localComplexType"/>
664 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
666 <xs:attributeGroup ref="xs:defRef"/>
667 <xs:attribute name="type" type="xs:QName"/>
668 <xs:attribute name="substitutionGroup" type="xs:QName"/>
669 <xs:attributeGroup ref="xs:occurs"/>
670 <xs:attribute name="default" type="xs:string"/>
671 <xs:attribute name="fixed" type="xs:string"/>
672 <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
673 <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
674 <xs:attribute name="final" type="xs:derivationSet"/>
675 <xs:attribute name="block" type="xs:blockSet"/>
676 <xs:attribute name="form" type="xs:formChoice"/>
681 <xs:complexType name="topLevelElement">
683 <xs:restriction base="xs:element">
685 <xs:element ref="xs:annotation" minOccurs="0"/>
686 <xs:choice minOccurs="0">
687 <xs:element name="simpleType" type="xs:localSimpleType"/>
688 <xs:element name="complexType" type="xs:localComplexType"/>
690 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
692 <xs:attribute name="ref" use="prohibited"/>
693 <xs:attribute name="form" use="prohibited"/>
694 <xs:attribute name="minOccurs" use="prohibited"/>
695 <xs:attribute name="maxOccurs" use="prohibited"/>
696 <xs:attribute name="name" use="required" type="xs:NCName"/>
697 <xs:anyAttribute namespace="##other" processContents="lax"/>
702 <xs:complexType name="localElement">
704 <xs:restriction base="xs:element">
706 <xs:element ref="xs:annotation" minOccurs="0"/>
707 <xs:choice minOccurs="0">
708 <xs:element name="simpleType" type="xs:localSimpleType"/>
709 <xs:element name="complexType" type="xs:localComplexType"/>
711 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
713 <xs:attribute name="substitutionGroup" use="prohibited"/>
714 <xs:attribute name="final" use="prohibited"/>
715 <xs:attribute name="abstract" use="prohibited"/>
716 <xs:anyAttribute namespace="##other" processContents="lax"/>
721 <xs:element name="element" type="xs:topLevelElement" id="element">
723 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
727 <xs:complexType name="group" abstract="true">
730 group type for explicit groups, named top-level groups and
731 group references</xs:documentation>
734 <xs:extension base="xs:annotated">
735 <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
736 <xs:attributeGroup ref="xs:defRef"/>
737 <xs:attributeGroup ref="xs:occurs"/>
742 <xs:complexType name="realGroup">
744 <xs:restriction base="xs:group">
746 <xs:element ref="xs:annotation" minOccurs="0"/>
747 <xs:choice minOccurs="0" maxOccurs="1">
748 <xs:element ref="xs:all"/>
749 <xs:element ref="xs:choice"/>
750 <xs:element ref="xs:sequence"/>
753 <xs:anyAttribute namespace="##other" processContents="lax"/>
758 <xs:complexType name="namedGroup">
760 <xs:restriction base="xs:realGroup">
762 <xs:element ref="xs:annotation" minOccurs="0"/>
763 <xs:choice minOccurs="1" maxOccurs="1">
764 <xs:element name="all">
767 <xs:restriction base="xs:all">
768 <xs:group ref="xs:allModel"/>
769 <xs:attribute name="minOccurs" use="prohibited"/>
770 <xs:attribute name="maxOccurs" use="prohibited"/>
771 <xs:anyAttribute namespace="##other" processContents="lax"/>
776 <xs:element name="choice" type="xs:simpleExplicitGroup"/>
777 <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
780 <xs:attribute name="name" use="required" type="xs:NCName"/>
781 <xs:attribute name="ref" use="prohibited"/>
782 <xs:attribute name="minOccurs" use="prohibited"/>
783 <xs:attribute name="maxOccurs" use="prohibited"/>
784 <xs:anyAttribute namespace="##other" processContents="lax"/>
789 <xs:complexType name="groupRef">
791 <xs:restriction base="xs:realGroup">
793 <xs:element ref="xs:annotation" minOccurs="0"/>
795 <xs:attribute name="ref" use="required" type="xs:QName"/>
796 <xs:attribute name="name" use="prohibited"/>
797 <xs:anyAttribute namespace="##other" processContents="lax"/>
802 <xs:complexType name="explicitGroup">
805 group type for the three kinds of group</xs:documentation>
808 <xs:restriction base="xs:group">
810 <xs:element ref="xs:annotation" minOccurs="0"/>
811 <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
813 <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
814 <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
815 <xs:anyAttribute namespace="##other" processContents="lax"/>
820 <xs:complexType name="simpleExplicitGroup">
822 <xs:restriction base="xs:explicitGroup">
824 <xs:element ref="xs:annotation" minOccurs="0"/>
825 <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
827 <xs:attribute name="minOccurs" use="prohibited"/>
828 <xs:attribute name="maxOccurs" use="prohibited"/>
829 <xs:anyAttribute namespace="##other" processContents="lax"/>
834 <xs:group name="allModel">
836 <xs:element ref="xs:annotation" minOccurs="0"/>
837 <xs:choice minOccurs="0" maxOccurs="unbounded">
839 <xs:documentation>This choice with min/max is here to
840 avoid a pblm with the Elt:All/Choice/Seq
841 Particle derivation constraint</xs:documentation>
843 <xs:element name="element" type="xs:narrowMaxMin"/>
849 <xs:complexType name="narrowMaxMin">
851 <xs:documentation>restricted max/min</xs:documentation>
854 <xs:restriction base="xs:localElement">
856 <xs:element ref="xs:annotation" minOccurs="0"/>
857 <xs:choice minOccurs="0">
858 <xs:element name="simpleType" type="xs:localSimpleType"/>
859 <xs:element name="complexType" type="xs:localComplexType"/>
861 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
863 <xs:attribute name="minOccurs" use="optional" default="1">
865 <xs:restriction base="xs:nonNegativeInteger">
866 <xs:enumeration value="0"/>
867 <xs:enumeration value="1"/>
871 <xs:attribute name="maxOccurs" use="optional" default="1">
873 <xs:restriction base="xs:allNNI">
874 <xs:enumeration value="0"/>
875 <xs:enumeration value="1"/>
879 <xs:anyAttribute namespace="##other" processContents="lax"/>
884 <xs:complexType name="all">
887 Only elements allowed inside</xs:documentation>
890 <xs:restriction base="xs:explicitGroup">
891 <xs:group ref="xs:allModel"/>
892 <xs:attribute name="minOccurs" use="optional" default="1">
894 <xs:restriction base="xs:nonNegativeInteger">
895 <xs:enumeration value="0"/>
896 <xs:enumeration value="1"/>
900 <xs:attribute name="maxOccurs" use="optional" default="1">
902 <xs:restriction base="xs:allNNI">
903 <xs:enumeration value="1"/>
907 <xs:anyAttribute namespace="##other" processContents="lax"/>
912 <xs:element name="all" id="all" type="xs:all">
914 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
918 <xs:element name="choice" type="xs:explicitGroup" id="choice">
920 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
924 <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
926 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
930 <xs:element name="group" type="xs:namedGroup" id="group">
932 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
936 <xs:complexType name="wildcard">
938 <xs:extension base="xs:annotated">
939 <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
940 <xs:attribute name="processContents" use="optional" default="strict">
942 <xs:restriction base="xs:NMTOKEN">
943 <xs:enumeration value="skip"/>
944 <xs:enumeration value="lax"/>
945 <xs:enumeration value="strict"/>
953 <xs:element name="any" id="any">
955 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
959 <xs:extension base="xs:wildcard">
960 <xs:attributeGroup ref="xs:occurs"/>
968 simple type for the value of the 'namespace' attr of
969 'any' and 'anyAttribute'</xs:documentation>
974 ##any - - any non-conflicting WFXML/attribute at all
976 ##other - - any non-conflicting WFXML/attribute from
977 namespace other than targetNS
979 ##local - - any unqualified non-conflicting WFXML/attribute
981 one or - - any non-conflicting WFXML/attribute from
982 more URI the listed namespaces
986 ##targetNamespace or ##local may appear in the above list, to
987 refer to the targetNamespace of the enclosing
988 schema or an absent targetNamespace respectively</xs:documentation>
991 <xs:simpleType name="namespaceList">
994 A utility type, not for public use</xs:documentation>
998 <xs:restriction base="xs:token">
999 <xs:enumeration value="##any"/>
1000 <xs:enumeration value="##other"/>
1006 <xs:union memberTypes="xs:anyURI">
1008 <xs:restriction base="xs:token">
1009 <xs:enumeration value="##targetNamespace"/>
1010 <xs:enumeration value="##local"/>
1020 <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
1022 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
1026 <xs:complexType name="attributeGroup" abstract="true">
1028 <xs:extension base="xs:annotated">
1029 <xs:group ref="xs:attrDecls"/>
1030 <xs:attributeGroup ref="xs:defRef"/>
1032 </xs:complexContent>
1035 <xs:complexType name="namedAttributeGroup">
1037 <xs:restriction base="xs:attributeGroup">
1039 <xs:element ref="xs:annotation" minOccurs="0"/>
1040 <xs:group ref="xs:attrDecls"/>
1042 <xs:attribute name="name" use="required" type="xs:NCName"/>
1043 <xs:attribute name="ref" use="prohibited"/>
1044 <xs:anyAttribute namespace="##other" processContents="lax"/>
1046 </xs:complexContent>
1049 <xs:complexType name="attributeGroupRef">
1051 <xs:restriction base="xs:attributeGroup">
1053 <xs:element ref="xs:annotation" minOccurs="0"/>
1055 <xs:attribute name="ref" use="required" type="xs:QName"/>
1056 <xs:attribute name="name" use="prohibited"/>
1057 <xs:anyAttribute namespace="##other" processContents="lax"/>
1059 </xs:complexContent>
1062 <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
1064 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
1068 <xs:element name="include" id="include">
1070 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
1074 <xs:extension base="xs:annotated">
1075 <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1077 </xs:complexContent>
1081 <xs:element name="redefine" id="redefine">
1083 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
1087 <xs:extension base="xs:openAttrs">
1088 <xs:choice minOccurs="0" maxOccurs="unbounded">
1089 <xs:element ref="xs:annotation"/>
1090 <xs:group ref="xs:redefinable"/>
1092 <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1093 <xs:attribute name="id" type="xs:ID"/>
1095 </xs:complexContent>
1099 <xs:element name="import" id="import">
1101 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
1105 <xs:extension base="xs:annotated">
1106 <xs:attribute name="namespace" type="xs:anyURI"/>
1107 <xs:attribute name="schemaLocation" type="xs:anyURI"/>
1109 </xs:complexContent>
1113 <xs:element name="selector" id="selector">
1115 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
1119 <xs:extension base="xs:annotated">
1120 <xs:attribute name="xpath" use="required">
1123 <xs:documentation>A subset of XPath expressions for use
1124 in selectors</xs:documentation>
1125 <xs:documentation>A utility type, not for public
1126 use</xs:documentation>
1128 <xs:restriction base="xs:token">
1130 <xs:documentation>The following pattern is intended to allow XPath
1131 expressions per the following EBNF:
1132 Selector ::= Path ( '|' Path )*
1133 Path ::= ('.//')? Step ( '/' Step )*
1134 Step ::= '.' | NameTest
1135 NameTest ::= QName | '*' | NCName ':' '*'
1136 child:: is also allowed
1139 <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
1145 </xs:complexContent>
1149 <xs:element name="field" id="field">
1151 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
1155 <xs:extension base="xs:annotated">
1156 <xs:attribute name="xpath" use="required">
1159 <xs:documentation>A subset of XPath expressions for use
1160 in fields</xs:documentation>
1161 <xs:documentation>A utility type, not for public
1162 use</xs:documentation>
1164 <xs:restriction base="xs:token">
1166 <xs:documentation>The following pattern is intended to allow XPath
1167 expressions per the same EBNF as for selector,
1168 with the following change:
1169 Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
1172 <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*|\*)))))*">
1178 </xs:complexContent>
1182 <xs:complexType name="keybase">
1184 <xs:extension base="xs:annotated">
1186 <xs:element ref="xs:selector"/>
1187 <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
1189 <xs:attribute name="name" type="xs:NCName" use="required"/>
1191 </xs:complexContent>
1194 <xs:group name="identityConstraint">
1196 <xs:documentation>The three kinds of identity constraints, all with
1197 type of or derived from 'keybase'.
1201 <xs:element ref="xs:unique"/>
1202 <xs:element ref="xs:key"/>
1203 <xs:element ref="xs:keyref"/>
1207 <xs:element name="unique" type="xs:keybase" id="unique">
1209 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
1212 <xs:element name="key" type="xs:keybase" id="key">
1214 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
1217 <xs:element name="keyref" id="keyref">
1219 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
1223 <xs:extension base="xs:keybase">
1224 <xs:attribute name="refer" type="xs:QName" use="required"/>
1226 </xs:complexContent>
1230 <xs:element name="notation" id="notation">
1232 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
1236 <xs:extension base="xs:annotated">
1237 <xs:attribute name="name" type="xs:NCName" use="required"/>
1238 <xs:attribute name="public" type="xs:public"/>
1239 <xs:attribute name="system" type="xs:anyURI"/>
1241 </xs:complexContent>
1245 <xs:simpleType name="public">
1248 A utility type, not for public use</xs:documentation>
1250 A public identifier, per ISO 8879</xs:documentation>
1252 <xs:restriction base="xs:token"/>
1255 <xs:element name="appinfo" id="appinfo">
1257 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
1259 <xs:complexType mixed="true">
1260 <xs:sequence minOccurs="0" maxOccurs="unbounded">
1261 <xs:any processContents="lax"/>
1263 <xs:attribute name="source" type="xs:anyURI"/>
1264 <xs:anyAttribute namespace="##other" processContents="lax"/>
1268 <xs:element name="documentation" id="documentation">
1270 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
1272 <xs:complexType mixed="true">
1273 <xs:sequence minOccurs="0" maxOccurs="unbounded">
1274 <xs:any processContents="lax"/>
1276 <xs:attribute name="source" type="xs:anyURI"/>
1277 <xs:attribute ref="xml:lang"/>
1278 <xs:anyAttribute namespace="##other" processContents="lax"/>
1282 <xs:element name="annotation" id="annotation">
1284 <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
1288 <xs:extension base="xs:openAttrs">
1289 <xs:choice minOccurs="0" maxOccurs="unbounded">
1290 <xs:element ref="xs:appinfo"/>
1291 <xs:element ref="xs:documentation"/>
1293 <xs:attribute name="id" type="xs:ID"/>
1295 </xs:complexContent>
1301 notations for use within XML Schema schemas</xs:documentation>
1304 <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
1305 <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
1307 <xs:complexType name="anyType" mixed="true">
1310 Not the real urType, but as close an approximation as we can
1311 get in the XML representation</xs:documentation>
1314 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
1316 <xs:anyAttribute processContents="lax"/>
1321 First the built-in primitive datatypes. These definitions are for
1322 information only, the real built-in definitions are magic.
1326 For each built-in datatype in this schema (both primitive and
1327 derived) can be uniquely addressed via a URI constructed
1329 1) the base URI is the URI of the XML Schema namespace
1330 2) the fragment identifier is the name of the datatype
1332 For example, to address the int datatype, the URI is:
1334 http://www.w3.org/2001/XMLSchema#int
1336 Additionally, each facet definition element can be uniquely
1337 addressed via a URI constructed as follows:
1338 1) the base URI is the URI of the XML Schema namespace
1339 2) the fragment identifier is the name of the facet
1341 For example, to address the maxInclusive facet, the URI is:
1343 http://www.w3.org/2001/XMLSchema#maxInclusive
1345 Additionally, each facet usage in a built-in datatype definition
1346 can be uniquely addressed via a URI constructed as follows:
1347 1) the base URI is the URI of the XML Schema namespace
1348 2) the fragment identifier is the name of the datatype, followed
1349 by a period (".") followed by the name of the facet
1351 For example, to address the usage of the maxInclusive facet in
1352 the definition of int, the URI is:
1354 http://www.w3.org/2001/XMLSchema#int.maxInclusive
1359 <xs:simpleType name="string" id="string">
1362 <hfp:hasFacet name="length"/>
1363 <hfp:hasFacet name="minLength"/>
1364 <hfp:hasFacet name="maxLength"/>
1365 <hfp:hasFacet name="pattern"/>
1366 <hfp:hasFacet name="enumeration"/>
1367 <hfp:hasFacet name="whiteSpace"/>
1368 <hfp:hasProperty name="ordered" value="false"/>
1369 <hfp:hasProperty name="bounded" value="false"/>
1370 <hfp:hasProperty name="cardinality" value="countably infinite"/>
1371 <hfp:hasProperty name="numeric" value="false"/>
1374 source="http://www.w3.org/TR/xmlschema-2/#string"/>
1376 <xs:restriction base="xs:anySimpleType">
1377 <xs:whiteSpace value="preserve" id="string.preserve"/>
1381 <xs:simpleType name="boolean" id="boolean">
1384 <hfp:hasFacet name="pattern"/>
1385 <hfp:hasFacet name="whiteSpace"/>
1386 <hfp:hasProperty name="ordered" value="false"/>
1387 <hfp:hasProperty name="bounded" value="false"/>
1388 <hfp:hasProperty name="cardinality" value="finite"/>
1389 <hfp:hasProperty name="numeric" value="false"/>
1392 source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
1394 <xs:restriction base="xs:anySimpleType">
1395 <xs:whiteSpace value="collapse" fixed="true"
1396 id="boolean.whiteSpace"/>
1400 <xs:simpleType name="float" id="float">
1403 <hfp:hasFacet name="pattern"/>
1404 <hfp:hasFacet name="enumeration"/>
1405 <hfp:hasFacet name="whiteSpace"/>
1406 <hfp:hasFacet name="maxInclusive"/>
1407 <hfp:hasFacet name="maxExclusive"/>
1408 <hfp:hasFacet name="minInclusive"/>
1409 <hfp:hasFacet name="minExclusive"/>
1410 <hfp:hasProperty name="ordered" value="total"/>
1411 <hfp:hasProperty name="bounded" value="true"/>
1412 <hfp:hasProperty name="cardinality" value="finite"/>
1413 <hfp:hasProperty name="numeric" value="true"/>
1416 source="http://www.w3.org/TR/xmlschema-2/#float"/>
1418 <xs:restriction base="xs:anySimpleType">
1419 <xs:whiteSpace value="collapse" fixed="true"
1420 id="float.whiteSpace"/>
1424 <xs:simpleType name="double" id="double">
1427 <hfp:hasFacet name="pattern"/>
1428 <hfp:hasFacet name="enumeration"/>
1429 <hfp:hasFacet name="whiteSpace"/>
1430 <hfp:hasFacet name="maxInclusive"/>
1431 <hfp:hasFacet name="maxExclusive"/>
1432 <hfp:hasFacet name="minInclusive"/>
1433 <hfp:hasFacet name="minExclusive"/>
1434 <hfp:hasProperty name="ordered" value="total"/>
1435 <hfp:hasProperty name="bounded" value="true"/>
1436 <hfp:hasProperty name="cardinality" value="finite"/>
1437 <hfp:hasProperty name="numeric" value="true"/>
1440 source="http://www.w3.org/TR/xmlschema-2/#double"/>
1442 <xs:restriction base="xs:anySimpleType">
1443 <xs:whiteSpace value="collapse" fixed="true"
1444 id="double.whiteSpace"/>
1448 <xs:simpleType name="decimal" id="decimal">
1451 <hfp:hasFacet name="totalDigits"/>
1452 <hfp:hasFacet name="fractionDigits"/>
1453 <hfp:hasFacet name="pattern"/>
1454 <hfp:hasFacet name="whiteSpace"/>
1455 <hfp:hasFacet name="enumeration"/>
1456 <hfp:hasFacet name="maxInclusive"/>
1457 <hfp:hasFacet name="maxExclusive"/>
1458 <hfp:hasFacet name="minInclusive"/>
1459 <hfp:hasFacet name="minExclusive"/>
1460 <hfp:hasProperty name="ordered" value="total"/>
1461 <hfp:hasProperty name="bounded" value="false"/>
1462 <hfp:hasProperty name="cardinality"
1463 value="countably infinite"/>
1464 <hfp:hasProperty name="numeric" value="true"/>
1467 source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
1469 <xs:restriction base="xs:anySimpleType">
1470 <xs:whiteSpace value="collapse" fixed="true"
1471 id="decimal.whiteSpace"/>
1475 <xs:simpleType name="duration" id="duration">
1478 <hfp:hasFacet name="pattern"/>
1479 <hfp:hasFacet name="enumeration"/>
1480 <hfp:hasFacet name="whiteSpace"/>
1481 <hfp:hasFacet name="maxInclusive"/>
1482 <hfp:hasFacet name="maxExclusive"/>
1483 <hfp:hasFacet name="minInclusive"/>
1484 <hfp:hasFacet name="minExclusive"/>
1485 <hfp:hasProperty name="ordered" value="partial"/>
1486 <hfp:hasProperty name="bounded" value="false"/>
1487 <hfp:hasProperty name="cardinality"
1488 value="countably infinite"/>
1489 <hfp:hasProperty name="numeric" value="false"/>
1492 source="http://www.w3.org/TR/xmlschema-2/#duration"/>
1494 <xs:restriction base="xs:anySimpleType">
1495 <xs:whiteSpace value="collapse" fixed="true"
1496 id="duration.whiteSpace"/>
1500 <xs:simpleType name="dateTime" id="dateTime">
1503 <hfp:hasFacet name="pattern"/>
1504 <hfp:hasFacet name="enumeration"/>
1505 <hfp:hasFacet name="whiteSpace"/>
1506 <hfp:hasFacet name="maxInclusive"/>
1507 <hfp:hasFacet name="maxExclusive"/>
1508 <hfp:hasFacet name="minInclusive"/>
1509 <hfp:hasFacet name="minExclusive"/>
1510 <hfp:hasProperty name="ordered" value="partial"/>
1511 <hfp:hasProperty name="bounded" value="false"/>
1512 <hfp:hasProperty name="cardinality"
1513 value="countably infinite"/>
1514 <hfp:hasProperty name="numeric" value="false"/>
1517 source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
1519 <xs:restriction base="xs:anySimpleType">
1520 <xs:whiteSpace value="collapse" fixed="true"
1521 id="dateTime.whiteSpace"/>
1525 <xs:simpleType name="time" id="time">
1528 <hfp:hasFacet name="pattern"/>
1529 <hfp:hasFacet name="enumeration"/>
1530 <hfp:hasFacet name="whiteSpace"/>
1531 <hfp:hasFacet name="maxInclusive"/>
1532 <hfp:hasFacet name="maxExclusive"/>
1533 <hfp:hasFacet name="minInclusive"/>
1534 <hfp:hasFacet name="minExclusive"/>
1535 <hfp:hasProperty name="ordered" value="partial"/>
1536 <hfp:hasProperty name="bounded" value="false"/>
1537 <hfp:hasProperty name="cardinality"
1538 value="countably infinite"/>
1539 <hfp:hasProperty name="numeric" value="false"/>
1542 source="http://www.w3.org/TR/xmlschema-2/#time"/>
1544 <xs:restriction base="xs:anySimpleType">
1545 <xs:whiteSpace value="collapse" fixed="true"
1546 id="time.whiteSpace"/>
1550 <xs:simpleType name="date" id="date">
1553 <hfp:hasFacet name="pattern"/>
1554 <hfp:hasFacet name="enumeration"/>
1555 <hfp:hasFacet name="whiteSpace"/>
1556 <hfp:hasFacet name="maxInclusive"/>
1557 <hfp:hasFacet name="maxExclusive"/>
1558 <hfp:hasFacet name="minInclusive"/>
1559 <hfp:hasFacet name="minExclusive"/>
1560 <hfp:hasProperty name="ordered" value="partial"/>
1561 <hfp:hasProperty name="bounded" value="false"/>
1562 <hfp:hasProperty name="cardinality"
1563 value="countably infinite"/>
1564 <hfp:hasProperty name="numeric" value="false"/>
1567 source="http://www.w3.org/TR/xmlschema-2/#date"/>
1569 <xs:restriction base="xs:anySimpleType">
1570 <xs:whiteSpace value="collapse" fixed="true"
1571 id="date.whiteSpace"/>
1575 <xs:simpleType name="gYearMonth" id="gYearMonth">
1578 <hfp:hasFacet name="pattern"/>
1579 <hfp:hasFacet name="enumeration"/>
1580 <hfp:hasFacet name="whiteSpace"/>
1581 <hfp:hasFacet name="maxInclusive"/>
1582 <hfp:hasFacet name="maxExclusive"/>
1583 <hfp:hasFacet name="minInclusive"/>
1584 <hfp:hasFacet name="minExclusive"/>
1585 <hfp:hasProperty name="ordered" value="partial"/>
1586 <hfp:hasProperty name="bounded" value="false"/>
1587 <hfp:hasProperty name="cardinality"
1588 value="countably infinite"/>
1589 <hfp:hasProperty name="numeric" value="false"/>
1592 source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
1594 <xs:restriction base="xs:anySimpleType">
1595 <xs:whiteSpace value="collapse" fixed="true"
1596 id="gYearMonth.whiteSpace"/>
1600 <xs:simpleType name="gYear" id="gYear">
1603 <hfp:hasFacet name="pattern"/>
1604 <hfp:hasFacet name="enumeration"/>
1605 <hfp:hasFacet name="whiteSpace"/>
1606 <hfp:hasFacet name="maxInclusive"/>
1607 <hfp:hasFacet name="maxExclusive"/>
1608 <hfp:hasFacet name="minInclusive"/>
1609 <hfp:hasFacet name="minExclusive"/>
1610 <hfp:hasProperty name="ordered" value="partial"/>
1611 <hfp:hasProperty name="bounded" value="false"/>
1612 <hfp:hasProperty name="cardinality"
1613 value="countably infinite"/>
1614 <hfp:hasProperty name="numeric" value="false"/>
1617 source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
1619 <xs:restriction base="xs:anySimpleType">
1620 <xs:whiteSpace value="collapse" fixed="true"
1621 id="gYear.whiteSpace"/>
1625 <xs:simpleType name="gMonthDay" id="gMonthDay">
1628 <hfp:hasFacet name="pattern"/>
1629 <hfp:hasFacet name="enumeration"/>
1630 <hfp:hasFacet name="whiteSpace"/>
1631 <hfp:hasFacet name="maxInclusive"/>
1632 <hfp:hasFacet name="maxExclusive"/>
1633 <hfp:hasFacet name="minInclusive"/>
1634 <hfp:hasFacet name="minExclusive"/>
1635 <hfp:hasProperty name="ordered" value="partial"/>
1636 <hfp:hasProperty name="bounded" value="false"/>
1637 <hfp:hasProperty name="cardinality"
1638 value="countably infinite"/>
1639 <hfp:hasProperty name="numeric" value="false"/>
1642 source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
1644 <xs:restriction base="xs:anySimpleType">
1645 <xs:whiteSpace value="collapse" fixed="true"
1646 id="gMonthDay.whiteSpace"/>
1650 <xs:simpleType name="gDay" id="gDay">
1653 <hfp:hasFacet name="pattern"/>
1654 <hfp:hasFacet name="enumeration"/>
1655 <hfp:hasFacet name="whiteSpace"/>
1656 <hfp:hasFacet name="maxInclusive"/>
1657 <hfp:hasFacet name="maxExclusive"/>
1658 <hfp:hasFacet name="minInclusive"/>
1659 <hfp:hasFacet name="minExclusive"/>
1660 <hfp:hasProperty name="ordered" value="partial"/>
1661 <hfp:hasProperty name="bounded" value="false"/>
1662 <hfp:hasProperty name="cardinality"
1663 value="countably infinite"/>
1664 <hfp:hasProperty name="numeric" value="false"/>
1667 source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
1669 <xs:restriction base="xs:anySimpleType">
1670 <xs:whiteSpace value="collapse" fixed="true"
1671 id="gDay.whiteSpace"/>
1675 <xs:simpleType name="gMonth" id="gMonth">
1678 <hfp:hasFacet name="pattern"/>
1679 <hfp:hasFacet name="enumeration"/>
1680 <hfp:hasFacet name="whiteSpace"/>
1681 <hfp:hasFacet name="maxInclusive"/>
1682 <hfp:hasFacet name="maxExclusive"/>
1683 <hfp:hasFacet name="minInclusive"/>
1684 <hfp:hasFacet name="minExclusive"/>
1685 <hfp:hasProperty name="ordered" value="partial"/>
1686 <hfp:hasProperty name="bounded" value="false"/>
1687 <hfp:hasProperty name="cardinality"
1688 value="countably infinite"/>
1689 <hfp:hasProperty name="numeric" value="false"/>
1692 source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
1694 <xs:restriction base="xs:anySimpleType">
1695 <xs:whiteSpace value="collapse" fixed="true"
1696 id="gMonth.whiteSpace"/>
1700 <xs:simpleType name="hexBinary" id="hexBinary">
1703 <hfp:hasFacet name="length"/>
1704 <hfp:hasFacet name="minLength"/>
1705 <hfp:hasFacet name="maxLength"/>
1706 <hfp:hasFacet name="pattern"/>
1707 <hfp:hasFacet name="enumeration"/>
1708 <hfp:hasFacet name="whiteSpace"/>
1709 <hfp:hasProperty name="ordered" value="false"/>
1710 <hfp:hasProperty name="bounded" value="false"/>
1711 <hfp:hasProperty name="cardinality"
1712 value="countably infinite"/>
1713 <hfp:hasProperty name="numeric" value="false"/>
1716 source="http://www.w3.org/TR/xmlschema-2/#binary"/>
1718 <xs:restriction base="xs:anySimpleType">
1719 <xs:whiteSpace value="collapse" fixed="true"
1720 id="hexBinary.whiteSpace"/>
1724 <xs:simpleType name="base64Binary" id="base64Binary">
1727 <hfp:hasFacet name="length"/>
1728 <hfp:hasFacet name="minLength"/>
1729 <hfp:hasFacet name="maxLength"/>
1730 <hfp:hasFacet name="pattern"/>
1731 <hfp:hasFacet name="enumeration"/>
1732 <hfp:hasFacet name="whiteSpace"/>
1733 <hfp:hasProperty name="ordered" value="false"/>
1734 <hfp:hasProperty name="bounded" value="false"/>
1735 <hfp:hasProperty name="cardinality"
1736 value="countably infinite"/>
1737 <hfp:hasProperty name="numeric" value="false"/>
1740 source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
1742 <xs:restriction base="xs:anySimpleType">
1743 <xs:whiteSpace value="collapse" fixed="true"
1744 id="base64Binary.whiteSpace"/>
1748 <xs:simpleType name="anyURI" id="anyURI">
1751 <hfp:hasFacet name="length"/>
1752 <hfp:hasFacet name="minLength"/>
1753 <hfp:hasFacet name="maxLength"/>
1754 <hfp:hasFacet name="pattern"/>
1755 <hfp:hasFacet name="enumeration"/>
1756 <hfp:hasFacet name="whiteSpace"/>
1757 <hfp:hasProperty name="ordered" value="false"/>
1758 <hfp:hasProperty name="bounded" value="false"/>
1759 <hfp:hasProperty name="cardinality"
1760 value="countably infinite"/>
1761 <hfp:hasProperty name="numeric" value="false"/>
1764 source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
1766 <xs:restriction base="xs:anySimpleType">
1767 <xs:whiteSpace value="collapse" fixed="true"
1768 id="anyURI.whiteSpace"/>
1772 <xs:simpleType name="QName" id="QName">
1775 <hfp:hasFacet name="length"/>
1776 <hfp:hasFacet name="minLength"/>
1777 <hfp:hasFacet name="maxLength"/>
1778 <hfp:hasFacet name="pattern"/>
1779 <hfp:hasFacet name="enumeration"/>
1780 <hfp:hasFacet name="whiteSpace"/>
1781 <hfp:hasProperty name="ordered" value="false"/>
1782 <hfp:hasProperty name="bounded" value="false"/>
1783 <hfp:hasProperty name="cardinality"
1784 value="countably infinite"/>
1785 <hfp:hasProperty name="numeric" value="false"/>
1788 source="http://www.w3.org/TR/xmlschema-2/#QName"/>
1790 <xs:restriction base="xs:anySimpleType">
1791 <xs:whiteSpace value="collapse" fixed="true"
1792 id="QName.whiteSpace"/>
1796 <xs:simpleType name="NOTATION" id="NOTATION">
1799 <hfp:hasFacet name="length"/>
1800 <hfp:hasFacet name="minLength"/>
1801 <hfp:hasFacet name="maxLength"/>
1802 <hfp:hasFacet name="pattern"/>
1803 <hfp:hasFacet name="enumeration"/>
1804 <hfp:hasFacet name="whiteSpace"/>
1805 <hfp:hasProperty name="ordered" value="false"/>
1806 <hfp:hasProperty name="bounded" value="false"/>
1807 <hfp:hasProperty name="cardinality"
1808 value="countably infinite"/>
1809 <hfp:hasProperty name="numeric" value="false"/>
1812 source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
1814 NOTATION cannot be used directly in a schema; rather a type
1815 must be derived from it by specifying at least one enumeration
1816 facet whose value is the name of a NOTATION declared in the
1820 <xs:restriction base="xs:anySimpleType">
1821 <xs:whiteSpace value="collapse" fixed="true"
1822 id="NOTATION.whiteSpace"/>
1828 Now the derived primitive types
1832 <xs:simpleType name="normalizedString" id="normalizedString">
1835 source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
1837 <xs:restriction base="xs:string">
1838 <xs:whiteSpace value="replace"
1839 id="normalizedString.whiteSpace"/>
1843 <xs:simpleType name="token" id="token">
1846 source="http://www.w3.org/TR/xmlschema-2/#token"/>
1848 <xs:restriction base="xs:normalizedString">
1849 <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
1853 <xs:simpleType name="language" id="language">
1856 source="http://www.w3.org/TR/xmlschema-2/#language"/>
1858 <xs:restriction base="xs:token">
1860 value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
1861 id="language.pattern">
1864 source="http://www.ietf.org/rfc/rfc3066.txt">
1865 pattern specifies the content of section 2.12 of XML 1.0e2
1866 and RFC 3066 (Revised version of RFC 1766).
1873 <xs:simpleType name="IDREFS" id="IDREFS">
1876 <hfp:hasFacet name="length"/>
1877 <hfp:hasFacet name="minLength"/>
1878 <hfp:hasFacet name="maxLength"/>
1879 <hfp:hasFacet name="enumeration"/>
1880 <hfp:hasFacet name="whiteSpace"/>
1881 <hfp:hasFacet name="pattern"/>
1882 <hfp:hasProperty name="ordered" value="false"/>
1883 <hfp:hasProperty name="bounded" value="false"/>
1884 <hfp:hasProperty name="cardinality"
1885 value="countably infinite"/>
1886 <hfp:hasProperty name="numeric" value="false"/>
1889 source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
1893 <xs:list itemType="xs:IDREF"/>
1895 <xs:minLength value="1" id="IDREFS.minLength"/>
1899 <xs:simpleType name="ENTITIES" id="ENTITIES">
1902 <hfp:hasFacet name="length"/>
1903 <hfp:hasFacet name="minLength"/>
1904 <hfp:hasFacet name="maxLength"/>
1905 <hfp:hasFacet name="enumeration"/>
1906 <hfp:hasFacet name="whiteSpace"/>
1907 <hfp:hasFacet name="pattern"/>
1908 <hfp:hasProperty name="ordered" value="false"/>
1909 <hfp:hasProperty name="bounded" value="false"/>
1910 <hfp:hasProperty name="cardinality"
1911 value="countably infinite"/>
1912 <hfp:hasProperty name="numeric" value="false"/>
1915 source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
1919 <xs:list itemType="xs:ENTITY"/>
1921 <xs:minLength value="1" id="ENTITIES.minLength"/>
1925 <xs:simpleType name="NMTOKEN" id="NMTOKEN">
1928 source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
1930 <xs:restriction base="xs:token">
1931 <xs:pattern value="\c+" id="NMTOKEN.pattern">
1934 source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
1935 pattern matches production 7 from the XML spec
1942 <xs:simpleType name="NMTOKENS" id="NMTOKENS">
1945 <hfp:hasFacet name="length"/>
1946 <hfp:hasFacet name="minLength"/>
1947 <hfp:hasFacet name="maxLength"/>
1948 <hfp:hasFacet name="enumeration"/>
1949 <hfp:hasFacet name="whiteSpace"/>
1950 <hfp:hasFacet name="pattern"/>
1951 <hfp:hasProperty name="ordered" value="false"/>
1952 <hfp:hasProperty name="bounded" value="false"/>
1953 <hfp:hasProperty name="cardinality"
1954 value="countably infinite"/>
1955 <hfp:hasProperty name="numeric" value="false"/>
1958 source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
1962 <xs:list itemType="xs:NMTOKEN"/>
1964 <xs:minLength value="1" id="NMTOKENS.minLength"/>
1968 <xs:simpleType name="Name" id="Name">
1971 source="http://www.w3.org/TR/xmlschema-2/#Name"/>
1973 <xs:restriction base="xs:token">
1974 <xs:pattern value="\i\c*" id="Name.pattern">
1977 source="http://www.w3.org/TR/REC-xml#NT-Name">
1978 pattern matches production 5 from the XML spec
1985 <xs:simpleType name="NCName" id="NCName">
1988 source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
1990 <xs:restriction base="xs:Name">
1991 <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
1994 source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
1995 pattern matches production 4 from the Namespaces in XML spec
2002 <xs:simpleType name="ID" id="ID">
2005 source="http://www.w3.org/TR/xmlschema-2/#ID"/>
2007 <xs:restriction base="xs:NCName"/>
2010 <xs:simpleType name="IDREF" id="IDREF">
2013 source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
2015 <xs:restriction base="xs:NCName"/>
2018 <xs:simpleType name="ENTITY" id="ENTITY">
2021 source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
2023 <xs:restriction base="xs:NCName"/>
2026 <xs:simpleType name="integer" id="integer">
2029 source="http://www.w3.org/TR/xmlschema-2/#integer"/>
2031 <xs:restriction base="xs:decimal">
2032 <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
2033 <xs:pattern value="[\-+]?[0-9]+"/>
2037 <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
2040 source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
2042 <xs:restriction base="xs:integer">
2043 <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
2047 <xs:simpleType name="negativeInteger" id="negativeInteger">
2050 source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
2052 <xs:restriction base="xs:nonPositiveInteger">
2053 <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
2057 <xs:simpleType name="long" id="long">
2060 <hfp:hasProperty name="bounded" value="true"/>
2061 <hfp:hasProperty name="cardinality" value="finite"/>
2064 source="http://www.w3.org/TR/xmlschema-2/#long"/>
2066 <xs:restriction base="xs:integer">
2067 <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
2068 <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
2072 <xs:simpleType name="int" id="int">
2075 source="http://www.w3.org/TR/xmlschema-2/#int"/>
2077 <xs:restriction base="xs:long">
2078 <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
2079 <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
2083 <xs:simpleType name="short" id="short">
2086 source="http://www.w3.org/TR/xmlschema-2/#short"/>
2088 <xs:restriction base="xs:int">
2089 <xs:minInclusive value="-32768" id="short.minInclusive"/>
2090 <xs:maxInclusive value="32767" id="short.maxInclusive"/>
2094 <xs:simpleType name="byte" id="byte">
2097 source="http://www.w3.org/TR/xmlschema-2/#byte"/>
2099 <xs:restriction base="xs:short">
2100 <xs:minInclusive value="-128" id="byte.minInclusive"/>
2101 <xs:maxInclusive value="127" id="byte.maxInclusive"/>
2105 <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
2108 source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
2110 <xs:restriction base="xs:integer">
2111 <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
2115 <xs:simpleType name="unsignedLong" id="unsignedLong">
2118 <hfp:hasProperty name="bounded" value="true"/>
2119 <hfp:hasProperty name="cardinality" value="finite"/>
2122 source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
2124 <xs:restriction base="xs:nonNegativeInteger">
2125 <xs:maxInclusive value="18446744073709551615"
2126 id="unsignedLong.maxInclusive"/>
2130 <xs:simpleType name="unsignedInt" id="unsignedInt">
2133 source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
2135 <xs:restriction base="xs:unsignedLong">
2136 <xs:maxInclusive value="4294967295"
2137 id="unsignedInt.maxInclusive"/>
2141 <xs:simpleType name="unsignedShort" id="unsignedShort">
2144 source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
2146 <xs:restriction base="xs:unsignedInt">
2147 <xs:maxInclusive value="65535"
2148 id="unsignedShort.maxInclusive"/>
2152 <xs:simpleType name="unsignedByte" id="unsignedByte">
2155 source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
2157 <xs:restriction base="xs:unsignedShort">
2158 <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
2162 <xs:simpleType name="positiveInteger" id="positiveInteger">
2165 source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
2167 <xs:restriction base="xs:nonNegativeInteger">
2168 <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
2172 <xs:simpleType name="derivationControl">
2175 A utility type, not for public use</xs:documentation>
2177 <xs:restriction base="xs:NMTOKEN">
2178 <xs:enumeration value="substitution"/>
2179 <xs:enumeration value="extension"/>
2180 <xs:enumeration value="restriction"/>
2181 <xs:enumeration value="list"/>
2182 <xs:enumeration value="union"/>
2186 <xs:group name="simpleDerivation">
2188 <xs:element ref="xs:restriction"/>
2189 <xs:element ref="xs:list"/>
2190 <xs:element ref="xs:union"/>
2194 <xs:simpleType name="simpleDerivationSet">
2197 #all or (possibly empty) subset of {restriction, union, list}
2200 A utility type, not for public use</xs:documentation>
2204 <xs:restriction base="xs:token">
2205 <xs:enumeration value="#all"/>
2211 <xs:restriction base="xs:derivationControl">
2212 <xs:enumeration value="list"/>
2213 <xs:enumeration value="union"/>
2214 <xs:enumeration value="restriction"/>
2222 <xs:complexType name="simpleType" abstract="true">
2224 <xs:extension base="xs:annotated">
2225 <xs:group ref="xs:simpleDerivation"/>
2226 <xs:attribute name="final" type="xs:simpleDerivationSet"/>
2227 <xs:attribute name="name" type="xs:NCName">
2230 Can be restricted to required or forbidden
2235 </xs:complexContent>
2238 <xs:complexType name="topLevelSimpleType">
2240 <xs:restriction base="xs:simpleType">
2242 <xs:element ref="xs:annotation" minOccurs="0"/>
2243 <xs:group ref="xs:simpleDerivation"/>
2245 <xs:attribute name="name" use="required"
2249 Required at the top level
2253 <xs:anyAttribute namespace="##other" processContents="lax"/>
2255 </xs:complexContent>
2258 <xs:complexType name="localSimpleType">
2260 <xs:restriction base="xs:simpleType">
2262 <xs:element ref="xs:annotation" minOccurs="0"/>
2263 <xs:group ref="xs:simpleDerivation"/>
2265 <xs:attribute name="name" use="prohibited">
2268 Forbidden when nested
2272 <xs:attribute name="final" use="prohibited"/>
2273 <xs:anyAttribute namespace="##other" processContents="lax"/>
2275 </xs:complexContent>
2278 <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
2281 source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
2285 <xs:group name="facets">
2288 We should use a substitution group for facets, but
2289 that's ruled out because it would allow users to
2290 add their own, which we're not ready for yet.
2294 <xs:element ref="xs:minExclusive"/>
2295 <xs:element ref="xs:minInclusive"/>
2296 <xs:element ref="xs:maxExclusive"/>
2297 <xs:element ref="xs:maxInclusive"/>
2298 <xs:element ref="xs:totalDigits"/>
2299 <xs:element ref="xs:fractionDigits"/>
2300 <xs:element ref="xs:length"/>
2301 <xs:element ref="xs:minLength"/>
2302 <xs:element ref="xs:maxLength"/>
2303 <xs:element ref="xs:enumeration"/>
2304 <xs:element ref="xs:whiteSpace"/>
2305 <xs:element ref="xs:pattern"/>
2309 <xs:group name="simpleRestrictionModel">
2311 <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
2312 <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
2316 <xs:element name="restriction" id="restriction">
2320 source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
2321 base attribute and simpleType child are mutually
2322 exclusive, but one or other is required
2326 <xs:extension base="xs:annotated">
2327 <xs:group ref="xs:simpleRestrictionModel"/>
2328 <xs:attribute name="base" type="xs:QName" use="optional"/>
2330 </xs:complexContent>
2334 <xs:element name="list" id="list">
2338 source="http://www.w3.org/TR/xmlschema-2/#element-list">
2339 itemType attribute and simpleType child are mutually
2340 exclusive, but one or other is required
2344 <xs:extension base="xs:annotated">
2346 <xs:element name="simpleType" type="xs:localSimpleType"
2349 <xs:attribute name="itemType" type="xs:QName" use="optional"/>
2351 </xs:complexContent>
2355 <xs:element name="union" id="union">
2359 source="http://www.w3.org/TR/xmlschema-2/#element-union">
2360 memberTypes attribute must be non-empty or there must be
2361 at least one simpleType child
2365 <xs:extension base="xs:annotated">
2367 <xs:element name="simpleType" type="xs:localSimpleType"
2368 minOccurs="0" maxOccurs="unbounded"/>
2370 <xs:attribute name="memberTypes" use="optional">
2372 <xs:list itemType="xs:QName"/>
2376 </xs:complexContent>
2380 <xs:complexType name="facet">
2382 <xs:extension base="xs:annotated">
2383 <xs:attribute name="value" use="required"/>
2384 <xs:attribute name="fixed" type="xs:boolean" use="optional"
2387 </xs:complexContent>
2390 <xs:complexType name="noFixedFacet">
2392 <xs:restriction base="xs:facet">
2394 <xs:element ref="xs:annotation" minOccurs="0"/>
2396 <xs:attribute name="fixed" use="prohibited"/>
2397 <xs:anyAttribute namespace="##other" processContents="lax"/>
2399 </xs:complexContent>
2402 <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
2405 source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
2408 <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
2411 source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
2415 <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
2418 source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
2421 <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
2424 source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
2428 <xs:complexType name="numFacet">
2430 <xs:restriction base="xs:facet">
2432 <xs:element ref="xs:annotation" minOccurs="0"/>
2434 <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
2435 <xs:anyAttribute namespace="##other" processContents="lax"/>
2437 </xs:complexContent>
2440 <xs:element name="totalDigits" id="totalDigits">
2443 source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
2447 <xs:restriction base="xs:numFacet">
2449 <xs:element ref="xs:annotation" minOccurs="0"/>
2451 <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
2452 <xs:anyAttribute namespace="##other" processContents="lax"/>
2454 </xs:complexContent>
2457 <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
2460 source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
2464 <xs:element name="length" id="length" type="xs:numFacet">
2467 source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
2470 <xs:element name="minLength" id="minLength" type="xs:numFacet">
2473 source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
2476 <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
2479 source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
2483 <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
2486 source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
2490 <xs:element name="whiteSpace" id="whiteSpace">
2493 source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
2497 <xs:restriction base="xs:facet">
2499 <xs:element ref="xs:annotation" minOccurs="0"/>
2501 <xs:attribute name="value" use="required">
2503 <xs:restriction base="xs:NMTOKEN">
2504 <xs:enumeration value="preserve"/>
2505 <xs:enumeration value="replace"/>
2506 <xs:enumeration value="collapse"/>
2510 <xs:anyAttribute namespace="##other" processContents="lax"/>
2512 </xs:complexContent>
2516 <xs:element name="pattern" id="pattern">
2519 source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
2523 <xs:restriction base="xs:noFixedFacet">
2525 <xs:element ref="xs:annotation" minOccurs="0"/>
2527 <xs:attribute name="value" type="xs:string" use="required"/>
2528 <xs:anyAttribute namespace="##other" processContents="lax"/>
2530 </xs:complexContent>