configurationengine/doc/xsd/XMLSchema.xsd
changeset 0 2e8eeb919028
equal deleted inserted replaced
-1:000000000000 0:2e8eeb919028
       
     1 <?xml version='1.0' encoding='UTF-8'?>
       
     2 <!-- DOCTYPE has been removed from this copy -->
       
     3 <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">
       
     4  <xs:annotation>
       
     5   <xs:documentation>
       
     6     Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp 
       
     7     Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp 
       
     8   </xs:documentation>
       
     9  </xs:annotation>
       
    10 
       
    11  <xs:annotation>
       
    12    <xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
       
    13    The schema corresponding to this document is normative,
       
    14    with respect to the syntactic constraints it expresses in the
       
    15    XML Schema language.  The documentation (within &lt;documentation&gt; elements)
       
    16    below, is not normative, but rather highlights important aspects of
       
    17    the W3C Recommendation of which this is a part</xs:documentation>
       
    18  </xs:annotation>
       
    19 
       
    20  <xs:annotation>
       
    21    <xs:documentation>
       
    22    The simpleType element and all of its members are defined
       
    23       towards the end of this schema document</xs:documentation>
       
    24  </xs:annotation>
       
    25 
       
    26  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
       
    27    <xs:annotation>
       
    28      <xs:documentation>
       
    29        Get access to the xml: attribute groups for xml:lang
       
    30        as declared on 'schema' and 'documentation' below
       
    31      </xs:documentation>
       
    32    </xs:annotation>
       
    33  </xs:import>
       
    34 
       
    35  <xs:complexType name="openAttrs">
       
    36    <xs:annotation>
       
    37      <xs:documentation>
       
    38        This type is extended by almost all schema types
       
    39        to allow attributes from other namespaces to be
       
    40        added to user schemas.
       
    41      </xs:documentation>
       
    42    </xs:annotation>
       
    43    <xs:complexContent>
       
    44      <xs:restriction base="xs:anyType">
       
    45        <xs:anyAttribute namespace="##other" processContents="lax"/>
       
    46      </xs:restriction>
       
    47    </xs:complexContent>
       
    48  </xs:complexType>
       
    49 
       
    50  <xs:complexType name="annotated">
       
    51    <xs:annotation>
       
    52      <xs:documentation>
       
    53        This type is extended by all types which allow annotation
       
    54        other than &lt;schema&gt; itself
       
    55      </xs:documentation>
       
    56    </xs:annotation>
       
    57    <xs:complexContent>
       
    58      <xs:extension base="xs:openAttrs">
       
    59        <xs:sequence>
       
    60          <xs:element ref="xs:annotation" minOccurs="0"/>
       
    61        </xs:sequence>
       
    62        <xs:attribute name="id" type="xs:ID"/>
       
    63      </xs:extension>
       
    64    </xs:complexContent>
       
    65  </xs:complexType>
       
    66 
       
    67  <xs:group name="schemaTop">
       
    68   <xs:annotation>
       
    69    <xs:documentation>
       
    70    This group is for the
       
    71    elements which occur freely at the top level of schemas.
       
    72    All of their types are based on the "annotated" type by extension.</xs:documentation>
       
    73   </xs:annotation>
       
    74   <xs:choice>
       
    75    <xs:group ref="xs:redefinable"/>
       
    76    <xs:element ref="xs:element"/>
       
    77    <xs:element ref="xs:attribute"/>
       
    78    <xs:element ref="xs:notation"/>
       
    79   </xs:choice>
       
    80  </xs:group>
       
    81  
       
    82  <xs:group name="redefinable">
       
    83   <xs:annotation>
       
    84    <xs:documentation>
       
    85    This group is for the
       
    86    elements which can self-redefine (see &lt;redefine&gt; below).</xs:documentation>
       
    87   </xs:annotation>
       
    88   <xs:choice>
       
    89    <xs:element ref="xs:simpleType"/>
       
    90    <xs:element ref="xs:complexType"/>
       
    91    <xs:element ref="xs:group"/>
       
    92    <xs:element ref="xs:attributeGroup"/>
       
    93   </xs:choice>
       
    94  </xs:group>
       
    95 
       
    96  <xs:simpleType name="formChoice">
       
    97   <xs:annotation>
       
    98    <xs:documentation>
       
    99    A utility type, not for public use</xs:documentation>
       
   100   </xs:annotation>
       
   101   <xs:restriction base="xs:NMTOKEN">
       
   102    <xs:enumeration value="qualified"/>
       
   103    <xs:enumeration value="unqualified"/>
       
   104   </xs:restriction>
       
   105  </xs:simpleType>
       
   106 
       
   107  <xs:simpleType name="reducedDerivationControl">
       
   108   <xs:annotation>
       
   109    <xs:documentation>
       
   110    A utility type, not for public use</xs:documentation>
       
   111   </xs:annotation>
       
   112   <xs:restriction base="xs:derivationControl">
       
   113    <xs:enumeration value="extension"/>
       
   114    <xs:enumeration value="restriction"/>
       
   115   </xs:restriction>
       
   116  </xs:simpleType>
       
   117 
       
   118  <xs:simpleType name="derivationSet">
       
   119   <xs:annotation>
       
   120    <xs:documentation>
       
   121    A utility type, not for public use</xs:documentation>
       
   122    <xs:documentation>
       
   123    #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
       
   124   </xs:annotation>
       
   125   <xs:union>
       
   126    <xs:simpleType>    
       
   127     <xs:restriction base="xs:token">
       
   128      <xs:enumeration value="#all"/>
       
   129     </xs:restriction>
       
   130    </xs:simpleType>
       
   131    <xs:simpleType>
       
   132     <xs:list itemType="xs:reducedDerivationControl"/>
       
   133    </xs:simpleType>
       
   134   </xs:union>
       
   135  </xs:simpleType>
       
   136 
       
   137  <xs:simpleType name="typeDerivationControl">
       
   138   <xs:annotation>
       
   139    <xs:documentation>
       
   140    A utility type, not for public use</xs:documentation>
       
   141   </xs:annotation>
       
   142   <xs:restriction base="xs:derivationControl">
       
   143    <xs:enumeration value="extension"/>
       
   144    <xs:enumeration value="restriction"/>
       
   145    <xs:enumeration value="list"/>
       
   146    <xs:enumeration value="union"/>
       
   147   </xs:restriction>
       
   148  </xs:simpleType>
       
   149 
       
   150   <xs:simpleType name="fullDerivationSet">
       
   151   <xs:annotation>
       
   152    <xs:documentation>
       
   153    A utility type, not for public use</xs:documentation>
       
   154    <xs:documentation>
       
   155    #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
       
   156   </xs:annotation>
       
   157   <xs:union>
       
   158    <xs:simpleType>    
       
   159     <xs:restriction base="xs:token">
       
   160      <xs:enumeration value="#all"/>
       
   161     </xs:restriction>
       
   162    </xs:simpleType>
       
   163    <xs:simpleType>
       
   164     <xs:list itemType="xs:typeDerivationControl"/>
       
   165    </xs:simpleType>
       
   166   </xs:union>
       
   167  </xs:simpleType>
       
   168 
       
   169  <xs:element name="schema" id="schema">
       
   170   <xs:annotation>
       
   171     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
       
   172   </xs:annotation>
       
   173   <xs:complexType>
       
   174    <xs:complexContent>
       
   175     <xs:extension base="xs:openAttrs">
       
   176      <xs:sequence>
       
   177       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   178        <xs:element ref="xs:include"/>
       
   179        <xs:element ref="xs:import"/>
       
   180        <xs:element ref="xs:redefine"/>
       
   181        <xs:element ref="xs:annotation"/>
       
   182       </xs:choice>
       
   183       <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
   184        <xs:group ref="xs:schemaTop"/>
       
   185        <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
       
   186       </xs:sequence>
       
   187      </xs:sequence>
       
   188      <xs:attribute name="targetNamespace" type="xs:anyURI"/>
       
   189      <xs:attribute name="version" type="xs:token"/>
       
   190      <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>
       
   191      <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
       
   192      <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
       
   193      <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
       
   194      <xs:attribute name="id" type="xs:ID"/>
       
   195      <xs:attribute ref="xml:lang"/>
       
   196     </xs:extension>
       
   197    </xs:complexContent>
       
   198   </xs:complexType>
       
   199 
       
   200   <xs:key name="element">
       
   201    <xs:selector xpath="xs:element"/>
       
   202    <xs:field xpath="@name"/>
       
   203   </xs:key>
       
   204 
       
   205   <xs:key name="attribute">
       
   206    <xs:selector xpath="xs:attribute"/>
       
   207    <xs:field xpath="@name"/>
       
   208   </xs:key>
       
   209 
       
   210   <xs:key name="type">
       
   211    <xs:selector xpath="xs:complexType|xs:simpleType"/>
       
   212    <xs:field xpath="@name"/>
       
   213   </xs:key>
       
   214  
       
   215   <xs:key name="group">
       
   216    <xs:selector xpath="xs:group"/>
       
   217    <xs:field xpath="@name"/>
       
   218   </xs:key>
       
   219  
       
   220   <xs:key name="attributeGroup">
       
   221    <xs:selector xpath="xs:attributeGroup"/>
       
   222    <xs:field xpath="@name"/>
       
   223   </xs:key>
       
   224  
       
   225   <xs:key name="notation">
       
   226    <xs:selector xpath="xs:notation"/>
       
   227    <xs:field xpath="@name"/>
       
   228   </xs:key>
       
   229 
       
   230   <xs:key name="identityConstraint">
       
   231    <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
       
   232    <xs:field xpath="@name"/>
       
   233   </xs:key>
       
   234 
       
   235  </xs:element>
       
   236 
       
   237  <xs:simpleType name="allNNI">
       
   238   <xs:annotation><xs:documentation>
       
   239    for maxOccurs</xs:documentation></xs:annotation>
       
   240   <xs:union memberTypes="xs:nonNegativeInteger">
       
   241    <xs:simpleType>
       
   242     <xs:restriction base="xs:NMTOKEN">
       
   243      <xs:enumeration value="unbounded"/>
       
   244     </xs:restriction>
       
   245    </xs:simpleType>
       
   246   </xs:union>
       
   247  </xs:simpleType>
       
   248 
       
   249  <xs:attributeGroup name="occurs">
       
   250   <xs:annotation><xs:documentation>
       
   251    for all particles</xs:documentation></xs:annotation>
       
   252   <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
       
   253   <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
       
   254  </xs:attributeGroup>
       
   255 
       
   256  <xs:attributeGroup name="defRef">
       
   257   <xs:annotation><xs:documentation>
       
   258    for element, group and attributeGroup,
       
   259    which both define and reference</xs:documentation></xs:annotation>
       
   260   <xs:attribute name="name" type="xs:NCName"/>
       
   261   <xs:attribute name="ref" type="xs:QName"/>
       
   262  </xs:attributeGroup>
       
   263 
       
   264  <xs:group name="typeDefParticle">
       
   265   <xs:annotation>
       
   266     <xs:documentation>
       
   267    'complexType' uses this</xs:documentation></xs:annotation>
       
   268   <xs:choice>
       
   269    <xs:element name="group" type="xs:groupRef"/>
       
   270    <xs:element ref="xs:all"/>
       
   271    <xs:element ref="xs:choice"/>
       
   272    <xs:element ref="xs:sequence"/>
       
   273   </xs:choice>
       
   274  </xs:group>
       
   275  
       
   276  
       
   277 
       
   278  <xs:group name="nestedParticle">
       
   279   <xs:choice>
       
   280    <xs:element name="element" type="xs:localElement"/>
       
   281    <xs:element name="group" type="xs:groupRef"/>
       
   282    <xs:element ref="xs:choice"/>
       
   283    <xs:element ref="xs:sequence"/>
       
   284    <xs:element ref="xs:any"/>
       
   285   </xs:choice>
       
   286  </xs:group>
       
   287  
       
   288  <xs:group name="particle">
       
   289   <xs:choice>
       
   290    <xs:element name="element" type="xs:localElement"/>
       
   291    <xs:element name="group" type="xs:groupRef"/>
       
   292    <xs:element ref="xs:all"/>
       
   293    <xs:element ref="xs:choice"/>
       
   294    <xs:element ref="xs:sequence"/>
       
   295    <xs:element ref="xs:any"/>
       
   296   </xs:choice>
       
   297  </xs:group>
       
   298  
       
   299  <xs:complexType name="attribute">
       
   300   <xs:complexContent>
       
   301    <xs:extension base="xs:annotated">
       
   302     <xs:sequence>
       
   303      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
       
   304     </xs:sequence>
       
   305     <xs:attributeGroup ref="xs:defRef"/>
       
   306     <xs:attribute name="type" type="xs:QName"/>
       
   307     <xs:attribute name="use" use="optional" default="optional">
       
   308      <xs:simpleType>
       
   309       <xs:restriction base="xs:NMTOKEN">
       
   310        <xs:enumeration value="prohibited"/>
       
   311        <xs:enumeration value="optional"/>
       
   312        <xs:enumeration value="required"/>
       
   313       </xs:restriction>
       
   314      </xs:simpleType>
       
   315     </xs:attribute>
       
   316     <xs:attribute name="default" type="xs:string"/>
       
   317     <xs:attribute name="fixed" type="xs:string"/>
       
   318     <xs:attribute name="form" type="xs:formChoice"/>
       
   319    </xs:extension>
       
   320   </xs:complexContent>
       
   321  </xs:complexType>
       
   322  
       
   323  <xs:complexType name="topLevelAttribute">
       
   324   <xs:complexContent>
       
   325    <xs:restriction base="xs:attribute">
       
   326     <xs:sequence>
       
   327      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   328      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
       
   329     </xs:sequence>
       
   330     <xs:attribute name="ref" use="prohibited"/>
       
   331     <xs:attribute name="form" use="prohibited"/>
       
   332     <xs:attribute name="use" use="prohibited"/>
       
   333     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   334     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   335    </xs:restriction>
       
   336   </xs:complexContent>
       
   337  </xs:complexType>
       
   338 
       
   339  <xs:group name="attrDecls">
       
   340   <xs:sequence>
       
   341    <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   342     <xs:element name="attribute" type="xs:attribute"/>
       
   343     <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
       
   344    </xs:choice>
       
   345    <xs:element ref="xs:anyAttribute" minOccurs="0"/>
       
   346   </xs:sequence>
       
   347  </xs:group>
       
   348 
       
   349  <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
       
   350   <xs:annotation>
       
   351    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
       
   352   </xs:annotation>
       
   353  </xs:element>
       
   354 
       
   355  <xs:group name="complexTypeModel">
       
   356   <xs:choice>
       
   357       <xs:element ref="xs:simpleContent"/>
       
   358       <xs:element ref="xs:complexContent"/>
       
   359       <xs:sequence>
       
   360        <xs:annotation>
       
   361         <xs:documentation>
       
   362    This branch is short for
       
   363    &lt;complexContent&gt;
       
   364    &lt;restriction base="xs:anyType"&gt;
       
   365    ...
       
   366    &lt;/restriction&gt;
       
   367    &lt;/complexContent&gt;</xs:documentation>
       
   368        </xs:annotation>
       
   369        <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   370        <xs:group ref="xs:attrDecls"/>
       
   371       </xs:sequence>
       
   372   </xs:choice>
       
   373  </xs:group>
       
   374 
       
   375  <xs:complexType name="complexType" abstract="true">
       
   376   <xs:complexContent>
       
   377    <xs:extension base="xs:annotated">
       
   378     <xs:group ref="xs:complexTypeModel"/>
       
   379     <xs:attribute name="name" type="xs:NCName">
       
   380      <xs:annotation>
       
   381       <xs:documentation>
       
   382       Will be restricted to required or forbidden</xs:documentation>
       
   383      </xs:annotation>
       
   384     </xs:attribute>
       
   385     <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
       
   386      <xs:annotation>
       
   387       <xs:documentation>
       
   388       Not allowed if simpleContent child is chosen.
       
   389       May be overriden by setting on complexContent child.</xs:documentation>
       
   390     </xs:annotation>
       
   391     </xs:attribute>
       
   392     <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
       
   393     <xs:attribute name="final" type="xs:derivationSet"/>
       
   394     <xs:attribute name="block" type="xs:derivationSet"/>
       
   395    </xs:extension>
       
   396   </xs:complexContent>
       
   397  </xs:complexType>
       
   398  
       
   399  <xs:complexType name="topLevelComplexType">
       
   400   <xs:complexContent>
       
   401    <xs:restriction base="xs:complexType">
       
   402     <xs:sequence>
       
   403      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   404      <xs:group ref="xs:complexTypeModel"/>
       
   405     </xs:sequence>
       
   406     <xs:attribute name="name" type="xs:NCName" use="required"/>
       
   407     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   408    </xs:restriction>
       
   409   </xs:complexContent>
       
   410  </xs:complexType>
       
   411  
       
   412  <xs:complexType name="localComplexType">
       
   413   <xs:complexContent>
       
   414    <xs:restriction base="xs:complexType">
       
   415     <xs:sequence>
       
   416      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   417      <xs:group ref="xs:complexTypeModel"/>
       
   418     </xs:sequence>
       
   419     <xs:attribute name="name" use="prohibited"/>
       
   420     <xs:attribute name="abstract" use="prohibited"/>
       
   421     <xs:attribute name="final" use="prohibited"/>
       
   422     <xs:attribute name="block" use="prohibited"/>
       
   423     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   424    </xs:restriction>
       
   425   </xs:complexContent>
       
   426  </xs:complexType>
       
   427  
       
   428  <xs:complexType name="restrictionType">
       
   429   <xs:complexContent>
       
   430    <xs:extension base="xs:annotated">
       
   431     <xs:sequence>
       
   432      <xs:choice minOccurs="0">
       
   433       <xs:group ref="xs:typeDefParticle"/>
       
   434       <xs:group ref="xs:simpleRestrictionModel"/>
       
   435      </xs:choice>
       
   436      <xs:group ref="xs:attrDecls"/>
       
   437     </xs:sequence>
       
   438     <xs:attribute name="base" type="xs:QName" use="required"/>
       
   439    </xs:extension>
       
   440   </xs:complexContent>       
       
   441  </xs:complexType>
       
   442 
       
   443  <xs:complexType name="complexRestrictionType">
       
   444   <xs:complexContent>
       
   445    <xs:restriction base="xs:restrictionType">
       
   446     <xs:sequence>
       
   447      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   448      <xs:choice minOccurs="0">
       
   449       <xs:annotation>
       
   450        <xs:documentation>This choice is added simply to
       
   451                    make this a valid restriction per the REC</xs:documentation>
       
   452       </xs:annotation>
       
   453       <xs:group ref="xs:typeDefParticle"/>
       
   454      </xs:choice>
       
   455      <xs:group ref="xs:attrDecls"/>
       
   456     </xs:sequence>
       
   457     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   458    </xs:restriction>
       
   459   </xs:complexContent>       
       
   460  </xs:complexType>
       
   461 
       
   462  <xs:complexType name="extensionType">
       
   463   <xs:complexContent>
       
   464    <xs:extension base="xs:annotated">
       
   465     <xs:sequence>
       
   466      <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   467      <xs:group ref="xs:attrDecls"/>
       
   468     </xs:sequence>
       
   469     <xs:attribute name="base" type="xs:QName" use="required"/>
       
   470    </xs:extension>
       
   471   </xs:complexContent>       
       
   472  </xs:complexType>
       
   473 
       
   474  <xs:element name="complexContent" id="complexContent">
       
   475   <xs:annotation>
       
   476    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
       
   477   </xs:annotation>
       
   478   <xs:complexType>
       
   479    <xs:complexContent>
       
   480     <xs:extension base="xs:annotated">
       
   481      <xs:choice>
       
   482       <xs:element name="restriction" type="xs:complexRestrictionType"/>
       
   483       <xs:element name="extension" type="xs:extensionType"/>
       
   484      </xs:choice>     
       
   485      <xs:attribute name="mixed" type="xs:boolean">
       
   486       <xs:annotation>
       
   487        <xs:documentation>
       
   488        Overrides any setting on complexType parent.</xs:documentation>
       
   489       </xs:annotation>
       
   490     </xs:attribute>
       
   491     </xs:extension>
       
   492    </xs:complexContent>
       
   493   </xs:complexType>
       
   494  </xs:element>
       
   495 
       
   496  <xs:complexType name="simpleRestrictionType">
       
   497   <xs:complexContent>
       
   498    <xs:restriction base="xs:restrictionType">
       
   499     <xs:sequence>
       
   500      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   501      <xs:choice minOccurs="0">
       
   502       <xs:annotation>
       
   503        <xs:documentation>This choice is added simply to
       
   504                    make this a valid restriction per the REC</xs:documentation>
       
   505       </xs:annotation>
       
   506       <xs:group ref="xs:simpleRestrictionModel"/>
       
   507      </xs:choice>
       
   508      <xs:group ref="xs:attrDecls"/>
       
   509     </xs:sequence>
       
   510     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   511    </xs:restriction>
       
   512   </xs:complexContent>
       
   513  </xs:complexType>
       
   514 
       
   515  <xs:complexType name="simpleExtensionType">
       
   516   <xs:complexContent>
       
   517    <xs:restriction base="xs:extensionType">
       
   518     <xs:sequence>
       
   519      <xs:annotation>
       
   520       <xs:documentation>
       
   521       No typeDefParticle group reference</xs:documentation>
       
   522      </xs:annotation>
       
   523      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   524      <xs:group ref="xs:attrDecls"/>
       
   525     </xs:sequence>
       
   526     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   527    </xs:restriction>
       
   528   </xs:complexContent>
       
   529  </xs:complexType>
       
   530 
       
   531  <xs:element name="simpleContent" id="simpleContent">
       
   532   <xs:annotation>
       
   533    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
       
   534   </xs:annotation>
       
   535   <xs:complexType>
       
   536    <xs:complexContent>
       
   537     <xs:extension base="xs:annotated">
       
   538      <xs:choice>
       
   539       <xs:element name="restriction" type="xs:simpleRestrictionType"/>
       
   540       <xs:element name="extension" type="xs:simpleExtensionType"/>
       
   541      </xs:choice>
       
   542     </xs:extension>
       
   543    </xs:complexContent>
       
   544   </xs:complexType>
       
   545  </xs:element>
       
   546  
       
   547  <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
       
   548   <xs:annotation>
       
   549    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
       
   550   </xs:annotation>
       
   551  </xs:element>
       
   552 
       
   553 
       
   554   <xs:simpleType name="blockSet">
       
   555    <xs:annotation>
       
   556     <xs:documentation>
       
   557     A utility type, not for public use</xs:documentation>
       
   558     <xs:documentation>
       
   559     #all or (possibly empty) subset of {substitution, extension,
       
   560     restriction}</xs:documentation>
       
   561    </xs:annotation>
       
   562    <xs:union>
       
   563     <xs:simpleType>    
       
   564      <xs:restriction base="xs:token">
       
   565       <xs:enumeration value="#all"/>
       
   566      </xs:restriction>
       
   567     </xs:simpleType>
       
   568     <xs:simpleType>
       
   569      <xs:list>
       
   570       <xs:simpleType>
       
   571        <xs:restriction base="xs:derivationControl">
       
   572         <xs:enumeration value="extension"/>
       
   573         <xs:enumeration value="restriction"/>
       
   574         <xs:enumeration value="substitution"/>
       
   575        </xs:restriction>
       
   576       </xs:simpleType>
       
   577      </xs:list>
       
   578     </xs:simpleType>
       
   579    </xs:union>  
       
   580   </xs:simpleType>
       
   581 
       
   582  <xs:complexType name="element" abstract="true">
       
   583   <xs:annotation>
       
   584    <xs:documentation>
       
   585    The element element can be used either
       
   586    at the top level to define an element-type binding globally,
       
   587    or within a content model to either reference a globally-defined
       
   588    element or type or declare an element-type binding locally.
       
   589    The ref form is not allowed at the top level.</xs:documentation>
       
   590   </xs:annotation>
       
   591 
       
   592   <xs:complexContent>
       
   593    <xs:extension base="xs:annotated">
       
   594     <xs:sequence>
       
   595      <xs:choice minOccurs="0">
       
   596       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   597       <xs:element name="complexType" type="xs:localComplexType"/>
       
   598      </xs:choice>
       
   599      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   600     </xs:sequence>
       
   601     <xs:attributeGroup ref="xs:defRef"/>
       
   602     <xs:attribute name="type" type="xs:QName"/>
       
   603     <xs:attribute name="substitutionGroup" type="xs:QName"/>
       
   604     <xs:attributeGroup ref="xs:occurs"/>
       
   605     <xs:attribute name="default" type="xs:string"/>
       
   606     <xs:attribute name="fixed" type="xs:string"/>
       
   607     <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
       
   608     <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
       
   609     <xs:attribute name="final" type="xs:derivationSet"/>
       
   610     <xs:attribute name="block" type="xs:blockSet"/>
       
   611     <xs:attribute name="form" type="xs:formChoice"/>
       
   612    </xs:extension>
       
   613   </xs:complexContent>
       
   614  </xs:complexType>
       
   615  
       
   616  <xs:complexType name="topLevelElement">
       
   617   <xs:complexContent>
       
   618    <xs:restriction base="xs:element">
       
   619     <xs:sequence>
       
   620      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   621      <xs:choice minOccurs="0">
       
   622       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   623       <xs:element name="complexType" type="xs:localComplexType"/>
       
   624      </xs:choice>
       
   625      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   626     </xs:sequence>
       
   627     <xs:attribute name="ref" use="prohibited"/>
       
   628     <xs:attribute name="form" use="prohibited"/>
       
   629     <xs:attribute name="minOccurs" use="prohibited"/>
       
   630     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   631     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   632     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   633    </xs:restriction>
       
   634   </xs:complexContent>
       
   635  </xs:complexType>
       
   636  
       
   637  <xs:complexType name="localElement">
       
   638   <xs:complexContent>
       
   639    <xs:restriction base="xs:element">
       
   640     <xs:sequence>
       
   641      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   642      <xs:choice minOccurs="0">
       
   643       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   644       <xs:element name="complexType" type="xs:localComplexType"/>
       
   645      </xs:choice>
       
   646      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   647     </xs:sequence>
       
   648     <xs:attribute name="substitutionGroup" use="prohibited"/>
       
   649     <xs:attribute name="final" use="prohibited"/>
       
   650     <xs:attribute name="abstract" use="prohibited"/>
       
   651     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   652    </xs:restriction>
       
   653   </xs:complexContent>
       
   654  </xs:complexType>
       
   655 
       
   656  <xs:element name="element" type="xs:topLevelElement" id="element">
       
   657   <xs:annotation>
       
   658    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
       
   659   </xs:annotation>
       
   660  </xs:element>
       
   661 
       
   662  <xs:complexType name="group" abstract="true">
       
   663   <xs:annotation>
       
   664    <xs:documentation>
       
   665    group type for explicit groups, named top-level groups and
       
   666    group references</xs:documentation>
       
   667   </xs:annotation>
       
   668   <xs:complexContent>
       
   669    <xs:extension base="xs:annotated">
       
   670     <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
       
   671     <xs:attributeGroup ref="xs:defRef"/>
       
   672     <xs:attributeGroup ref="xs:occurs"/>
       
   673    </xs:extension>
       
   674   </xs:complexContent>
       
   675  </xs:complexType>
       
   676  
       
   677  <xs:complexType name="realGroup">
       
   678   <xs:complexContent>
       
   679    <xs:restriction base="xs:group">
       
   680     <xs:sequence>
       
   681      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   682      <xs:choice minOccurs="0" maxOccurs="1">
       
   683       <xs:element ref="xs:all"/>
       
   684       <xs:element ref="xs:choice"/>
       
   685       <xs:element ref="xs:sequence"/>
       
   686      </xs:choice>
       
   687     </xs:sequence>
       
   688     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   689    </xs:restriction>
       
   690   </xs:complexContent>
       
   691  </xs:complexType>
       
   692 
       
   693  <xs:complexType name="namedGroup">
       
   694   <xs:complexContent>
       
   695    <xs:restriction base="xs:realGroup">
       
   696     <xs:sequence>
       
   697      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   698      <xs:choice minOccurs="1" maxOccurs="1">
       
   699       <xs:element name="all">
       
   700        <xs:complexType>
       
   701         <xs:complexContent>
       
   702          <xs:restriction base="xs:all">
       
   703           <xs:group ref="xs:allModel"/>
       
   704           <xs:attribute name="minOccurs" use="prohibited"/>
       
   705           <xs:attribute name="maxOccurs" use="prohibited"/>
       
   706           <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   707          </xs:restriction>
       
   708         </xs:complexContent>
       
   709        </xs:complexType>
       
   710       </xs:element>
       
   711       <xs:element name="choice" type="xs:simpleExplicitGroup"/>
       
   712       <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
       
   713      </xs:choice>
       
   714     </xs:sequence>
       
   715     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   716     <xs:attribute name="ref" use="prohibited"/>
       
   717     <xs:attribute name="minOccurs" use="prohibited"/>
       
   718     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   719     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   720    </xs:restriction>
       
   721   </xs:complexContent>
       
   722  </xs:complexType>
       
   723 
       
   724  <xs:complexType name="groupRef">
       
   725   <xs:complexContent>
       
   726    <xs:restriction base="xs:realGroup">
       
   727     <xs:sequence>
       
   728      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   729     </xs:sequence>
       
   730     <xs:attribute name="ref" use="required" type="xs:QName"/>
       
   731     <xs:attribute name="name" use="prohibited"/>
       
   732     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   733    </xs:restriction>
       
   734   </xs:complexContent>
       
   735  </xs:complexType>
       
   736 
       
   737  <xs:complexType name="explicitGroup">
       
   738   <xs:annotation>
       
   739    <xs:documentation>
       
   740    group type for the three kinds of group</xs:documentation>
       
   741   </xs:annotation>
       
   742   <xs:complexContent>
       
   743    <xs:restriction base="xs:group">
       
   744     <xs:sequence>
       
   745      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   746      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
       
   747     </xs:sequence>
       
   748     <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
       
   749     <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
       
   750     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   751    </xs:restriction>
       
   752   </xs:complexContent>
       
   753  </xs:complexType>
       
   754  
       
   755  <xs:complexType name="simpleExplicitGroup">
       
   756   <xs:complexContent>
       
   757    <xs:restriction base="xs:explicitGroup">
       
   758     <xs:sequence>
       
   759      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   760      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
       
   761     </xs:sequence>
       
   762     <xs:attribute name="minOccurs" use="prohibited"/>
       
   763     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   764     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   765    </xs:restriction>
       
   766   </xs:complexContent>
       
   767  </xs:complexType>
       
   768  
       
   769  <xs:group name="allModel">
       
   770   <xs:sequence>
       
   771       <xs:element ref="xs:annotation" minOccurs="0"/>
       
   772       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   773        <xs:annotation>
       
   774         <xs:documentation>This choice with min/max is here to
       
   775                           avoid a pblm with the Elt:All/Choice/Seq
       
   776                           Particle derivation constraint</xs:documentation>
       
   777        </xs:annotation>
       
   778        <xs:element name="element" type="xs:narrowMaxMin"/>
       
   779       </xs:choice>
       
   780      </xs:sequence>
       
   781  </xs:group>
       
   782  
       
   783  
       
   784  <xs:complexType name="narrowMaxMin">
       
   785   <xs:annotation>
       
   786    <xs:documentation>restricted max/min</xs:documentation>
       
   787   </xs:annotation>
       
   788   <xs:complexContent>
       
   789    <xs:restriction base="xs:localElement">
       
   790     <xs:sequence>
       
   791      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   792      <xs:choice minOccurs="0">
       
   793       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   794       <xs:element name="complexType" type="xs:localComplexType"/>
       
   795      </xs:choice>
       
   796      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   797     </xs:sequence>
       
   798     <xs:attribute name="minOccurs" use="optional" default="1">
       
   799      <xs:simpleType>
       
   800       <xs:restriction base="xs:nonNegativeInteger">
       
   801        <xs:enumeration value="0"/>
       
   802        <xs:enumeration value="1"/>
       
   803       </xs:restriction>
       
   804      </xs:simpleType>
       
   805     </xs:attribute>
       
   806     <xs:attribute name="maxOccurs" use="optional" default="1">
       
   807      <xs:simpleType>
       
   808       <xs:restriction base="xs:allNNI">
       
   809        <xs:enumeration value="0"/>
       
   810        <xs:enumeration value="1"/>
       
   811       </xs:restriction>
       
   812      </xs:simpleType>
       
   813     </xs:attribute>
       
   814     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   815    </xs:restriction>
       
   816   </xs:complexContent>
       
   817  </xs:complexType>
       
   818 
       
   819   <xs:complexType name="all">
       
   820    <xs:annotation>
       
   821     <xs:documentation>
       
   822    Only elements allowed inside</xs:documentation>
       
   823    </xs:annotation>
       
   824    <xs:complexContent>
       
   825     <xs:restriction base="xs:explicitGroup">
       
   826      <xs:group ref="xs:allModel"/>
       
   827      <xs:attribute name="minOccurs" use="optional" default="1">
       
   828       <xs:simpleType>
       
   829        <xs:restriction base="xs:nonNegativeInteger">
       
   830         <xs:enumeration value="0"/>
       
   831         <xs:enumeration value="1"/>
       
   832        </xs:restriction>
       
   833       </xs:simpleType>
       
   834      </xs:attribute>
       
   835      <xs:attribute name="maxOccurs" use="optional" default="1">
       
   836       <xs:simpleType>
       
   837        <xs:restriction base="xs:allNNI">
       
   838         <xs:enumeration value="1"/>
       
   839        </xs:restriction>
       
   840       </xs:simpleType>
       
   841      </xs:attribute>
       
   842      <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   843     </xs:restriction>
       
   844    </xs:complexContent>
       
   845   </xs:complexType>
       
   846 
       
   847  <xs:element name="all" id="all" type="xs:all">
       
   848   <xs:annotation>
       
   849    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
       
   850   </xs:annotation>
       
   851  </xs:element>
       
   852 
       
   853  <xs:element name="choice" type="xs:explicitGroup" id="choice">
       
   854   <xs:annotation>
       
   855    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
       
   856   </xs:annotation>
       
   857  </xs:element>
       
   858 
       
   859  <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
       
   860   <xs:annotation>
       
   861    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
       
   862   </xs:annotation>
       
   863  </xs:element>
       
   864 
       
   865  <xs:element name="group" type="xs:namedGroup" id="group">
       
   866   <xs:annotation>
       
   867    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
       
   868   </xs:annotation>
       
   869  </xs:element>
       
   870 
       
   871  <xs:complexType name="wildcard">
       
   872   <xs:complexContent>
       
   873    <xs:extension base="xs:annotated">
       
   874     <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
       
   875     <xs:attribute name="processContents" use="optional" default="strict">
       
   876      <xs:simpleType>
       
   877       <xs:restriction base="xs:NMTOKEN">
       
   878        <xs:enumeration value="skip"/>
       
   879        <xs:enumeration value="lax"/>
       
   880        <xs:enumeration value="strict"/>
       
   881       </xs:restriction>
       
   882      </xs:simpleType>
       
   883     </xs:attribute>
       
   884    </xs:extension>
       
   885   </xs:complexContent>
       
   886  </xs:complexType>
       
   887 
       
   888  <xs:element name="any" id="any">
       
   889   <xs:annotation>
       
   890    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
       
   891   </xs:annotation>
       
   892   <xs:complexType>
       
   893    <xs:complexContent>
       
   894     <xs:extension base="xs:wildcard">
       
   895      <xs:attributeGroup ref="xs:occurs"/>
       
   896     </xs:extension>
       
   897    </xs:complexContent>
       
   898   </xs:complexType>
       
   899  </xs:element>
       
   900 
       
   901   <xs:annotation>
       
   902    <xs:documentation>
       
   903    simple type for the value of the 'namespace' attr of
       
   904    'any' and 'anyAttribute'</xs:documentation>
       
   905   </xs:annotation>
       
   906   <xs:annotation>
       
   907    <xs:documentation>
       
   908    Value is
       
   909               ##any      - - any non-conflicting WFXML/attribute at all
       
   910 
       
   911               ##other    - - any non-conflicting WFXML/attribute from
       
   912                               namespace other than targetNS
       
   913 
       
   914               ##local    - - any unqualified non-conflicting WFXML/attribute 
       
   915 
       
   916               one or     - - any non-conflicting WFXML/attribute from
       
   917               more URI        the listed namespaces
       
   918               references
       
   919               (space separated)
       
   920 
       
   921     ##targetNamespace or ##local may appear in the above list, to
       
   922         refer to the targetNamespace of the enclosing
       
   923         schema or an absent targetNamespace respectively</xs:documentation>
       
   924   </xs:annotation>
       
   925 
       
   926  <xs:simpleType name="namespaceList">
       
   927   <xs:annotation>
       
   928    <xs:documentation>
       
   929    A utility type, not for public use</xs:documentation>
       
   930   </xs:annotation>
       
   931   <xs:union>
       
   932    <xs:simpleType>
       
   933     <xs:restriction base="xs:token">
       
   934      <xs:enumeration value="##any"/>
       
   935      <xs:enumeration value="##other"/>
       
   936     </xs:restriction>
       
   937    </xs:simpleType>
       
   938    <xs:simpleType>
       
   939     <xs:list>
       
   940      <xs:simpleType>
       
   941       <xs:union memberTypes="xs:anyURI">
       
   942        <xs:simpleType>
       
   943         <xs:restriction base="xs:token">
       
   944          <xs:enumeration value="##targetNamespace"/>
       
   945          <xs:enumeration value="##local"/>
       
   946         </xs:restriction>
       
   947        </xs:simpleType>
       
   948       </xs:union>
       
   949      </xs:simpleType>
       
   950     </xs:list>
       
   951    </xs:simpleType>
       
   952   </xs:union>
       
   953  </xs:simpleType>
       
   954 
       
   955  <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
       
   956   <xs:annotation>
       
   957    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
       
   958   </xs:annotation>
       
   959  </xs:element>
       
   960 
       
   961  <xs:complexType name="attributeGroup" abstract="true">
       
   962   <xs:complexContent>
       
   963    <xs:extension base="xs:annotated">
       
   964     <xs:group ref="xs:attrDecls"/>
       
   965     <xs:attributeGroup ref="xs:defRef"/>
       
   966    </xs:extension>
       
   967   </xs:complexContent>
       
   968  </xs:complexType>
       
   969  
       
   970  <xs:complexType name="namedAttributeGroup">
       
   971   <xs:complexContent>
       
   972    <xs:restriction base="xs:attributeGroup">
       
   973     <xs:sequence>
       
   974      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   975      <xs:group ref="xs:attrDecls"/>
       
   976     </xs:sequence>
       
   977     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   978     <xs:attribute name="ref" use="prohibited"/>
       
   979     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   980    </xs:restriction>
       
   981   </xs:complexContent>
       
   982  </xs:complexType>
       
   983 
       
   984  <xs:complexType name="attributeGroupRef">
       
   985   <xs:complexContent>
       
   986    <xs:restriction base="xs:attributeGroup">
       
   987     <xs:sequence>
       
   988      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   989     </xs:sequence>
       
   990     <xs:attribute name="ref" use="required" type="xs:QName"/>
       
   991     <xs:attribute name="name" use="prohibited"/>
       
   992     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
   993    </xs:restriction>
       
   994   </xs:complexContent>
       
   995  </xs:complexType>
       
   996 
       
   997  <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
       
   998   <xs:annotation>
       
   999    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
       
  1000   </xs:annotation>
       
  1001  </xs:element>
       
  1002 
       
  1003  <xs:element name="include" id="include">
       
  1004   <xs:annotation>
       
  1005    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
       
  1006   </xs:annotation>
       
  1007   <xs:complexType>
       
  1008    <xs:complexContent>
       
  1009     <xs:extension base="xs:annotated">
       
  1010      <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
       
  1011     </xs:extension>
       
  1012    </xs:complexContent>
       
  1013   </xs:complexType>
       
  1014  </xs:element>
       
  1015 
       
  1016  <xs:element name="redefine" id="redefine">
       
  1017   <xs:annotation>
       
  1018    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
       
  1019   </xs:annotation>
       
  1020   <xs:complexType>
       
  1021    <xs:complexContent>
       
  1022     <xs:extension base="xs:openAttrs">
       
  1023      <xs:choice minOccurs="0" maxOccurs="unbounded">
       
  1024       <xs:element ref="xs:annotation"/>
       
  1025       <xs:group ref="xs:redefinable"/>
       
  1026      </xs:choice>
       
  1027      <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
       
  1028      <xs:attribute name="id" type="xs:ID"/>
       
  1029     </xs:extension>
       
  1030    </xs:complexContent>
       
  1031   </xs:complexType>
       
  1032  </xs:element>
       
  1033 
       
  1034  <xs:element name="import" id="import">
       
  1035   <xs:annotation>
       
  1036    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
       
  1037   </xs:annotation>
       
  1038   <xs:complexType>
       
  1039    <xs:complexContent>
       
  1040     <xs:extension base="xs:annotated">
       
  1041      <xs:attribute name="namespace" type="xs:anyURI"/>
       
  1042      <xs:attribute name="schemaLocation" type="xs:anyURI"/>
       
  1043     </xs:extension>
       
  1044    </xs:complexContent>
       
  1045   </xs:complexType>
       
  1046  </xs:element>
       
  1047 
       
  1048  <xs:element name="selector" id="selector">
       
  1049   <xs:annotation>
       
  1050    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
       
  1051   </xs:annotation>
       
  1052   <xs:complexType>
       
  1053   <xs:complexContent>
       
  1054    <xs:extension base="xs:annotated">
       
  1055      <xs:attribute name="xpath" use="required">
       
  1056       <xs:simpleType>
       
  1057        <xs:annotation>
       
  1058         <xs:documentation>A subset of XPath expressions for use
       
  1059 in selectors</xs:documentation>
       
  1060         <xs:documentation>A utility type, not for public
       
  1061 use</xs:documentation>
       
  1062        </xs:annotation>
       
  1063        <xs:restriction base="xs:token">
       
  1064         <xs:annotation>
       
  1065          <xs:documentation>The following pattern is intended to allow XPath
       
  1066                            expressions per the following EBNF:
       
  1067           Selector    ::=    Path ( '|' Path )*  
       
  1068           Path    ::=    ('.//')? Step ( '/' Step )*  
       
  1069           Step    ::=    '.' | NameTest  
       
  1070           NameTest    ::=    QName | '*' | NCName ':' '*'  
       
  1071                            child:: is also allowed
       
  1072          </xs:documentation>
       
  1073         </xs:annotation>
       
  1074         <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
       
  1075         </xs:pattern>
       
  1076        </xs:restriction>
       
  1077       </xs:simpleType>
       
  1078      </xs:attribute>
       
  1079    </xs:extension>
       
  1080   </xs:complexContent>
       
  1081  </xs:complexType>
       
  1082  </xs:element>
       
  1083 
       
  1084  <xs:element name="field" id="field">
       
  1085   <xs:annotation>
       
  1086    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
       
  1087   </xs:annotation>
       
  1088   <xs:complexType>
       
  1089   <xs:complexContent>
       
  1090    <xs:extension base="xs:annotated">
       
  1091      <xs:attribute name="xpath" use="required">
       
  1092       <xs:simpleType>
       
  1093        <xs:annotation>
       
  1094         <xs:documentation>A subset of XPath expressions for use
       
  1095 in fields</xs:documentation>
       
  1096         <xs:documentation>A utility type, not for public
       
  1097 use</xs:documentation>
       
  1098        </xs:annotation>
       
  1099        <xs:restriction base="xs:token">
       
  1100         <xs:annotation>
       
  1101          <xs:documentation>The following pattern is intended to allow XPath
       
  1102                            expressions per the same EBNF as for selector,
       
  1103                            with the following change:
       
  1104           Path    ::=    ('.//')? ( Step '/' )* ( Step | '@' NameTest ) 
       
  1105          </xs:documentation>
       
  1106         </xs:annotation>
       
  1107         <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*|\*)))))*">
       
  1108         </xs:pattern>
       
  1109        </xs:restriction>
       
  1110       </xs:simpleType>
       
  1111      </xs:attribute>
       
  1112    </xs:extension>
       
  1113   </xs:complexContent>
       
  1114  </xs:complexType>
       
  1115  </xs:element>
       
  1116 
       
  1117  <xs:complexType name="keybase">
       
  1118   <xs:complexContent>
       
  1119    <xs:extension base="xs:annotated">
       
  1120     <xs:sequence>
       
  1121      <xs:element ref="xs:selector"/>
       
  1122      <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
       
  1123     </xs:sequence>
       
  1124     <xs:attribute name="name" type="xs:NCName" use="required"/>
       
  1125    </xs:extension>
       
  1126   </xs:complexContent>
       
  1127  </xs:complexType>
       
  1128 
       
  1129  <xs:group name="identityConstraint">
       
  1130   <xs:annotation>
       
  1131    <xs:documentation>The three kinds of identity constraints, all with
       
  1132                      type of or derived from 'keybase'.
       
  1133    </xs:documentation>
       
  1134   </xs:annotation>
       
  1135   <xs:choice>
       
  1136    <xs:element ref="xs:unique"/>
       
  1137    <xs:element ref="xs:key"/>
       
  1138    <xs:element ref="xs:keyref"/>
       
  1139   </xs:choice>
       
  1140  </xs:group>
       
  1141 
       
  1142  <xs:element name="unique" type="xs:keybase" id="unique">
       
  1143   <xs:annotation>
       
  1144    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
       
  1145   </xs:annotation>
       
  1146  </xs:element>
       
  1147  <xs:element name="key" type="xs:keybase" id="key">
       
  1148   <xs:annotation>
       
  1149    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
       
  1150   </xs:annotation>
       
  1151  </xs:element>
       
  1152  <xs:element name="keyref" id="keyref">
       
  1153   <xs:annotation>
       
  1154    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
       
  1155   </xs:annotation>
       
  1156   <xs:complexType>
       
  1157    <xs:complexContent>
       
  1158     <xs:extension base="xs:keybase">
       
  1159      <xs:attribute name="refer" type="xs:QName" use="required"/>
       
  1160     </xs:extension>
       
  1161    </xs:complexContent>
       
  1162   </xs:complexType>
       
  1163  </xs:element>
       
  1164 
       
  1165  <xs:element name="notation" id="notation">
       
  1166   <xs:annotation>
       
  1167    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
       
  1168   </xs:annotation>
       
  1169   <xs:complexType>
       
  1170    <xs:complexContent>
       
  1171     <xs:extension base="xs:annotated">
       
  1172      <xs:attribute name="name" type="xs:NCName" use="required"/>
       
  1173      <xs:attribute name="public" type="xs:public"/>
       
  1174      <xs:attribute name="system" type="xs:anyURI"/>
       
  1175     </xs:extension>
       
  1176    </xs:complexContent>
       
  1177   </xs:complexType>
       
  1178  </xs:element>
       
  1179 
       
  1180  <xs:simpleType name="public">
       
  1181   <xs:annotation>
       
  1182    <xs:documentation>
       
  1183    A utility type, not for public use</xs:documentation>
       
  1184    <xs:documentation>
       
  1185    A public identifier, per ISO 8879</xs:documentation>
       
  1186   </xs:annotation>
       
  1187   <xs:restriction base="xs:token"/>
       
  1188  </xs:simpleType>
       
  1189 
       
  1190  <xs:element name="appinfo" id="appinfo">
       
  1191    <xs:annotation>
       
  1192      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
       
  1193    </xs:annotation>
       
  1194    <xs:complexType mixed="true">
       
  1195     <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
  1196      <xs:any processContents="lax"/>
       
  1197     </xs:sequence>
       
  1198     <xs:attribute name="source" type="xs:anyURI"/>
       
  1199     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  1200    </xs:complexType>
       
  1201  </xs:element>
       
  1202 
       
  1203  <xs:element name="documentation" id="documentation">
       
  1204    <xs:annotation>
       
  1205      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
       
  1206    </xs:annotation>
       
  1207    <xs:complexType mixed="true">
       
  1208     <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
  1209      <xs:any processContents="lax"/>
       
  1210     </xs:sequence>
       
  1211     <xs:attribute name="source" type="xs:anyURI"/>
       
  1212     <xs:attribute ref="xml:lang"/>
       
  1213     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  1214    </xs:complexType>
       
  1215  </xs:element>
       
  1216 
       
  1217  <xs:element name="annotation" id="annotation">
       
  1218    <xs:annotation>
       
  1219      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
       
  1220    </xs:annotation>
       
  1221    <xs:complexType>
       
  1222     <xs:complexContent>
       
  1223      <xs:extension base="xs:openAttrs">
       
  1224       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
  1225        <xs:element ref="xs:appinfo"/>
       
  1226        <xs:element ref="xs:documentation"/>
       
  1227       </xs:choice>
       
  1228       <xs:attribute name="id" type="xs:ID"/>
       
  1229      </xs:extension>
       
  1230     </xs:complexContent>
       
  1231    </xs:complexType>
       
  1232  </xs:element>
       
  1233 
       
  1234  <xs:annotation>
       
  1235   <xs:documentation>
       
  1236    notations for use within XML Schema schemas</xs:documentation>
       
  1237  </xs:annotation>
       
  1238 
       
  1239  <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
       
  1240  <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
       
  1241   
       
  1242  <xs:complexType name="anyType" mixed="true">
       
  1243   <xs:annotation>
       
  1244    <xs:documentation>
       
  1245    Not the real urType, but as close an approximation as we can
       
  1246    get in the XML representation</xs:documentation>
       
  1247   </xs:annotation>
       
  1248   <xs:sequence>
       
  1249    <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
       
  1250   </xs:sequence>
       
  1251   <xs:anyAttribute processContents="lax"/>
       
  1252  </xs:complexType>
       
  1253 
       
  1254   <xs:annotation>
       
  1255     <xs:documentation>
       
  1256       First the built-in primitive datatypes.  These definitions are for
       
  1257       information only, the real built-in definitions are magic.
       
  1258     </xs:documentation>
       
  1259 
       
  1260     <xs:documentation>
       
  1261       For each built-in datatype in this schema (both primitive and
       
  1262       derived) can be uniquely addressed via a URI constructed
       
  1263       as follows:
       
  1264         1) the base URI is the URI of the XML Schema namespace
       
  1265         2) the fragment identifier is the name of the datatype
       
  1266 
       
  1267       For example, to address the int datatype, the URI is:
       
  1268 
       
  1269         http://www.w3.org/2001/XMLSchema#int
       
  1270 
       
  1271       Additionally, each facet definition element can be uniquely
       
  1272       addressed via a URI constructed as follows:
       
  1273         1) the base URI is the URI of the XML Schema namespace
       
  1274         2) the fragment identifier is the name of the facet
       
  1275 
       
  1276       For example, to address the maxInclusive facet, the URI is:
       
  1277 
       
  1278         http://www.w3.org/2001/XMLSchema#maxInclusive
       
  1279 
       
  1280       Additionally, each facet usage in a built-in datatype definition
       
  1281       can be uniquely addressed via a URI constructed as follows:
       
  1282         1) the base URI is the URI of the XML Schema namespace
       
  1283         2) the fragment identifier is the name of the datatype, followed
       
  1284            by a period (".") followed by the name of the facet
       
  1285 
       
  1286       For example, to address the usage of the maxInclusive facet in
       
  1287       the definition of int, the URI is:
       
  1288 
       
  1289         http://www.w3.org/2001/XMLSchema#int.maxInclusive
       
  1290 
       
  1291     </xs:documentation>
       
  1292   </xs:annotation>
       
  1293 
       
  1294   <xs:simpleType name="string" id="string">
       
  1295     <xs:annotation>
       
  1296       <xs:appinfo>
       
  1297         <hfp:hasFacet name="length"/>
       
  1298         <hfp:hasFacet name="minLength"/>
       
  1299         <hfp:hasFacet name="maxLength"/>
       
  1300         <hfp:hasFacet name="pattern"/>
       
  1301         <hfp:hasFacet name="enumeration"/>
       
  1302         <hfp:hasFacet name="whiteSpace"/>
       
  1303         <hfp:hasProperty name="ordered" value="false"/>
       
  1304         <hfp:hasProperty name="bounded" value="false"/>
       
  1305         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1306         <hfp:hasProperty name="numeric" value="false"/>
       
  1307       </xs:appinfo>
       
  1308       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#string"/>
       
  1309     </xs:annotation>
       
  1310     <xs:restriction base="xs:anySimpleType">
       
  1311       <xs:whiteSpace value="preserve" id="string.preserve"/>
       
  1312     </xs:restriction>
       
  1313   </xs:simpleType>
       
  1314 
       
  1315   <xs:simpleType name="boolean" id="boolean">
       
  1316     <xs:annotation>
       
  1317       <xs:appinfo>
       
  1318         <hfp:hasFacet name="pattern"/>
       
  1319         <hfp:hasFacet name="whiteSpace"/>
       
  1320         <hfp:hasProperty name="ordered" value="false"/>
       
  1321         <hfp:hasProperty name="bounded" value="false"/>
       
  1322         <hfp:hasProperty name="cardinality" value="finite"/>
       
  1323         <hfp:hasProperty name="numeric" value="false"/>
       
  1324       </xs:appinfo>
       
  1325       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
       
  1326     </xs:annotation>
       
  1327     <xs:restriction base="xs:anySimpleType">
       
  1328       <xs:whiteSpace value="collapse" fixed="true" id="boolean.whiteSpace"/>
       
  1329     </xs:restriction>
       
  1330   </xs:simpleType>
       
  1331 
       
  1332   <xs:simpleType name="float" id="float">
       
  1333     <xs:annotation>
       
  1334       <xs:appinfo>
       
  1335         <hfp:hasFacet name="pattern"/>
       
  1336         <hfp:hasFacet name="enumeration"/>
       
  1337         <hfp:hasFacet name="whiteSpace"/>
       
  1338         <hfp:hasFacet name="maxInclusive"/>
       
  1339         <hfp:hasFacet name="maxExclusive"/>
       
  1340         <hfp:hasFacet name="minInclusive"/>
       
  1341         <hfp:hasFacet name="minExclusive"/>
       
  1342         <hfp:hasProperty name="ordered" value="total"/>
       
  1343         <hfp:hasProperty name="bounded" value="true"/>
       
  1344         <hfp:hasProperty name="cardinality" value="finite"/>
       
  1345         <hfp:hasProperty name="numeric" value="true"/>
       
  1346       </xs:appinfo>
       
  1347       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#float"/>
       
  1348     </xs:annotation>
       
  1349     <xs:restriction base="xs:anySimpleType">
       
  1350       <xs:whiteSpace value="collapse" fixed="true" id="float.whiteSpace"/>
       
  1351     </xs:restriction>
       
  1352   </xs:simpleType>
       
  1353 
       
  1354   <xs:simpleType name="double" id="double">
       
  1355     <xs:annotation>
       
  1356       <xs:appinfo>
       
  1357         <hfp:hasFacet name="pattern"/>
       
  1358         <hfp:hasFacet name="enumeration"/>
       
  1359         <hfp:hasFacet name="whiteSpace"/>
       
  1360         <hfp:hasFacet name="maxInclusive"/>
       
  1361         <hfp:hasFacet name="maxExclusive"/>
       
  1362         <hfp:hasFacet name="minInclusive"/>
       
  1363         <hfp:hasFacet name="minExclusive"/>
       
  1364         <hfp:hasProperty name="ordered" value="total"/>
       
  1365         <hfp:hasProperty name="bounded" value="true"/>
       
  1366         <hfp:hasProperty name="cardinality" value="finite"/>
       
  1367         <hfp:hasProperty name="numeric" value="true"/>
       
  1368       </xs:appinfo>
       
  1369       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#double"/>
       
  1370     </xs:annotation>
       
  1371     <xs:restriction base="xs:anySimpleType">
       
  1372       <xs:whiteSpace value="collapse" fixed="true" id="double.whiteSpace"/>
       
  1373     </xs:restriction>
       
  1374   </xs:simpleType>
       
  1375 
       
  1376   <xs:simpleType name="decimal" id="decimal">
       
  1377     <xs:annotation>
       
  1378       <xs:appinfo>
       
  1379         <hfp:hasFacet name="totalDigits"/>
       
  1380         <hfp:hasFacet name="fractionDigits"/>
       
  1381         <hfp:hasFacet name="pattern"/>
       
  1382         <hfp:hasFacet name="whiteSpace"/>
       
  1383         <hfp:hasFacet name="enumeration"/>
       
  1384         <hfp:hasFacet name="maxInclusive"/>
       
  1385         <hfp:hasFacet name="maxExclusive"/>
       
  1386         <hfp:hasFacet name="minInclusive"/>
       
  1387         <hfp:hasFacet name="minExclusive"/>
       
  1388         <hfp:hasProperty name="ordered" value="total"/>
       
  1389         <hfp:hasProperty name="bounded" value="false"/>
       
  1390         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1391         <hfp:hasProperty name="numeric" value="true"/>
       
  1392       </xs:appinfo>
       
  1393       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
       
  1394     </xs:annotation>
       
  1395     <xs:restriction base="xs:anySimpleType">
       
  1396       <xs:whiteSpace value="collapse" fixed="true" id="decimal.whiteSpace"/>
       
  1397     </xs:restriction>
       
  1398    </xs:simpleType>
       
  1399 
       
  1400    <xs:simpleType name="duration" id="duration">
       
  1401     <xs:annotation>
       
  1402       <xs:appinfo>
       
  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="partial"/>
       
  1411         <hfp:hasProperty name="bounded" value="false"/>
       
  1412         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1413         <hfp:hasProperty name="numeric" value="false"/>
       
  1414       </xs:appinfo>
       
  1415       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#duration"/>
       
  1416     </xs:annotation>
       
  1417     <xs:restriction base="xs:anySimpleType">
       
  1418       <xs:whiteSpace value="collapse" fixed="true" id="duration.whiteSpace"/>
       
  1419     </xs:restriction>
       
  1420    </xs:simpleType>
       
  1421 
       
  1422  <xs:simpleType name="dateTime" id="dateTime">
       
  1423     <xs:annotation>
       
  1424     <xs:appinfo>
       
  1425         <hfp:hasFacet name="pattern"/>
       
  1426         <hfp:hasFacet name="enumeration"/>
       
  1427         <hfp:hasFacet name="whiteSpace"/>
       
  1428         <hfp:hasFacet name="maxInclusive"/>
       
  1429         <hfp:hasFacet name="maxExclusive"/>
       
  1430         <hfp:hasFacet name="minInclusive"/>
       
  1431         <hfp:hasFacet name="minExclusive"/>
       
  1432         <hfp:hasProperty name="ordered" value="partial"/>
       
  1433         <hfp:hasProperty name="bounded" value="false"/>
       
  1434         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1435         <hfp:hasProperty name="numeric" value="false"/>
       
  1436       </xs:appinfo>
       
  1437       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
       
  1438     </xs:annotation>
       
  1439     <xs:restriction base="xs:anySimpleType">
       
  1440       <xs:whiteSpace value="collapse" fixed="true" id="dateTime.whiteSpace"/>
       
  1441     </xs:restriction>
       
  1442   </xs:simpleType>
       
  1443 
       
  1444   <xs:simpleType name="time" id="time">
       
  1445     <xs:annotation>
       
  1446     <xs:appinfo>
       
  1447         <hfp:hasFacet name="pattern"/>
       
  1448         <hfp:hasFacet name="enumeration"/>
       
  1449         <hfp:hasFacet name="whiteSpace"/>
       
  1450         <hfp:hasFacet name="maxInclusive"/>
       
  1451         <hfp:hasFacet name="maxExclusive"/>
       
  1452         <hfp:hasFacet name="minInclusive"/>
       
  1453         <hfp:hasFacet name="minExclusive"/>
       
  1454         <hfp:hasProperty name="ordered" value="partial"/>
       
  1455         <hfp:hasProperty name="bounded" value="false"/>
       
  1456         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1457         <hfp:hasProperty name="numeric" value="false"/>
       
  1458       </xs:appinfo>
       
  1459       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#time"/>
       
  1460     </xs:annotation>
       
  1461     <xs:restriction base="xs:anySimpleType">
       
  1462       <xs:whiteSpace value="collapse" fixed="true" id="time.whiteSpace"/>
       
  1463     </xs:restriction>
       
  1464   </xs:simpleType>
       
  1465 
       
  1466   <xs:simpleType name="date" id="date">
       
  1467    <xs:annotation>
       
  1468     <xs:appinfo>
       
  1469         <hfp:hasFacet name="pattern"/>
       
  1470         <hfp:hasFacet name="enumeration"/>
       
  1471         <hfp:hasFacet name="whiteSpace"/>
       
  1472         <hfp:hasFacet name="maxInclusive"/>
       
  1473         <hfp:hasFacet name="maxExclusive"/>
       
  1474         <hfp:hasFacet name="minInclusive"/>
       
  1475         <hfp:hasFacet name="minExclusive"/>
       
  1476         <hfp:hasProperty name="ordered" value="partial"/>
       
  1477         <hfp:hasProperty name="bounded" value="false"/>
       
  1478         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1479         <hfp:hasProperty name="numeric" value="false"/>
       
  1480       </xs:appinfo>
       
  1481       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#date"/>
       
  1482     </xs:annotation>
       
  1483     <xs:restriction base="xs:anySimpleType">
       
  1484       <xs:whiteSpace value="collapse" fixed="true" id="date.whiteSpace"/>
       
  1485     </xs:restriction>
       
  1486   </xs:simpleType>
       
  1487 
       
  1488   <xs:simpleType name="gYearMonth" id="gYearMonth">
       
  1489    <xs:annotation>
       
  1490     <xs:appinfo>
       
  1491         <hfp:hasFacet name="pattern"/>
       
  1492         <hfp:hasFacet name="enumeration"/>
       
  1493         <hfp:hasFacet name="whiteSpace"/>
       
  1494         <hfp:hasFacet name="maxInclusive"/>
       
  1495         <hfp:hasFacet name="maxExclusive"/>
       
  1496         <hfp:hasFacet name="minInclusive"/>
       
  1497         <hfp:hasFacet name="minExclusive"/>
       
  1498         <hfp:hasProperty name="ordered" value="partial"/>
       
  1499         <hfp:hasProperty name="bounded" value="false"/>
       
  1500         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1501         <hfp:hasProperty name="numeric" value="false"/>
       
  1502       </xs:appinfo>
       
  1503       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
       
  1504     </xs:annotation>
       
  1505     <xs:restriction base="xs:anySimpleType">
       
  1506       <xs:whiteSpace value="collapse" fixed="true" id="gYearMonth.whiteSpace"/>
       
  1507     </xs:restriction>
       
  1508   </xs:simpleType>
       
  1509 
       
  1510   <xs:simpleType name="gYear" id="gYear">
       
  1511     <xs:annotation>
       
  1512     <xs:appinfo>
       
  1513         <hfp:hasFacet name="pattern"/>
       
  1514         <hfp:hasFacet name="enumeration"/>
       
  1515         <hfp:hasFacet name="whiteSpace"/>
       
  1516         <hfp:hasFacet name="maxInclusive"/>
       
  1517         <hfp:hasFacet name="maxExclusive"/>
       
  1518         <hfp:hasFacet name="minInclusive"/>
       
  1519         <hfp:hasFacet name="minExclusive"/>
       
  1520         <hfp:hasProperty name="ordered" value="partial"/>
       
  1521         <hfp:hasProperty name="bounded" value="false"/>
       
  1522         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1523         <hfp:hasProperty name="numeric" value="false"/>
       
  1524       </xs:appinfo>
       
  1525       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
       
  1526     </xs:annotation>
       
  1527     <xs:restriction base="xs:anySimpleType">
       
  1528       <xs:whiteSpace value="collapse" fixed="true" id="gYear.whiteSpace"/>
       
  1529     </xs:restriction>
       
  1530   </xs:simpleType>
       
  1531 
       
  1532  <xs:simpleType name="gMonthDay" id="gMonthDay">
       
  1533     <xs:annotation>
       
  1534       <xs:appinfo>
       
  1535         <hfp:hasFacet name="pattern"/>
       
  1536         <hfp:hasFacet name="enumeration"/>
       
  1537         <hfp:hasFacet name="whiteSpace"/>
       
  1538         <hfp:hasFacet name="maxInclusive"/>
       
  1539         <hfp:hasFacet name="maxExclusive"/>
       
  1540         <hfp:hasFacet name="minInclusive"/>
       
  1541         <hfp:hasFacet name="minExclusive"/>
       
  1542         <hfp:hasProperty name="ordered" value="partial"/>
       
  1543         <hfp:hasProperty name="bounded" value="false"/>
       
  1544         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1545         <hfp:hasProperty name="numeric" value="false"/>
       
  1546       </xs:appinfo>
       
  1547        <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
       
  1548     </xs:annotation>
       
  1549     <xs:restriction base="xs:anySimpleType">
       
  1550          <xs:whiteSpace value="collapse" fixed="true" id="gMonthDay.whiteSpace"/>
       
  1551     </xs:restriction>
       
  1552   </xs:simpleType>
       
  1553 
       
  1554   <xs:simpleType name="gDay" id="gDay">
       
  1555     <xs:annotation>
       
  1556   <xs:appinfo>
       
  1557         <hfp:hasFacet name="pattern"/>
       
  1558         <hfp:hasFacet name="enumeration"/>
       
  1559         <hfp:hasFacet name="whiteSpace"/>
       
  1560         <hfp:hasFacet name="maxInclusive"/>
       
  1561         <hfp:hasFacet name="maxExclusive"/>
       
  1562         <hfp:hasFacet name="minInclusive"/>
       
  1563         <hfp:hasFacet name="minExclusive"/>
       
  1564         <hfp:hasProperty name="ordered" value="partial"/>
       
  1565         <hfp:hasProperty name="bounded" value="false"/>
       
  1566         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1567         <hfp:hasProperty name="numeric" value="false"/>
       
  1568       </xs:appinfo>
       
  1569       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
       
  1570     </xs:annotation>
       
  1571     <xs:restriction base="xs:anySimpleType">
       
  1572          <xs:whiteSpace value="collapse" fixed="true" id="gDay.whiteSpace"/>
       
  1573     </xs:restriction>
       
  1574   </xs:simpleType>
       
  1575 
       
  1576  <xs:simpleType name="gMonth" id="gMonth">
       
  1577     <xs:annotation>
       
  1578   <xs:appinfo>
       
  1579         <hfp:hasFacet name="pattern"/>
       
  1580         <hfp:hasFacet name="enumeration"/>
       
  1581         <hfp:hasFacet name="whiteSpace"/>
       
  1582         <hfp:hasFacet name="maxInclusive"/>
       
  1583         <hfp:hasFacet name="maxExclusive"/>
       
  1584         <hfp:hasFacet name="minInclusive"/>
       
  1585         <hfp:hasFacet name="minExclusive"/>
       
  1586         <hfp:hasProperty name="ordered" value="partial"/>
       
  1587         <hfp:hasProperty name="bounded" value="false"/>
       
  1588         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1589         <hfp:hasProperty name="numeric" value="false"/>
       
  1590       </xs:appinfo>
       
  1591       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
       
  1592     </xs:annotation>
       
  1593     <xs:restriction base="xs:anySimpleType">
       
  1594          <xs:whiteSpace value="collapse" fixed="true" id="gMonth.whiteSpace"/>
       
  1595     </xs:restriction>
       
  1596   </xs:simpleType>
       
  1597 
       
  1598    <xs:simpleType name="hexBinary" id="hexBinary">
       
  1599     <xs:annotation>
       
  1600       <xs:appinfo>
       
  1601         <hfp:hasFacet name="length"/>
       
  1602         <hfp:hasFacet name="minLength"/>
       
  1603         <hfp:hasFacet name="maxLength"/>
       
  1604         <hfp:hasFacet name="pattern"/>
       
  1605         <hfp:hasFacet name="enumeration"/>
       
  1606         <hfp:hasFacet name="whiteSpace"/>
       
  1607         <hfp:hasProperty name="ordered" value="false"/>
       
  1608         <hfp:hasProperty name="bounded" value="false"/>
       
  1609         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1610         <hfp:hasProperty name="numeric" value="false"/>
       
  1611       </xs:appinfo>
       
  1612       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#binary"/>
       
  1613     </xs:annotation>
       
  1614     <xs:restriction base="xs:anySimpleType">
       
  1615       <xs:whiteSpace value="collapse" fixed="true" id="hexBinary.whiteSpace"/>
       
  1616     </xs:restriction>
       
  1617    </xs:simpleType>
       
  1618 
       
  1619  <xs:simpleType name="base64Binary" id="base64Binary">
       
  1620     <xs:annotation>
       
  1621       <xs:appinfo>
       
  1622         <hfp:hasFacet name="length"/>
       
  1623         <hfp:hasFacet name="minLength"/>
       
  1624         <hfp:hasFacet name="maxLength"/>
       
  1625         <hfp:hasFacet name="pattern"/>
       
  1626         <hfp:hasFacet name="enumeration"/>
       
  1627         <hfp:hasFacet name="whiteSpace"/>
       
  1628         <hfp:hasProperty name="ordered" value="false"/>
       
  1629         <hfp:hasProperty name="bounded" value="false"/>
       
  1630         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1631         <hfp:hasProperty name="numeric" value="false"/>
       
  1632       </xs:appinfo>
       
  1633       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
       
  1634     </xs:annotation>
       
  1635     <xs:restriction base="xs:anySimpleType">
       
  1636       <xs:whiteSpace value="collapse" fixed="true" id="base64Binary.whiteSpace"/>
       
  1637     </xs:restriction>
       
  1638    </xs:simpleType>
       
  1639 
       
  1640    <xs:simpleType name="anyURI" id="anyURI">
       
  1641     <xs:annotation>
       
  1642       <xs:appinfo>
       
  1643         <hfp:hasFacet name="length"/>
       
  1644         <hfp:hasFacet name="minLength"/>
       
  1645         <hfp:hasFacet name="maxLength"/>
       
  1646         <hfp:hasFacet name="pattern"/>
       
  1647         <hfp:hasFacet name="enumeration"/>
       
  1648         <hfp:hasFacet name="whiteSpace"/>
       
  1649         <hfp:hasProperty name="ordered" value="false"/>
       
  1650         <hfp:hasProperty name="bounded" value="false"/>
       
  1651         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1652         <hfp:hasProperty name="numeric" value="false"/>
       
  1653       </xs:appinfo>
       
  1654       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
       
  1655     </xs:annotation>
       
  1656     <xs:restriction base="xs:anySimpleType">
       
  1657       <xs:whiteSpace value="collapse" fixed="true" id="anyURI.whiteSpace"/>
       
  1658     </xs:restriction>
       
  1659    </xs:simpleType>
       
  1660 
       
  1661   <xs:simpleType name="QName" id="QName">
       
  1662     <xs:annotation>
       
  1663         <xs:appinfo>
       
  1664         <hfp:hasFacet name="length"/>
       
  1665         <hfp:hasFacet name="minLength"/>
       
  1666         <hfp:hasFacet name="maxLength"/>
       
  1667         <hfp:hasFacet name="pattern"/>
       
  1668         <hfp:hasFacet name="enumeration"/>
       
  1669         <hfp:hasFacet name="whiteSpace"/>
       
  1670         <hfp:hasProperty name="ordered" value="false"/>
       
  1671         <hfp:hasProperty name="bounded" value="false"/>
       
  1672         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1673         <hfp:hasProperty name="numeric" value="false"/>
       
  1674       </xs:appinfo>
       
  1675       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#QName"/>
       
  1676     </xs:annotation>
       
  1677     <xs:restriction base="xs:anySimpleType">
       
  1678       <xs:whiteSpace value="collapse" fixed="true" id="QName.whiteSpace"/>
       
  1679     </xs:restriction>
       
  1680   </xs:simpleType>
       
  1681 
       
  1682    <xs:simpleType name="NOTATION" id="NOTATION">
       
  1683     <xs:annotation>
       
  1684         <xs:appinfo>
       
  1685         <hfp:hasFacet name="length"/>
       
  1686         <hfp:hasFacet name="minLength"/>
       
  1687         <hfp:hasFacet name="maxLength"/>
       
  1688         <hfp:hasFacet name="pattern"/>
       
  1689         <hfp:hasFacet name="enumeration"/>
       
  1690         <hfp:hasFacet name="whiteSpace"/>
       
  1691         <hfp:hasProperty name="ordered" value="false"/>
       
  1692         <hfp:hasProperty name="bounded" value="false"/>
       
  1693         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1694         <hfp:hasProperty name="numeric" value="false"/>
       
  1695       </xs:appinfo>
       
  1696       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
       
  1697       <xs:documentation>
       
  1698         NOTATION cannot be used directly in a schema; rather a type
       
  1699         must be derived from it by specifying at least one enumeration
       
  1700         facet whose value is the name of a NOTATION declared in the
       
  1701         schema.
       
  1702       </xs:documentation>
       
  1703     </xs:annotation>
       
  1704     <xs:restriction base="xs:anySimpleType">
       
  1705       <xs:whiteSpace value="collapse" fixed="true" id="NOTATION.whiteSpace"/>
       
  1706     </xs:restriction>
       
  1707   </xs:simpleType>
       
  1708 
       
  1709   <xs:annotation>
       
  1710     <xs:documentation>
       
  1711       Now the derived primitive types
       
  1712     </xs:documentation>
       
  1713   </xs:annotation>
       
  1714 
       
  1715   <xs:simpleType name="normalizedString" id="normalizedString">
       
  1716     <xs:annotation>
       
  1717       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
       
  1718     </xs:annotation>
       
  1719     <xs:restriction base="xs:string">
       
  1720       <xs:whiteSpace value="replace" id="normalizedString.whiteSpace"/>
       
  1721     </xs:restriction>
       
  1722   </xs:simpleType>
       
  1723 
       
  1724   <xs:simpleType name="token" id="token">
       
  1725     <xs:annotation>
       
  1726       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#token"/>
       
  1727     </xs:annotation>
       
  1728     <xs:restriction base="xs:normalizedString">
       
  1729       <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
       
  1730     </xs:restriction>
       
  1731   </xs:simpleType>
       
  1732 
       
  1733   <xs:simpleType name="language" id="language">
       
  1734     <xs:annotation>
       
  1735       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/>
       
  1736     </xs:annotation>
       
  1737     <xs:restriction base="xs:token">
       
  1738       <xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" id="language.pattern">
       
  1739         <xs:annotation>
       
  1740           <xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">
       
  1741             pattern specifies the content of section 2.12 of XML 1.0e2
       
  1742             and RFC 3066 (Revised version of RFC 1766).
       
  1743           </xs:documentation>
       
  1744         </xs:annotation>
       
  1745       </xs:pattern>
       
  1746     </xs:restriction>
       
  1747   </xs:simpleType>
       
  1748 
       
  1749   <xs:simpleType name="IDREFS" id="IDREFS">
       
  1750     <xs:annotation>
       
  1751       <xs:appinfo>
       
  1752         <hfp:hasFacet name="length"/>
       
  1753         <hfp:hasFacet name="minLength"/>
       
  1754         <hfp:hasFacet name="maxLength"/>
       
  1755         <hfp:hasFacet name="enumeration"/>
       
  1756         <hfp:hasFacet name="whiteSpace"/>
       
  1757         <hfp:hasFacet name="pattern"/>
       
  1758         <hfp:hasProperty name="ordered" value="false"/>
       
  1759         <hfp:hasProperty name="bounded" value="false"/>
       
  1760         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1761         <hfp:hasProperty name="numeric" value="false"/>
       
  1762       </xs:appinfo>
       
  1763       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
       
  1764     </xs:annotation>
       
  1765     <xs:restriction>
       
  1766       <xs:simpleType>
       
  1767         <xs:list itemType="xs:IDREF"/>
       
  1768       </xs:simpleType>
       
  1769         <xs:minLength value="1" id="IDREFS.minLength"/>
       
  1770     </xs:restriction>
       
  1771   </xs:simpleType>
       
  1772 
       
  1773   <xs:simpleType name="ENTITIES" id="ENTITIES">
       
  1774     <xs:annotation>
       
  1775       <xs:appinfo>
       
  1776         <hfp:hasFacet name="length"/>
       
  1777         <hfp:hasFacet name="minLength"/>
       
  1778         <hfp:hasFacet name="maxLength"/>
       
  1779         <hfp:hasFacet name="enumeration"/>
       
  1780         <hfp:hasFacet name="whiteSpace"/>
       
  1781         <hfp:hasFacet name="pattern"/>
       
  1782         <hfp:hasProperty name="ordered" value="false"/>
       
  1783         <hfp:hasProperty name="bounded" value="false"/>
       
  1784         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1785         <hfp:hasProperty name="numeric" value="false"/>
       
  1786       </xs:appinfo>
       
  1787       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
       
  1788     </xs:annotation>
       
  1789     <xs:restriction>
       
  1790       <xs:simpleType>
       
  1791         <xs:list itemType="xs:ENTITY"/>
       
  1792       </xs:simpleType>
       
  1793         <xs:minLength value="1" id="ENTITIES.minLength"/>
       
  1794     </xs:restriction>
       
  1795   </xs:simpleType>
       
  1796 
       
  1797   <xs:simpleType name="NMTOKEN" id="NMTOKEN">
       
  1798     <xs:annotation>
       
  1799       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
       
  1800     </xs:annotation>
       
  1801     <xs:restriction base="xs:token">
       
  1802       <xs:pattern value="\c+" id="NMTOKEN.pattern">
       
  1803         <xs:annotation>
       
  1804           <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
       
  1805             pattern matches production 7 from the XML spec
       
  1806           </xs:documentation>
       
  1807         </xs:annotation>
       
  1808       </xs:pattern>
       
  1809     </xs:restriction>
       
  1810   </xs:simpleType>
       
  1811 
       
  1812   <xs:simpleType name="NMTOKENS" id="NMTOKENS">
       
  1813     <xs:annotation>
       
  1814       <xs:appinfo>
       
  1815         <hfp:hasFacet name="length"/>
       
  1816         <hfp:hasFacet name="minLength"/>
       
  1817         <hfp:hasFacet name="maxLength"/>
       
  1818         <hfp:hasFacet name="enumeration"/>
       
  1819         <hfp:hasFacet name="whiteSpace"/>
       
  1820         <hfp:hasFacet name="pattern"/>
       
  1821         <hfp:hasProperty name="ordered" value="false"/>
       
  1822         <hfp:hasProperty name="bounded" value="false"/>
       
  1823         <hfp:hasProperty name="cardinality" value="countably infinite"/>
       
  1824         <hfp:hasProperty name="numeric" value="false"/>
       
  1825       </xs:appinfo>
       
  1826       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
       
  1827     </xs:annotation>
       
  1828     <xs:restriction>
       
  1829       <xs:simpleType>
       
  1830         <xs:list itemType="xs:NMTOKEN"/>
       
  1831       </xs:simpleType>
       
  1832         <xs:minLength value="1" id="NMTOKENS.minLength"/>
       
  1833     </xs:restriction>
       
  1834   </xs:simpleType>
       
  1835 
       
  1836   <xs:simpleType name="Name" id="Name">
       
  1837     <xs:annotation>
       
  1838       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#Name"/>
       
  1839     </xs:annotation>
       
  1840     <xs:restriction base="xs:token">
       
  1841       <xs:pattern value="\i\c*" id="Name.pattern">
       
  1842         <xs:annotation>
       
  1843           <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Name">
       
  1844             pattern matches production 5 from the XML spec
       
  1845           </xs:documentation>
       
  1846         </xs:annotation>
       
  1847       </xs:pattern>
       
  1848     </xs:restriction>
       
  1849   </xs:simpleType>
       
  1850 
       
  1851   <xs:simpleType name="NCName" id="NCName">
       
  1852     <xs:annotation>
       
  1853       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
       
  1854     </xs:annotation>
       
  1855     <xs:restriction base="xs:Name">
       
  1856       <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
       
  1857         <xs:annotation>
       
  1858           <xs:documentation source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
       
  1859             pattern matches production 4 from the Namespaces in XML spec
       
  1860           </xs:documentation>
       
  1861         </xs:annotation>
       
  1862       </xs:pattern>
       
  1863     </xs:restriction>
       
  1864   </xs:simpleType>
       
  1865 
       
  1866    <xs:simpleType name="ID" id="ID">
       
  1867     <xs:annotation>
       
  1868       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ID"/>
       
  1869     </xs:annotation>
       
  1870     <xs:restriction base="xs:NCName"/>
       
  1871    </xs:simpleType>
       
  1872 
       
  1873    <xs:simpleType name="IDREF" id="IDREF">
       
  1874     <xs:annotation>
       
  1875       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
       
  1876     </xs:annotation>
       
  1877     <xs:restriction base="xs:NCName"/>
       
  1878    </xs:simpleType>
       
  1879 
       
  1880    <xs:simpleType name="ENTITY" id="ENTITY">
       
  1881     <xs:annotation>
       
  1882       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
       
  1883     </xs:annotation>
       
  1884     <xs:restriction base="xs:NCName"/>
       
  1885    </xs:simpleType>
       
  1886 
       
  1887   <xs:simpleType name="integer" id="integer">
       
  1888     <xs:annotation>
       
  1889       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#integer"/>
       
  1890     </xs:annotation>
       
  1891     <xs:restriction base="xs:decimal">
       
  1892       <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
       
  1893       <xs:pattern value="[\-+]?[0-9]+"/>
       
  1894     </xs:restriction>
       
  1895   </xs:simpleType>
       
  1896 
       
  1897   <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
       
  1898     <xs:annotation>
       
  1899       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
       
  1900     </xs:annotation>
       
  1901     <xs:restriction base="xs:integer">
       
  1902       <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
       
  1903     </xs:restriction>
       
  1904   </xs:simpleType>
       
  1905 
       
  1906   <xs:simpleType name="negativeInteger" id="negativeInteger">
       
  1907     <xs:annotation>
       
  1908       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
       
  1909     </xs:annotation>
       
  1910     <xs:restriction base="xs:nonPositiveInteger">
       
  1911       <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
       
  1912     </xs:restriction>
       
  1913   </xs:simpleType>
       
  1914 
       
  1915   <xs:simpleType name="long" id="long">
       
  1916     <xs:annotation>
       
  1917       <xs:appinfo>
       
  1918         <hfp:hasProperty name="bounded" value="true"/>
       
  1919         <hfp:hasProperty name="cardinality" value="finite"/>
       
  1920       </xs:appinfo>
       
  1921       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#long"/>
       
  1922     </xs:annotation>
       
  1923     <xs:restriction base="xs:integer">
       
  1924       <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
       
  1925       <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
       
  1926     </xs:restriction>
       
  1927   </xs:simpleType>
       
  1928 
       
  1929   <xs:simpleType name="int" id="int">
       
  1930     <xs:annotation>
       
  1931       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#int"/>
       
  1932     </xs:annotation>
       
  1933     <xs:restriction base="xs:long">
       
  1934       <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
       
  1935       <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
       
  1936     </xs:restriction>
       
  1937   </xs:simpleType>
       
  1938 
       
  1939   <xs:simpleType name="short" id="short">
       
  1940     <xs:annotation>
       
  1941       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#short"/>
       
  1942     </xs:annotation>
       
  1943     <xs:restriction base="xs:int">
       
  1944       <xs:minInclusive value="-32768" id="short.minInclusive"/>
       
  1945       <xs:maxInclusive value="32767" id="short.maxInclusive"/>
       
  1946     </xs:restriction>
       
  1947   </xs:simpleType>
       
  1948 
       
  1949   <xs:simpleType name="byte" id="byte">
       
  1950     <xs:annotation>
       
  1951       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#byte"/>
       
  1952     </xs:annotation>
       
  1953     <xs:restriction base="xs:short">
       
  1954       <xs:minInclusive value="-128" id="byte.minInclusive"/>
       
  1955       <xs:maxInclusive value="127" id="byte.maxInclusive"/>
       
  1956     </xs:restriction>
       
  1957   </xs:simpleType>
       
  1958 
       
  1959   <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
       
  1960     <xs:annotation>
       
  1961       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
       
  1962     </xs:annotation>
       
  1963     <xs:restriction base="xs:integer">
       
  1964       <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
       
  1965     </xs:restriction>
       
  1966   </xs:simpleType>
       
  1967 
       
  1968   <xs:simpleType name="unsignedLong" id="unsignedLong">
       
  1969     <xs:annotation>
       
  1970       <xs:appinfo>
       
  1971         <hfp:hasProperty name="bounded" value="true"/>
       
  1972         <hfp:hasProperty name="cardinality" value="finite"/>
       
  1973       </xs:appinfo>
       
  1974       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
       
  1975     </xs:annotation>
       
  1976     <xs:restriction base="xs:nonNegativeInteger">
       
  1977       <xs:maxInclusive value="18446744073709551615" id="unsignedLong.maxInclusive"/>
       
  1978     </xs:restriction>
       
  1979   </xs:simpleType>
       
  1980 
       
  1981   <xs:simpleType name="unsignedInt" id="unsignedInt">
       
  1982     <xs:annotation>
       
  1983       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
       
  1984     </xs:annotation>
       
  1985     <xs:restriction base="xs:unsignedLong">
       
  1986       <xs:maxInclusive value="4294967295" id="unsignedInt.maxInclusive"/>
       
  1987     </xs:restriction>
       
  1988   </xs:simpleType>
       
  1989 
       
  1990   <xs:simpleType name="unsignedShort" id="unsignedShort">
       
  1991     <xs:annotation>
       
  1992       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
       
  1993     </xs:annotation>
       
  1994     <xs:restriction base="xs:unsignedInt">
       
  1995       <xs:maxInclusive value="65535" id="unsignedShort.maxInclusive"/>
       
  1996     </xs:restriction>
       
  1997   </xs:simpleType>
       
  1998 
       
  1999   <xs:simpleType name="unsignedByte" id="unsignedByte">
       
  2000     <xs:annotation>
       
  2001       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
       
  2002     </xs:annotation>
       
  2003     <xs:restriction base="xs:unsignedShort">
       
  2004       <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
       
  2005     </xs:restriction>
       
  2006   </xs:simpleType>
       
  2007 
       
  2008   <xs:simpleType name="positiveInteger" id="positiveInteger">
       
  2009     <xs:annotation>
       
  2010       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
       
  2011     </xs:annotation>
       
  2012     <xs:restriction base="xs:nonNegativeInteger">
       
  2013       <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
       
  2014     </xs:restriction>
       
  2015   </xs:simpleType>
       
  2016 
       
  2017  <xs:simpleType name="derivationControl">
       
  2018   <xs:annotation>
       
  2019    <xs:documentation>
       
  2020    A utility type, not for public use</xs:documentation>
       
  2021   </xs:annotation>
       
  2022   <xs:restriction base="xs:NMTOKEN">
       
  2023    <xs:enumeration value="substitution"/>
       
  2024    <xs:enumeration value="extension"/>
       
  2025    <xs:enumeration value="restriction"/>
       
  2026    <xs:enumeration value="list"/>
       
  2027    <xs:enumeration value="union"/>
       
  2028   </xs:restriction>
       
  2029  </xs:simpleType>
       
  2030 
       
  2031  <xs:group name="simpleDerivation">
       
  2032   <xs:choice>
       
  2033     <xs:element ref="xs:restriction"/>
       
  2034     <xs:element ref="xs:list"/>
       
  2035     <xs:element ref="xs:union"/>
       
  2036   </xs:choice>
       
  2037  </xs:group>
       
  2038 
       
  2039  <xs:simpleType name="simpleDerivationSet">
       
  2040   <xs:annotation>
       
  2041    <xs:documentation>
       
  2042    #all or (possibly empty) subset of {restriction, union, list}
       
  2043    </xs:documentation>
       
  2044    <xs:documentation>
       
  2045    A utility type, not for public use</xs:documentation>
       
  2046   </xs:annotation>
       
  2047   <xs:union>
       
  2048    <xs:simpleType>
       
  2049     <xs:restriction base="xs:token">
       
  2050      <xs:enumeration value="#all"/>
       
  2051     </xs:restriction>
       
  2052    </xs:simpleType>
       
  2053    <xs:simpleType>
       
  2054     <xs:list>
       
  2055      <xs:simpleType>
       
  2056       <xs:restriction base="xs:derivationControl">
       
  2057        <xs:enumeration value="list"/>
       
  2058        <xs:enumeration value="union"/>
       
  2059        <xs:enumeration value="restriction"/>
       
  2060       </xs:restriction>
       
  2061      </xs:simpleType>
       
  2062     </xs:list>
       
  2063    </xs:simpleType>
       
  2064   </xs:union>
       
  2065  </xs:simpleType>
       
  2066 
       
  2067   <xs:complexType name="simpleType" abstract="true">
       
  2068     <xs:complexContent>
       
  2069       <xs:extension base="xs:annotated">
       
  2070         <xs:group ref="xs:simpleDerivation"/>
       
  2071         <xs:attribute name="final" type="xs:simpleDerivationSet"/>
       
  2072         <xs:attribute name="name" type="xs:NCName">
       
  2073           <xs:annotation>
       
  2074             <xs:documentation>
       
  2075               Can be restricted to required or forbidden
       
  2076             </xs:documentation>
       
  2077           </xs:annotation>
       
  2078         </xs:attribute>
       
  2079       </xs:extension>
       
  2080     </xs:complexContent>
       
  2081   </xs:complexType>
       
  2082 
       
  2083   <xs:complexType name="topLevelSimpleType">
       
  2084     <xs:complexContent>
       
  2085       <xs:restriction base="xs:simpleType">
       
  2086         <xs:sequence>
       
  2087           <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2088           <xs:group ref="xs:simpleDerivation"/>
       
  2089         </xs:sequence>
       
  2090         <xs:attribute name="name" use="required" type="xs:NCName">
       
  2091           <xs:annotation>
       
  2092             <xs:documentation>
       
  2093               Required at the top level
       
  2094             </xs:documentation>
       
  2095           </xs:annotation>
       
  2096         </xs:attribute>
       
  2097        <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2098       </xs:restriction>
       
  2099     </xs:complexContent>
       
  2100   </xs:complexType>
       
  2101 
       
  2102   <xs:complexType name="localSimpleType">
       
  2103     <xs:complexContent>
       
  2104       <xs:restriction base="xs:simpleType">
       
  2105         <xs:sequence>
       
  2106           <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2107           <xs:group ref="xs:simpleDerivation"/>
       
  2108         </xs:sequence>
       
  2109         <xs:attribute name="name" use="prohibited">
       
  2110           <xs:annotation>
       
  2111             <xs:documentation>
       
  2112               Forbidden when nested
       
  2113             </xs:documentation>
       
  2114           </xs:annotation>
       
  2115         </xs:attribute>
       
  2116         <xs:attribute name="final" use="prohibited"/>
       
  2117        <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2118       </xs:restriction>
       
  2119     </xs:complexContent>
       
  2120   </xs:complexType>
       
  2121 
       
  2122   <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
       
  2123     <xs:annotation>
       
  2124       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
       
  2125     </xs:annotation>
       
  2126   </xs:element>
       
  2127 
       
  2128   <xs:group name="facets">
       
  2129    <xs:annotation>
       
  2130     <xs:documentation>
       
  2131        We should use a substitution group for facets, but
       
  2132        that's ruled out because it would allow users to
       
  2133        add their own, which we're not ready for yet.
       
  2134     </xs:documentation>
       
  2135    </xs:annotation>
       
  2136    <xs:choice>
       
  2137     <xs:element ref="xs:minExclusive"/>
       
  2138     <xs:element ref="xs:minInclusive"/>
       
  2139     <xs:element ref="xs:maxExclusive"/>
       
  2140     <xs:element ref="xs:maxInclusive"/>
       
  2141     <xs:element ref="xs:totalDigits"/>
       
  2142     <xs:element ref="xs:fractionDigits"/>
       
  2143     <xs:element ref="xs:length"/>
       
  2144     <xs:element ref="xs:minLength"/>
       
  2145     <xs:element ref="xs:maxLength"/>
       
  2146     <xs:element ref="xs:enumeration"/>
       
  2147     <xs:element ref="xs:whiteSpace"/>
       
  2148     <xs:element ref="xs:pattern"/>
       
  2149    </xs:choice>
       
  2150   </xs:group>
       
  2151 
       
  2152   <xs:group name="simpleRestrictionModel">
       
  2153    <xs:sequence>
       
  2154     <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
       
  2155     <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
       
  2156    </xs:sequence>
       
  2157   </xs:group>
       
  2158 
       
  2159   <xs:element name="restriction" id="restriction">
       
  2160    <xs:complexType>
       
  2161     <xs:annotation>
       
  2162       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
       
  2163           base attribute and simpleType child are mutually
       
  2164           exclusive, but one or other is required
       
  2165         </xs:documentation>
       
  2166       </xs:annotation>
       
  2167       <xs:complexContent>
       
  2168         <xs:extension base="xs:annotated">
       
  2169          <xs:group ref="xs:simpleRestrictionModel"/>
       
  2170          <xs:attribute name="base" type="xs:QName" use="optional"/>
       
  2171         </xs:extension>
       
  2172       </xs:complexContent>
       
  2173     </xs:complexType>
       
  2174   </xs:element>
       
  2175 
       
  2176   <xs:element name="list" id="list">
       
  2177    <xs:complexType>
       
  2178     <xs:annotation>
       
  2179       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-list">
       
  2180           itemType attribute and simpleType child are mutually
       
  2181           exclusive, but one or other is required
       
  2182         </xs:documentation>
       
  2183       </xs:annotation>
       
  2184       <xs:complexContent>
       
  2185         <xs:extension base="xs:annotated">
       
  2186           <xs:sequence>
       
  2187             <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
       
  2188           </xs:sequence>
       
  2189           <xs:attribute name="itemType" type="xs:QName" use="optional"/>
       
  2190         </xs:extension>
       
  2191       </xs:complexContent>
       
  2192     </xs:complexType>
       
  2193   </xs:element>
       
  2194 
       
  2195   <xs:element name="union" id="union">
       
  2196    <xs:complexType>
       
  2197     <xs:annotation>
       
  2198       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-union">
       
  2199           memberTypes attribute must be non-empty or there must be
       
  2200           at least one simpleType child
       
  2201         </xs:documentation>
       
  2202       </xs:annotation>
       
  2203       <xs:complexContent>
       
  2204         <xs:extension base="xs:annotated">
       
  2205           <xs:sequence>
       
  2206             <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0" maxOccurs="unbounded"/>
       
  2207           </xs:sequence>
       
  2208           <xs:attribute name="memberTypes" use="optional">
       
  2209             <xs:simpleType>
       
  2210               <xs:list itemType="xs:QName"/>
       
  2211             </xs:simpleType>
       
  2212           </xs:attribute>
       
  2213         </xs:extension>
       
  2214       </xs:complexContent>
       
  2215     </xs:complexType>
       
  2216   </xs:element>
       
  2217 
       
  2218   <xs:complexType name="facet">
       
  2219     <xs:complexContent>
       
  2220       <xs:extension base="xs:annotated">
       
  2221         <xs:attribute name="value" use="required"/>
       
  2222         <xs:attribute name="fixed" type="xs:boolean" use="optional" default="false"/>
       
  2223       </xs:extension>
       
  2224     </xs:complexContent>
       
  2225   </xs:complexType>
       
  2226 
       
  2227  <xs:complexType name="noFixedFacet">
       
  2228   <xs:complexContent>
       
  2229    <xs:restriction base="xs:facet">
       
  2230     <xs:sequence>
       
  2231      <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2232     </xs:sequence>
       
  2233     <xs:attribute name="fixed" use="prohibited"/>
       
  2234     <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2235    </xs:restriction>
       
  2236   </xs:complexContent>
       
  2237  </xs:complexType>
       
  2238 
       
  2239   <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
       
  2240     <xs:annotation>
       
  2241       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
       
  2242     </xs:annotation>
       
  2243   </xs:element>
       
  2244   <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
       
  2245     <xs:annotation>
       
  2246       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
       
  2247     </xs:annotation>
       
  2248   </xs:element>
       
  2249 
       
  2250   <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
       
  2251     <xs:annotation>
       
  2252       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
       
  2253     </xs:annotation>
       
  2254   </xs:element>
       
  2255   <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
       
  2256     <xs:annotation>
       
  2257       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
       
  2258     </xs:annotation>
       
  2259   </xs:element>
       
  2260 
       
  2261   <xs:complexType name="numFacet">
       
  2262     <xs:complexContent>
       
  2263       <xs:restriction base="xs:facet">
       
  2264        <xs:sequence>
       
  2265          <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2266        </xs:sequence>
       
  2267        <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
       
  2268        <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2269       </xs:restriction>
       
  2270     </xs:complexContent>
       
  2271   </xs:complexType>
       
  2272 
       
  2273   <xs:element name="totalDigits" id="totalDigits">
       
  2274     <xs:annotation>
       
  2275       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
       
  2276     </xs:annotation>
       
  2277     <xs:complexType>
       
  2278       <xs:complexContent>
       
  2279         <xs:restriction base="xs:numFacet">
       
  2280           <xs:sequence>
       
  2281             <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2282           </xs:sequence>
       
  2283           <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
       
  2284          <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2285         </xs:restriction>
       
  2286       </xs:complexContent>
       
  2287     </xs:complexType>
       
  2288   </xs:element>
       
  2289   <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
       
  2290     <xs:annotation>
       
  2291       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
       
  2292     </xs:annotation>
       
  2293   </xs:element>
       
  2294 
       
  2295   <xs:element name="length" id="length" type="xs:numFacet">
       
  2296     <xs:annotation>
       
  2297       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
       
  2298     </xs:annotation>
       
  2299   </xs:element>
       
  2300   <xs:element name="minLength" id="minLength" type="xs:numFacet">
       
  2301     <xs:annotation>
       
  2302       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
       
  2303     </xs:annotation>
       
  2304   </xs:element>
       
  2305   <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
       
  2306     <xs:annotation>
       
  2307       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
       
  2308     </xs:annotation>
       
  2309   </xs:element>
       
  2310 
       
  2311   <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
       
  2312     <xs:annotation>
       
  2313       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
       
  2314     </xs:annotation>
       
  2315   </xs:element>
       
  2316 
       
  2317   <xs:element name="whiteSpace" id="whiteSpace">
       
  2318     <xs:annotation>
       
  2319       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
       
  2320     </xs:annotation>
       
  2321     <xs:complexType>
       
  2322       <xs:complexContent>
       
  2323         <xs:restriction base="xs:facet">
       
  2324           <xs:sequence>
       
  2325             <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2326           </xs:sequence>
       
  2327           <xs:attribute name="value" use="required">
       
  2328             <xs:simpleType>
       
  2329               <xs:restriction base="xs:NMTOKEN">
       
  2330                 <xs:enumeration value="preserve"/>
       
  2331                 <xs:enumeration value="replace"/>
       
  2332                 <xs:enumeration value="collapse"/>
       
  2333               </xs:restriction>
       
  2334             </xs:simpleType>
       
  2335           </xs:attribute>
       
  2336          <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2337         </xs:restriction>
       
  2338       </xs:complexContent>
       
  2339     </xs:complexType>
       
  2340   </xs:element>
       
  2341 
       
  2342   <xs:element name="pattern" id="pattern">
       
  2343     <xs:annotation>
       
  2344       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
       
  2345     </xs:annotation>
       
  2346     <xs:complexType>
       
  2347       <xs:complexContent>
       
  2348         <xs:restriction base="xs:noFixedFacet">
       
  2349           <xs:sequence>
       
  2350             <xs:element ref="xs:annotation" minOccurs="0"/>
       
  2351           </xs:sequence>
       
  2352           <xs:attribute name="value" type="xs:string" use="required"/>
       
  2353          <xs:anyAttribute namespace="##other" processContents="lax"/>
       
  2354         </xs:restriction>
       
  2355       </xs:complexContent>
       
  2356     </xs:complexType>
       
  2357   </xs:element>
       
  2358 </xs:schema>