minixsv/xsStructs.xsd
changeset 0 b622defdfd98
equal deleted inserted replaced
-1:000000000000 0:b622defdfd98
       
     1 <?xml version='1.0' encoding='UTF-8'?>
       
     2 <!-- XML Schema schema for XML Schemas: Part 1: Structures -->
       
     3 <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
       
     4 
       
     5 <!-- provide ID type information even for parsers which only read the
       
     6      internal subset -->
       
     7 <!ATTLIST xs:schema          id  ID  #IMPLIED>
       
     8 <!ATTLIST xs:complexType     id  ID  #IMPLIED>
       
     9 <!ATTLIST xs:complexContent  id  ID  #IMPLIED>
       
    10 <!ATTLIST xs:simpleContent   id  ID  #IMPLIED>
       
    11 <!ATTLIST xs:extension       id  ID  #IMPLIED>
       
    12 <!ATTLIST xs:element         id  ID  #IMPLIED>
       
    13 <!ATTLIST xs:group           id  ID  #IMPLIED> 
       
    14 <!ATTLIST xs:all             id  ID  #IMPLIED>
       
    15 <!ATTLIST xs:choice          id  ID  #IMPLIED>
       
    16 <!ATTLIST xs:sequence        id  ID  #IMPLIED>
       
    17 <!ATTLIST xs:any             id  ID  #IMPLIED>
       
    18 <!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>
       
    19 <!ATTLIST xs:attribute       id  ID  #IMPLIED>
       
    20 <!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>
       
    21 <!ATTLIST xs:unique          id  ID  #IMPLIED>
       
    22 <!ATTLIST xs:key             id  ID  #IMPLIED>
       
    23 <!ATTLIST xs:keyref          id  ID  #IMPLIED>
       
    24 <!ATTLIST xs:selector        id  ID  #IMPLIED>
       
    25 <!ATTLIST xs:field           id  ID  #IMPLIED>
       
    26 <!ATTLIST xs:include         id  ID  #IMPLIED>
       
    27 <!ATTLIST xs:import          id  ID  #IMPLIED>
       
    28 <!ATTLIST xs:redefine        id  ID  #IMPLIED>
       
    29 <!ATTLIST xs:notation        id  ID  #IMPLIED>
       
    30 ]>
       
    31 <xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="Id: XMLSchema.xsd,v 1.48 2001/04/24 18:56:39 ht Exp " xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN">
       
    32 
       
    33  <xs:annotation>
       
    34    <xs:documentation source="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/structures.html">
       
    35    The schema corresponding to this document is normative,
       
    36    with respect to the syntactic constraints it expresses in the
       
    37    XML Schema language.  The documentation (within &lt;documentation> elements)
       
    38    below, is not normative, but rather highlights important aspects of
       
    39    the W3C Recommendation of which this is a part</xs:documentation>
       
    40  </xs:annotation>
       
    41 
       
    42  <xs:annotation>
       
    43    <xs:documentation>
       
    44    The simpleType element and all of its members are defined
       
    45    in datatypes.xsd</xs:documentation>
       
    46  </xs:annotation>
       
    47 
       
    48  <xs:include schemaLocation="datatypes.xsd"/>
       
    49 
       
    50  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
       
    51    <xs:annotation>
       
    52      <xs:documentation>
       
    53        Get access to the xml: attribute groups for xml:lang
       
    54        as declared on 'schema' and 'documentation' below
       
    55      </xs:documentation>
       
    56    </xs:annotation>
       
    57  </xs:import>
       
    58 
       
    59  <xs:complexType name="openAttrs">
       
    60    <xs:annotation>
       
    61      <xs:documentation>
       
    62        This type is extended by almost all schema types
       
    63        to allow attributes from other namespaces to be
       
    64        added to user schemas.
       
    65      </xs:documentation>
       
    66    </xs:annotation>
       
    67    <xs:complexContent>
       
    68      <xs:restriction base="xs:anyType">
       
    69        <xs:anyAttribute namespace="##other" processContents="lax"/>
       
    70      </xs:restriction>
       
    71    </xs:complexContent>
       
    72  </xs:complexType>
       
    73 
       
    74  <xs:complexType name="annotated">
       
    75    <xs:annotation>
       
    76      <xs:documentation>
       
    77        This type is extended by all types which allow annotation
       
    78        other than &lt;schema&gt; itself
       
    79      </xs:documentation>
       
    80    </xs:annotation>
       
    81    <xs:complexContent>
       
    82      <xs:extension base="xs:openAttrs">
       
    83        <xs:sequence>
       
    84 	     <xs:element ref="xs:annotation" minOccurs="0"/>
       
    85        </xs:sequence>
       
    86        <xs:attribute name="id" type="xs:ID"/>
       
    87      </xs:extension>
       
    88    </xs:complexContent>
       
    89  </xs:complexType>
       
    90 
       
    91  <xs:group name="schemaTop">
       
    92   <xs:annotation>
       
    93    <xs:documentation>
       
    94    This group is for the
       
    95    elements which occur freely at the top level of schemas.
       
    96    All of their types are based on the "annotated" type by extension.
       
    97    </xs:documentation>
       
    98   </xs:annotation>
       
    99   <xs:choice>
       
   100    <xs:group   ref="xs:redefinable"/>
       
   101    <xs:element ref="xs:element"/>
       
   102    <xs:element ref="xs:attribute"/>
       
   103    <xs:element ref="xs:notation"/>
       
   104   </xs:choice>
       
   105  </xs:group>
       
   106  
       
   107  <xs:group name="redefinable">
       
   108   <xs:annotation>
       
   109    <xs:documentation>
       
   110    This group is for the
       
   111    elements which can self-redefine (see &lt;redefine> below).
       
   112    </xs:documentation>
       
   113   </xs:annotation>
       
   114   <xs:choice>
       
   115    <xs:element ref="xs:simpleType"/>
       
   116    <xs:element ref="xs:complexType"/>
       
   117    <xs:element ref="xs:group"/>
       
   118    <xs:element ref="xs:attributeGroup"/>
       
   119   </xs:choice>
       
   120  </xs:group>
       
   121 
       
   122  <xs:simpleType name="formChoice">
       
   123   <xs:annotation>
       
   124    <xs:documentation>
       
   125    A utility type, not for public use
       
   126    </xs:documentation>
       
   127   </xs:annotation>
       
   128   <xs:restriction base="xs:NMTOKEN">
       
   129    <xs:enumeration value="qualified"/>
       
   130    <xs:enumeration value="unqualified"/>
       
   131   </xs:restriction>
       
   132  </xs:simpleType>
       
   133 
       
   134  <xs:simpleType name="reducedDerivationControl">
       
   135   <xs:annotation>
       
   136    <xs:documentation>
       
   137    A utility type, not for public use
       
   138    </xs:documentation>
       
   139   </xs:annotation>
       
   140   <xs:restriction base="xs:derivationControl">
       
   141    <xs:enumeration value="extension"/>
       
   142    <xs:enumeration value="restriction"/>
       
   143   </xs:restriction>
       
   144  </xs:simpleType>
       
   145 
       
   146  <xs:simpleType name="derivationSet">
       
   147   <xs:annotation>
       
   148    <xs:documentation>
       
   149    A utility type, not for public use
       
   150    </xs:documentation>
       
   151    <xs:documentation>
       
   152    #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
       
   153   </xs:annotation>
       
   154   <xs:union>
       
   155    <xs:simpleType>    
       
   156     <xs:restriction base="xs:token">
       
   157      <xs:enumeration value="#all"/>
       
   158     </xs:restriction>
       
   159    </xs:simpleType>
       
   160    <xs:simpleType>
       
   161     <xs:list itemType="xs:reducedDerivationControl"/>
       
   162    </xs:simpleType>
       
   163   </xs:union>
       
   164  </xs:simpleType>
       
   165 
       
   166  <xs:element name="schema" id="schema">
       
   167   <xs:annotation>
       
   168     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
       
   169   </xs:annotation>
       
   170   <xs:complexType>
       
   171    <xs:complexContent>
       
   172     <xs:extension base="xs:openAttrs">
       
   173      <xs:sequence>
       
   174       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   175        <xs:element ref="xs:include"/>
       
   176        <xs:element ref="xs:import"/>
       
   177        <xs:element ref="xs:redefine"/>
       
   178        <xs:element ref="xs:annotation"/>
       
   179       </xs:choice>
       
   180       <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
   181        <xs:group ref="xs:schemaTop"/>
       
   182        <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
       
   183       </xs:sequence>
       
   184      </xs:sequence>
       
   185      <xs:attribute name="targetNamespace" type="xs:anyURI"/>
       
   186      <xs:attribute name="version" type="xs:token"/>
       
   187      <xs:attribute name="finalDefault" type="xs:derivationSet" use="optional" default="#all"/>
       
   188      <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default="#all"/>
       
   189      <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
       
   190      <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
       
   191      <xs:attribute name="id" type="xs:ID"/>
       
   192      <xs:attribute ref="xml:lang"/>
       
   193      <xs:attribute ref="xmlns:xsd"/>
       
   194     </xs:extension>
       
   195    </xs:complexContent>
       
   196   </xs:complexType>
       
   197 
       
   198   <xs:key name="element">
       
   199    <xs:selector xpath="xs:element"/>
       
   200    <xs:field xpath="@name"/>
       
   201   </xs:key>
       
   202 
       
   203   <xs:key name="attribute">
       
   204    <xs:selector xpath="xs:attribute"/>
       
   205    <xs:field xpath="@name"/>
       
   206   </xs:key>
       
   207 
       
   208   <xs:key name="type">
       
   209    <xs:selector xpath="xs:complexType|xs:simpleType"/>
       
   210    <xs:field xpath="@name"/>
       
   211   </xs:key>
       
   212  
       
   213   <xs:key name="group">
       
   214    <xs:selector xpath="xs:group"/>
       
   215    <xs:field xpath="@name"/>
       
   216   </xs:key>
       
   217  
       
   218   <xs:key name="attributeGroup">
       
   219    <xs:selector xpath="xs:attributeGroup"/>
       
   220    <xs:field xpath="@name"/>
       
   221   </xs:key>
       
   222  
       
   223   <xs:key name="notation">
       
   224    <xs:selector xpath="xs:notation"/>
       
   225    <xs:field xpath="@name"/>
       
   226   </xs:key>
       
   227 
       
   228   <xs:key name="identityConstraint">
       
   229    <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
       
   230    <xs:field xpath="@name"/>
       
   231   </xs:key>
       
   232 
       
   233  </xs:element>
       
   234 
       
   235  <xs:simpleType name="allNNI">
       
   236   <xs:annotation><xs:documentation>
       
   237    for maxOccurs</xs:documentation></xs:annotation>
       
   238   <xs:union memberTypes="xs:nonNegativeInteger">
       
   239    <xs:simpleType>
       
   240     <xs:restriction base="xs:NMTOKEN">
       
   241      <xs:enumeration value="unbounded"/>
       
   242     </xs:restriction>
       
   243    </xs:simpleType>
       
   244   </xs:union>
       
   245  </xs:simpleType>
       
   246 
       
   247  <xs:attributeGroup name="occurs">
       
   248   <xs:annotation><xs:documentation>
       
   249    for all particles</xs:documentation></xs:annotation>
       
   250   <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
       
   251   <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
       
   252  </xs:attributeGroup>
       
   253 
       
   254  <xs:attributeGroup name="defRef">
       
   255   <xs:annotation><xs:documentation>
       
   256    for element, group and attributeGroup,
       
   257    which both define and reference</xs:documentation></xs:annotation>
       
   258   <xs:attribute name="name" type="xs:NCName"/>
       
   259   <xs:attribute name="ref" type="xs:QName"/>
       
   260  </xs:attributeGroup>
       
   261 
       
   262  <xs:group name="typeDefParticle">
       
   263   <xs:annotation>
       
   264     <xs:documentation>
       
   265    'complexType' uses this</xs:documentation></xs:annotation>
       
   266   <xs:choice>
       
   267    <xs:element name="group" type="xs:groupRef"/>
       
   268    <xs:element ref="xs:all"/>
       
   269    <xs:element ref="xs:choice"/>
       
   270    <xs:element ref="xs:sequence"/>
       
   271   </xs:choice>
       
   272  </xs:group>
       
   273  
       
   274  
       
   275 
       
   276  <xs:group name="nestedParticle">
       
   277   <xs:choice>
       
   278    <xs:element name="element" type="xs:localElement"/>
       
   279    <xs:element name="group" type="xs:groupRef"/>
       
   280    <xs:element ref="xs:choice"/>
       
   281    <xs:element ref="xs:sequence"/>
       
   282    <xs:element ref="xs:any"/>
       
   283   </xs:choice>
       
   284  </xs:group>
       
   285  
       
   286  <xs:group name="particle">
       
   287   <xs:choice>
       
   288    <xs:element name="element" type="xs:localElement"/>
       
   289    <xs:element name="group" type="xs:groupRef"/>
       
   290    <xs:element ref="xs:all"/>
       
   291    <xs:element ref="xs:choice"/>
       
   292    <xs:element ref="xs:sequence"/>
       
   293    <xs:element ref="xs:any"/>
       
   294   </xs:choice>
       
   295  </xs:group>
       
   296  
       
   297  <xs:complexType name="attribute">
       
   298   <xs:complexContent>
       
   299    <xs:extension base="xs:annotated">
       
   300     <xs:sequence>
       
   301      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
       
   302     </xs:sequence>
       
   303     <xs:attributeGroup ref="xs:defRef"/>
       
   304     <xs:attribute name="type" type="xs:QName"/>
       
   305     <xs:attribute name="use" use="optional" default="optional">
       
   306      <xs:simpleType>
       
   307       <xs:restriction base="xs:NMTOKEN">
       
   308        <xs:enumeration value="prohibited"/>
       
   309        <xs:enumeration value="optional"/>
       
   310        <xs:enumeration value="required"/>
       
   311       </xs:restriction>
       
   312      </xs:simpleType>
       
   313     </xs:attribute>
       
   314     <xs:attribute name="default" type="xs:string"/>
       
   315     <xs:attribute name="fixed" type="xs:string"/>
       
   316     <xs:attribute name="form" type="xs:formChoice"/>
       
   317    </xs:extension>
       
   318   </xs:complexContent>
       
   319  </xs:complexType>
       
   320  
       
   321  <xs:complexType name="topLevelAttribute">
       
   322   <xs:complexContent>
       
   323    <xs:restriction base="xs:attribute">
       
   324     <xs:sequence>
       
   325      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   326      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
       
   327     </xs:sequence>
       
   328     <xs:attribute name="ref" use="prohibited"/>
       
   329     <xs:attribute name="form" use="prohibited"/>
       
   330     <xs:attribute name="use" use="prohibited"/>
       
   331     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   332    </xs:restriction>
       
   333   </xs:complexContent>
       
   334  </xs:complexType>
       
   335 
       
   336  <xs:group name="attrDecls">
       
   337   <xs:sequence>
       
   338    <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   339     <xs:element name="attribute" type="xs:attribute"/>
       
   340     <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
       
   341    </xs:choice>
       
   342    <xs:element ref="xs:anyAttribute" minOccurs="0"/>
       
   343   </xs:sequence>
       
   344  </xs:group>
       
   345 
       
   346  <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
       
   347   <xs:annotation>
       
   348    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
       
   349   </xs:annotation>
       
   350  </xs:element>
       
   351 
       
   352  <xs:group name="complexTypeModel">
       
   353   <xs:choice>
       
   354       <xs:element ref="xs:simpleContent"/>
       
   355       <xs:element ref="xs:complexContent"/>
       
   356       <xs:sequence>
       
   357        <xs:annotation>
       
   358         <xs:documentation>
       
   359    This branch is short for
       
   360    &lt;complexContent>
       
   361    &lt;restriction base="xs:anyType">
       
   362    ...
       
   363    &lt;/restriction>
       
   364    &lt;/complexContent>
       
   365         </xs:documentation>
       
   366        </xs:annotation>
       
   367        <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   368        <xs:group ref="xs:attrDecls"/>
       
   369       </xs:sequence>
       
   370   </xs:choice>
       
   371  </xs:group>
       
   372 
       
   373  <xs:complexType name="complexType" abstract="true">
       
   374   <xs:complexContent>
       
   375    <xs:extension base="xs:annotated">
       
   376     <xs:group ref="xs:complexTypeModel"/>
       
   377     <xs:attribute name="name" type="xs:NCName">
       
   378      <xs:annotation>
       
   379       <xs:documentation>
       
   380       Will be restricted to required or forbidden
       
   381       </xs:documentation>
       
   382      </xs:annotation>
       
   383     </xs:attribute>
       
   384     <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
       
   385      <xs:annotation>
       
   386       <xs:documentation>
       
   387       Not allowed if simpleContent child is chosen.
       
   388       May be overriden by setting on complexContent child.
       
   389       </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:restriction>
       
   408   </xs:complexContent>
       
   409  </xs:complexType>
       
   410  
       
   411  <xs:complexType name="localComplexType">
       
   412   <xs:complexContent>
       
   413    <xs:restriction base="xs:complexType">
       
   414     <xs:sequence>
       
   415      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   416      <xs:group ref="xs:complexTypeModel"/>
       
   417     </xs:sequence>
       
   418     <xs:attribute name="name" use="prohibited"/>
       
   419     <xs:attribute name="abstract" use="prohibited"/>
       
   420     <xs:attribute name="final" use="prohibited"/>
       
   421     <xs:attribute name="block" use="prohibited"/>
       
   422    </xs:restriction>
       
   423   </xs:complexContent>
       
   424  </xs:complexType>
       
   425  
       
   426  <xs:complexType name="restrictionType">
       
   427   <xs:complexContent>
       
   428    <xs:extension base="xs:annotated">
       
   429     <xs:sequence>
       
   430      <xs:choice>
       
   431       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   432       <xs:group ref="xs:simpleRestrictionModel" minOccurs="0"/>
       
   433      </xs:choice>
       
   434      <xs:group ref="xs:attrDecls"/>
       
   435     </xs:sequence>
       
   436     <xs:attribute name="base" type="xs:QName" use="required"/>
       
   437    </xs:extension>
       
   438   </xs:complexContent>       
       
   439  </xs:complexType>
       
   440 
       
   441  <xs:complexType name="complexRestrictionType">
       
   442   <xs:complexContent>
       
   443    <xs:restriction base="xs:restrictionType">
       
   444     <xs:sequence>
       
   445      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   446      <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   447      <xs:group ref="xs:attrDecls"/>
       
   448     </xs:sequence>
       
   449    </xs:restriction>
       
   450   </xs:complexContent>       
       
   451  </xs:complexType>
       
   452 
       
   453  <xs:complexType name="extensionType">
       
   454   <xs:complexContent>
       
   455    <xs:extension base="xs:annotated">
       
   456     <xs:sequence>
       
   457      <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
       
   458      <xs:group ref="xs:attrDecls"/>
       
   459     </xs:sequence>
       
   460     <xs:attribute name="base" type="xs:QName" use="required"/>
       
   461    </xs:extension>
       
   462   </xs:complexContent>       
       
   463  </xs:complexType>
       
   464 
       
   465  <xs:element name="complexContent" id="complexContent">
       
   466   <xs:annotation>
       
   467    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
       
   468   </xs:annotation>
       
   469   <xs:complexType>
       
   470    <xs:complexContent>
       
   471     <xs:extension base="xs:annotated">
       
   472      <xs:choice>
       
   473       <xs:element name="restriction" type="xs:complexRestrictionType"/>
       
   474       <xs:element name="extension" type="xs:extensionType"/>
       
   475      </xs:choice>     
       
   476      <xs:attribute name="mixed" type="xs:boolean">
       
   477       <xs:annotation>
       
   478        <xs:documentation>
       
   479        Overrides any setting on complexType parent.</xs:documentation>
       
   480       </xs:annotation>
       
   481     </xs:attribute>
       
   482     </xs:extension>
       
   483    </xs:complexContent>
       
   484   </xs:complexType>
       
   485  </xs:element>
       
   486 
       
   487  <xs:complexType name="simpleRestrictionType">
       
   488   <xs:complexContent>
       
   489    <xs:restriction base="xs:restrictionType">
       
   490     <xs:sequence>
       
   491      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   492      <xs:group ref="xs:simpleRestrictionModel" minOccurs="0"/>
       
   493      <xs:group ref="xs:attrDecls"/>
       
   494     </xs:sequence>
       
   495    </xs:restriction>
       
   496   </xs:complexContent>
       
   497  </xs:complexType>
       
   498 
       
   499  <xs:complexType name="simpleExtensionType">
       
   500   <xs:complexContent>
       
   501    <xs:restriction base="xs:extensionType">
       
   502     <xs:sequence>
       
   503      <xs:annotation>
       
   504       <xs:documentation>
       
   505       No typeDefParticle group reference</xs:documentation>
       
   506      </xs:annotation>
       
   507      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   508      <xs:group ref="xs:attrDecls"/>
       
   509     </xs:sequence>
       
   510    </xs:restriction>
       
   511   </xs:complexContent>
       
   512  </xs:complexType>
       
   513 
       
   514  <xs:element name="simpleContent" id="simpleContent">
       
   515   <xs:annotation>
       
   516    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
       
   517   </xs:annotation>
       
   518   <xs:complexType>
       
   519    <xs:complexContent>
       
   520     <xs:extension base="xs:annotated">
       
   521      <xs:choice>
       
   522       <xs:element name="restriction" type="xs:simpleRestrictionType"/>
       
   523       <xs:element name="extension" type="xs:simpleExtensionType"/>
       
   524      </xs:choice>
       
   525     </xs:extension>
       
   526    </xs:complexContent>
       
   527   </xs:complexType>
       
   528  </xs:element>
       
   529  
       
   530  <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
       
   531   <xs:annotation>
       
   532    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
       
   533   </xs:annotation>
       
   534  </xs:element>
       
   535 
       
   536 
       
   537   <xs:simpleType name="blockSet">
       
   538    <xs:annotation>
       
   539     <xs:documentation>
       
   540     A utility type, not for public use</xs:documentation>
       
   541     <xs:documentation>
       
   542     #all or (possibly empty) subset of {substitution, extension,
       
   543     restriction}</xs:documentation>
       
   544    </xs:annotation>
       
   545    <xs:union>
       
   546     <xs:simpleType>    
       
   547      <xs:restriction base="xs:token">
       
   548       <xs:enumeration value="#all"/>
       
   549      </xs:restriction>
       
   550     </xs:simpleType>
       
   551     <xs:simpleType>
       
   552      <xs:list>
       
   553       <xs:simpleType>
       
   554        <xs:restriction base="xs:derivationControl">
       
   555         <xs:enumeration value="extension"/>
       
   556         <xs:enumeration value="restriction"/>
       
   557         <xs:enumeration value="substitution"/>
       
   558        </xs:restriction>
       
   559       </xs:simpleType>
       
   560      </xs:list>
       
   561     </xs:simpleType>
       
   562    </xs:union>  
       
   563   </xs:simpleType>
       
   564 
       
   565  <xs:complexType name="element" abstract="true">
       
   566   <xs:annotation>
       
   567    <xs:documentation>
       
   568    The element element can be used either
       
   569    at the top level to define an element-type binding globally,
       
   570    or within a content model to either reference a globally-defined
       
   571    element or type or declare an element-type binding locally.
       
   572    The ref form is not allowed at the top level.</xs:documentation>
       
   573   </xs:annotation>
       
   574 
       
   575   <xs:complexContent>
       
   576    <xs:extension base="xs:annotated">
       
   577     <xs:sequence>
       
   578      <xs:choice minOccurs="0">
       
   579       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   580       <xs:element name="complexType" type="xs:localComplexType"/>
       
   581      </xs:choice>
       
   582      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   583     </xs:sequence>
       
   584     <xs:attributeGroup ref="xs:defRef"/>
       
   585     <xs:attribute name="type" type="xs:QName"/>
       
   586     <xs:attribute name="substitutionGroup" type="xs:QName"/>
       
   587     <xs:attributeGroup ref="xs:occurs"/>
       
   588     <xs:attribute name="default" type="xs:string"/>
       
   589     <xs:attribute name="fixed" type="xs:string"/>
       
   590     <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
       
   591     <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
       
   592     <xs:attribute name="final" type="xs:derivationSet"/>
       
   593     <xs:attribute name="block" type="xs:blockSet"/>
       
   594     <xs:attribute name="form" type="xs:formChoice"/>
       
   595    </xs:extension>
       
   596   </xs:complexContent>
       
   597  </xs:complexType>
       
   598  
       
   599  <xs:complexType name="topLevelElement">
       
   600   <xs:complexContent>
       
   601    <xs:restriction base="xs:element">
       
   602     <xs:sequence>
       
   603      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   604      <xs:choice minOccurs="0">
       
   605       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   606       <xs:element name="complexType" type="xs:localComplexType"/>
       
   607      </xs:choice>
       
   608      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   609     </xs:sequence>
       
   610     <xs:attribute name="ref" use="prohibited"/>
       
   611     <xs:attribute name="form" use="prohibited"/>
       
   612     <xs:attribute name="minOccurs" use="prohibited"/>
       
   613     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   614     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   615    </xs:restriction>
       
   616   </xs:complexContent>
       
   617  </xs:complexType>
       
   618  
       
   619  <xs:complexType name="localElement">
       
   620   <xs:complexContent>
       
   621    <xs:restriction base="xs:element">
       
   622     <xs:sequence>
       
   623      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   624      <xs:choice minOccurs="0">
       
   625       <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   626       <xs:element name="complexType" type="xs:localComplexType"/>
       
   627      </xs:choice>
       
   628      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   629     </xs:sequence>
       
   630     <xs:attribute name="substitutionGroup" use="prohibited"/>
       
   631     <xs:attribute name="final" use="prohibited"/>
       
   632     <xs:attribute name="abstract" use="prohibited"/>
       
   633    </xs:restriction>
       
   634   </xs:complexContent>
       
   635  </xs:complexType>
       
   636 
       
   637  <xs:element name="element" type="xs:topLevelElement" id="element">
       
   638   <xs:annotation>
       
   639    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
       
   640   </xs:annotation>
       
   641  </xs:element>
       
   642 
       
   643  <xs:complexType name="group" abstract="true">
       
   644   <xs:annotation>
       
   645    <xs:documentation>
       
   646    group type for explicit groups, named top-level groups and
       
   647    group references</xs:documentation>
       
   648   </xs:annotation>
       
   649   <xs:complexContent>
       
   650    <xs:extension base="xs:annotated">
       
   651     <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
       
   652     <xs:attributeGroup ref="xs:defRef"/>
       
   653     <xs:attributeGroup ref="xs:occurs"/>
       
   654    </xs:extension>
       
   655   </xs:complexContent>
       
   656  </xs:complexType>
       
   657  
       
   658  <xs:complexType name="realGroup">
       
   659   <xs:complexContent>
       
   660    <xs:restriction base="xs:group">
       
   661     <xs:sequence>
       
   662      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   663      <xs:choice minOccurs="0" maxOccurs="1">
       
   664       <xs:element ref="xs:all"/>
       
   665       <xs:element ref="xs:choice"/>
       
   666       <xs:element ref="xs:sequence"/>
       
   667      </xs:choice>
       
   668     </xs:sequence>
       
   669    </xs:restriction>
       
   670   </xs:complexContent>
       
   671  </xs:complexType>
       
   672 
       
   673  <xs:complexType name="namedGroup">
       
   674   <xs:annotation>
       
   675    <xs:documentation>Should derive this from realGroup, but too complicated 
       
   676                       for now</xs:documentation>
       
   677   </xs:annotation>
       
   678   <xs:sequence>
       
   679      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   680      <xs:choice minOccurs="1" maxOccurs="1">
       
   681       <xs:element name="all">
       
   682        <xs:complexType>
       
   683         <xs:complexContent>
       
   684          <xs:restriction base="xs:all">
       
   685           <xs:group ref="xs:allModel"/>
       
   686           <xs:attribute name="minOccurs" use="prohibited"/>
       
   687           <xs:attribute name="maxOccurs" use="prohibited"/>
       
   688          </xs:restriction>
       
   689         </xs:complexContent>
       
   690        </xs:complexType>
       
   691       </xs:element>
       
   692       <xs:element name="choice" type="xs:simpleExplicitGroup"/>
       
   693       <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
       
   694      </xs:choice>
       
   695     </xs:sequence>
       
   696     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   697     <xs:attribute name="ref" use="prohibited"/>
       
   698     <xs:attribute name="minOccurs" use="prohibited"/>
       
   699     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   700  </xs:complexType>
       
   701 
       
   702  <xs:complexType name="groupRef">
       
   703   <xs:complexContent>
       
   704    <xs:restriction base="xs:realGroup">
       
   705     <xs:sequence>
       
   706      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   707     </xs:sequence>
       
   708     <xs:attribute name="ref" use="required" type="xs:QName"/>
       
   709     <xs:attribute name="name" use="prohibited"/>
       
   710    </xs:restriction>
       
   711   </xs:complexContent>
       
   712  </xs:complexType>
       
   713 
       
   714  <xs:complexType name="explicitGroup">
       
   715   <xs:annotation>
       
   716    <xs:documentation>
       
   717    group type for the three kinds of group</xs:documentation>
       
   718   </xs:annotation>
       
   719   <xs:complexContent>
       
   720    <xs:restriction base="xs:group">
       
   721     <xs:sequence>
       
   722      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   723      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
       
   724     </xs:sequence>
       
   725     <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
       
   726     <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
       
   727    </xs:restriction>
       
   728   </xs:complexContent>
       
   729  </xs:complexType>
       
   730  
       
   731  <xs:complexType name="simpleExplicitGroup">
       
   732   <xs:complexContent>
       
   733    <xs:restriction base="xs:explicitGroup">
       
   734     <xs:sequence>
       
   735      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   736      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
       
   737     </xs:sequence>
       
   738     <xs:attribute name="minOccurs" use="prohibited"/>
       
   739     <xs:attribute name="maxOccurs" use="prohibited"/>
       
   740    </xs:restriction>
       
   741   </xs:complexContent>
       
   742  </xs:complexType>
       
   743  
       
   744  <xs:group name="allModel">
       
   745   <xs:sequence>
       
   746       <xs:element ref="xs:annotation" minOccurs="0"/>
       
   747       <xs:element name="element" minOccurs="0" maxOccurs="unbounded">
       
   748        <xs:complexType>
       
   749         <xs:annotation>
       
   750          <xs:documentation>restricted max/min</xs:documentation>
       
   751         </xs:annotation>
       
   752         <xs:complexContent>
       
   753          <xs:restriction base="xs:localElement">
       
   754           <xs:sequence>
       
   755            <xs:element ref="xs:annotation" minOccurs="0"/>
       
   756            <xs:choice minOccurs="0">
       
   757             <xs:element name="simpleType" type="xs:localSimpleType"/>
       
   758             <xs:element name="complexType" type="xs:localComplexType"/>
       
   759            </xs:choice>
       
   760            <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
       
   761           </xs:sequence>
       
   762           <xs:attribute name="minOccurs" use="optional" default="1">
       
   763            <xs:simpleType>
       
   764             <xs:restriction base="xs:nonNegativeInteger">
       
   765              <xs:enumeration value="0"/>
       
   766              <xs:enumeration value="1"/>
       
   767             </xs:restriction>
       
   768            </xs:simpleType>
       
   769           </xs:attribute>
       
   770           <xs:attribute name="maxOccurs" use="optional" default="1">
       
   771            <xs:simpleType>
       
   772             <xs:restriction base="xs:allNNI">
       
   773              <xs:enumeration value="0"/>
       
   774              <xs:enumeration value="1"/>
       
   775             </xs:restriction>
       
   776            </xs:simpleType>
       
   777           </xs:attribute>
       
   778          </xs:restriction>
       
   779         </xs:complexContent>
       
   780        </xs:complexType>    
       
   781       </xs:element>
       
   782      </xs:sequence>
       
   783  </xs:group>
       
   784 
       
   785   <xs:complexType name="all">
       
   786    <xs:annotation>
       
   787     <xs:documentation>
       
   788    Only elements allowed inside</xs:documentation>
       
   789    </xs:annotation>
       
   790    <xs:complexContent>
       
   791     <xs:restriction base="xs:explicitGroup">
       
   792      <xs:group ref="xs:allModel"/>
       
   793      <xs:attribute name="minOccurs" use="optional" default="1">
       
   794       <xs:simpleType>
       
   795        <xs:restriction base="xs:nonNegativeInteger">
       
   796         <xs:enumeration value="0"/>
       
   797         <xs:enumeration value="1"/>
       
   798        </xs:restriction>
       
   799       </xs:simpleType>
       
   800      </xs:attribute>
       
   801      <xs:attribute name="maxOccurs" use="optional" default="1">
       
   802       <xs:simpleType>
       
   803        <xs:restriction base="xs:allNNI">
       
   804         <xs:enumeration value="1"/>
       
   805        </xs:restriction>
       
   806       </xs:simpleType>
       
   807      </xs:attribute>
       
   808     </xs:restriction>
       
   809    </xs:complexContent>
       
   810   </xs:complexType>
       
   811 
       
   812  <xs:element name="all" id="all" type="xs:all">
       
   813   <xs:annotation>
       
   814    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
       
   815   </xs:annotation>
       
   816  </xs:element>
       
   817 
       
   818  <xs:element name="choice" type="xs:explicitGroup" id="choice">
       
   819   <xs:annotation>
       
   820    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
       
   821   </xs:annotation>
       
   822  </xs:element>
       
   823 
       
   824  <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
       
   825   <xs:annotation>
       
   826    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
       
   827   </xs:annotation>
       
   828  </xs:element>
       
   829 
       
   830  <xs:element name="group" type="xs:namedGroup" id="group">
       
   831   <xs:annotation>
       
   832    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
       
   833   </xs:annotation>
       
   834  </xs:element>
       
   835 
       
   836  <xs:complexType name="wildcard">
       
   837   <xs:complexContent>
       
   838    <xs:extension base="xs:annotated">
       
   839     <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
       
   840     <xs:attribute name="processContents" use="optional" default="strict">
       
   841      <xs:simpleType>
       
   842       <xs:restriction base="xs:NMTOKEN">
       
   843        <xs:enumeration value="skip"/>
       
   844        <xs:enumeration value="lax"/>
       
   845        <xs:enumeration value="strict"/>
       
   846       </xs:restriction>
       
   847      </xs:simpleType>
       
   848     </xs:attribute>
       
   849    </xs:extension>
       
   850   </xs:complexContent>
       
   851  </xs:complexType>
       
   852 
       
   853  <xs:element name="any" id="any">
       
   854   <xs:annotation>
       
   855    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
       
   856   </xs:annotation>
       
   857   <xs:complexType>
       
   858    <xs:complexContent>
       
   859     <xs:extension base="xs:wildcard">
       
   860      <xs:attributeGroup ref="xs:occurs"/>
       
   861     </xs:extension>
       
   862    </xs:complexContent>
       
   863   </xs:complexType>
       
   864  </xs:element>
       
   865 
       
   866   <xs:annotation>
       
   867    <xs:documentation>
       
   868    simple type for the value of the 'namespace' attr of
       
   869    'any' and 'anyAttribute'</xs:documentation>
       
   870   </xs:annotation>
       
   871   <xs:annotation>
       
   872    <xs:documentation>
       
   873    Value is
       
   874               ##any      - - any non-conflicting WFXML/attribute at all
       
   875 
       
   876               ##other    - - any non-conflicting WFXML/attribute from
       
   877                               namespace other than targetNS
       
   878 
       
   879               ##local    - - any unqualified non-conflicting WFXML/attribute 
       
   880 
       
   881               one or     - - any non-conflicting WFXML/attribute from
       
   882               more URI        the listed namespaces
       
   883               references
       
   884               (space separated)
       
   885 
       
   886     ##targetNamespace or ##local may appear in the above list, to
       
   887         refer to the targetNamespace of the enclosing
       
   888         schema or an absent targetNamespace respectively</xs:documentation>
       
   889   </xs:annotation>
       
   890 
       
   891  <xs:simpleType name="namespaceList">
       
   892   <xs:annotation>
       
   893    <xs:documentation>
       
   894    A utility type, not for public use</xs:documentation>
       
   895   </xs:annotation>
       
   896   <xs:union>
       
   897    <xs:simpleType>
       
   898     <xs:restriction base="xs:token">
       
   899      <xs:enumeration value="##any"/>
       
   900      <xs:enumeration value="##other"/>
       
   901     </xs:restriction>
       
   902    </xs:simpleType>
       
   903    <xs:simpleType>
       
   904     <xs:list>
       
   905      <xs:simpleType>
       
   906       <xs:union memberTypes="xs:anyURI">
       
   907        <xs:simpleType>
       
   908         <xs:restriction base="xs:token">
       
   909          <xs:enumeration value="##targetNamespace"/>
       
   910          <xs:enumeration value="##local"/>
       
   911         </xs:restriction>
       
   912        </xs:simpleType>
       
   913       </xs:union>
       
   914      </xs:simpleType>
       
   915     </xs:list>
       
   916    </xs:simpleType>
       
   917   </xs:union>
       
   918  </xs:simpleType>
       
   919 
       
   920  <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
       
   921   <xs:annotation>
       
   922    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
       
   923   </xs:annotation>
       
   924  </xs:element>
       
   925 
       
   926  <xs:complexType name="attributeGroup" abstract="true">
       
   927   <xs:complexContent>
       
   928    <xs:extension base="xs:annotated">
       
   929     <xs:group ref="xs:attrDecls"/>
       
   930     <xs:attributeGroup ref="xs:defRef"/>
       
   931    </xs:extension>
       
   932   </xs:complexContent>
       
   933  </xs:complexType>
       
   934  
       
   935  <xs:complexType name="namedAttributeGroup">
       
   936   <xs:complexContent>
       
   937    <xs:restriction base="xs:attributeGroup">
       
   938     <xs:sequence>
       
   939      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   940      <xs:group ref="xs:attrDecls"/>
       
   941     </xs:sequence>
       
   942     <xs:attribute name="name" use="required" type="xs:NCName"/>
       
   943     <xs:attribute name="ref" use="prohibited"/>
       
   944    </xs:restriction>
       
   945   </xs:complexContent>
       
   946  </xs:complexType>
       
   947 
       
   948  <xs:complexType name="attributeGroupRef">
       
   949   <xs:complexContent>
       
   950    <xs:restriction base="xs:attributeGroup">
       
   951     <xs:sequence>
       
   952      <xs:element ref="xs:annotation" minOccurs="0"/>
       
   953     </xs:sequence>
       
   954     <xs:attribute name="ref" use="required" type="xs:QName"/>
       
   955     <xs:attribute name="name" use="prohibited"/>
       
   956    </xs:restriction>
       
   957   </xs:complexContent>
       
   958  </xs:complexType>
       
   959 
       
   960  <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
       
   961   <xs:annotation>
       
   962    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
       
   963   </xs:annotation>
       
   964  </xs:element>
       
   965 
       
   966  <xs:element name="include" id="include">
       
   967   <xs:annotation>
       
   968    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
       
   969   </xs:annotation>
       
   970   <xs:complexType>
       
   971    <xs:complexContent>
       
   972     <xs:extension base="xs:annotated">
       
   973      <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
       
   974     </xs:extension>
       
   975    </xs:complexContent>
       
   976   </xs:complexType>
       
   977  </xs:element>
       
   978 
       
   979  <xs:element name="redefine" id="redefine">
       
   980   <xs:annotation>
       
   981    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
       
   982   </xs:annotation>
       
   983   <xs:complexType>
       
   984    <xs:complexContent>
       
   985     <xs:extension base="xs:openAttrs">
       
   986      <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   987       <xs:element ref="xs:annotation"/>
       
   988       <xs:group ref="xs:redefinable"/>
       
   989      </xs:choice>
       
   990      <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
       
   991      <xs:attribute name="id" type="xs:ID"/>
       
   992     </xs:extension>
       
   993    </xs:complexContent>
       
   994   </xs:complexType>
       
   995  </xs:element>
       
   996 
       
   997  <xs:element name="import" id="import">
       
   998   <xs:annotation>
       
   999    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
       
  1000   </xs:annotation>
       
  1001   <xs:complexType>
       
  1002    <xs:complexContent>
       
  1003     <xs:extension base="xs:annotated">
       
  1004      <xs:attribute name="namespace" type="xs:anyURI"/>
       
  1005      <xs:attribute name="schemaLocation" type="xs:anyURI"/>
       
  1006     </xs:extension>
       
  1007    </xs:complexContent>
       
  1008   </xs:complexType>
       
  1009  </xs:element>
       
  1010 
       
  1011  <xs:element name="selector" id="selector">
       
  1012   <xs:annotation>
       
  1013    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
       
  1014   </xs:annotation>
       
  1015   <xs:complexType>
       
  1016   <xs:complexContent>
       
  1017    <xs:extension base="xs:annotated">
       
  1018      <xs:attribute name="xpath" use="required">
       
  1019       <xs:simpleType>
       
  1020        <xs:annotation>
       
  1021         <xs:documentation>A subset of XPath expressions for use
       
  1022 in selectors</xs:documentation>
       
  1023         <xs:documentation>A utility type, not for public
       
  1024 use</xs:documentation>
       
  1025        </xs:annotation>
       
  1026        <xs:restriction base="xs:token">
       
  1027         <xs:annotation>
       
  1028          <xs:documentation>The following pattern is intended to allow XPath
       
  1029                            expressions per the following EBNF:
       
  1030 	  Selector    ::=    Path ( '|' Path )*  
       
  1031 	  Path    ::=    ('.//')? Step ( '/' Step )*  
       
  1032 	  Step    ::=    '.' | NameTest  
       
  1033 	  NameTest    ::=    QName | '*' | NCName ':' '*'  
       
  1034                            child:: is also allowed
       
  1035          </xs:documentation>
       
  1036         </xs:annotation>
       
  1037         <xs:pattern value="(\.//)?(((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)(/(((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.))*(\|(\.//)?(((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)(/(((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]/*|\*)))|\.))*)*">
       
  1038         </xs:pattern>
       
  1039        </xs:restriction>
       
  1040       </xs:simpleType>
       
  1041      </xs:attribute>
       
  1042    </xs:extension>
       
  1043   </xs:complexContent>
       
  1044  </xs:complexType>
       
  1045  </xs:element>
       
  1046 
       
  1047  <xs:element name="field" id="field">
       
  1048   <xs:annotation>
       
  1049    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
       
  1050   </xs:annotation>
       
  1051   <xs:complexType>
       
  1052   <xs:complexContent>
       
  1053    <xs:extension base="xs:annotated">
       
  1054      <xs:attribute name="xpath" use="required">
       
  1055       <xs:simpleType>
       
  1056        <xs:annotation>
       
  1057         <xs:documentation>A subset of XPath expressions for use
       
  1058 in fields</xs:documentation>
       
  1059         <xs:documentation>A utility type, not for public
       
  1060 use</xs:documentation>
       
  1061        </xs:annotation>
       
  1062        <xs:restriction base="xs:token">
       
  1063         <xs:annotation>
       
  1064          <xs:documentation>The following pattern is intended to allow XPath
       
  1065                            expressions per the same EBNF as for selector,
       
  1066                            with the following change:
       
  1067           Path    ::=    ('.//')? ( Step '/' )* ( Step | '@' NameTest ) 
       
  1068          </xs:documentation>
       
  1069         </xs:annotation>
       
  1070         <xs:pattern value="(\.//)?((((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)/)*((((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)|((attribute::|@)(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*))))(\|(\.//)?((((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)/)*((((child::)?(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))|\.)|((attribute::|@)(([a-zA-z_:][\w.\-:]*:)?([a-zA-z_:][\w.\-:]*|\*)))))*">
       
  1071         </xs:pattern>
       
  1072        </xs:restriction>
       
  1073       </xs:simpleType>
       
  1074      </xs:attribute>
       
  1075    </xs:extension>
       
  1076   </xs:complexContent>
       
  1077  </xs:complexType>
       
  1078  </xs:element>
       
  1079 
       
  1080  <xs:complexType name="keybase">
       
  1081   <xs:complexContent>
       
  1082    <xs:extension base="xs:annotated">
       
  1083     <xs:sequence>
       
  1084      <xs:element ref="xs:selector"/>
       
  1085      <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
       
  1086     </xs:sequence>
       
  1087     <xs:attribute name="name" type="xs:NCName" use="required"/>
       
  1088    </xs:extension>
       
  1089   </xs:complexContent>
       
  1090  </xs:complexType>
       
  1091 
       
  1092  <xs:group name="identityConstraint">
       
  1093   <xs:annotation>
       
  1094    <xs:documentation>The three kinds of identity constraints, all with
       
  1095                      type of or derived from 'keybase'.
       
  1096    </xs:documentation>
       
  1097   </xs:annotation>
       
  1098   <xs:choice>
       
  1099    <xs:element ref="xs:unique"/>
       
  1100    <xs:element ref="xs:key"/>
       
  1101    <xs:element ref="xs:keyref"/>
       
  1102   </xs:choice>
       
  1103  </xs:group>
       
  1104 
       
  1105  <xs:element name="unique" type="xs:keybase" id="unique">
       
  1106   <xs:annotation>
       
  1107    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
       
  1108   </xs:annotation>
       
  1109  </xs:element>
       
  1110  <xs:element name="key" type="xs:keybase" id="key">
       
  1111   <xs:annotation>
       
  1112    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
       
  1113   </xs:annotation>
       
  1114  </xs:element>
       
  1115  <xs:element name="keyref" id="keyref">
       
  1116   <xs:annotation>
       
  1117    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
       
  1118   </xs:annotation>
       
  1119   <xs:complexType>
       
  1120    <xs:complexContent>
       
  1121     <xs:extension base="xs:keybase">
       
  1122      <xs:attribute name="refer" type="xs:QName" use="required"/>
       
  1123     </xs:extension>
       
  1124    </xs:complexContent>
       
  1125   </xs:complexType>
       
  1126  </xs:element>
       
  1127 
       
  1128  <xs:element name="notation" id="notation">
       
  1129   <xs:annotation>
       
  1130    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
       
  1131   </xs:annotation>
       
  1132   <xs:complexType>
       
  1133    <xs:complexContent>
       
  1134     <xs:extension base="xs:annotated">
       
  1135      <xs:attribute name="name" type="xs:NCName" use="required"/>
       
  1136      <xs:attribute name="public" type="xs:public" use="required"/>
       
  1137      <xs:attribute name="system" type="xs:anyURI"/>
       
  1138     </xs:extension>
       
  1139    </xs:complexContent>
       
  1140   </xs:complexType>
       
  1141  </xs:element>
       
  1142 
       
  1143  <xs:simpleType name="public">
       
  1144   <xs:annotation>
       
  1145    <xs:documentation>
       
  1146    A utility type, not for public use</xs:documentation>
       
  1147    <xs:documentation>
       
  1148    A public identifier, per ISO 8879</xs:documentation>
       
  1149   </xs:annotation>
       
  1150   <xs:restriction base="xs:token"/>
       
  1151  </xs:simpleType>
       
  1152 
       
  1153  <xs:element name="appinfo" id="appinfo">
       
  1154    <xs:annotation>
       
  1155      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
       
  1156    </xs:annotation>
       
  1157    <xs:complexType mixed="true">
       
  1158      <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
  1159        <xs:any processContents="lax"/>
       
  1160      </xs:sequence>
       
  1161      <xs:attribute name="source" type="xs:anyURI"/>
       
  1162    </xs:complexType>
       
  1163  </xs:element>
       
  1164 
       
  1165  <xs:element name="documentation" id="documentation">
       
  1166    <xs:annotation>
       
  1167      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
       
  1168    </xs:annotation>
       
  1169    <xs:complexType mixed="true">
       
  1170      <xs:sequence minOccurs="0" maxOccurs="unbounded">
       
  1171        <xs:any processContents="lax"/>
       
  1172      </xs:sequence>
       
  1173      <xs:attribute name="source" type="xs:anyURI"/>
       
  1174      <xs:attribute ref="xml:lang"/>
       
  1175    </xs:complexType>
       
  1176  </xs:element>
       
  1177 
       
  1178  <xs:element name="annotation" id="annotation">
       
  1179    <xs:annotation>
       
  1180      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
       
  1181    </xs:annotation>
       
  1182    <xs:complexType>
       
  1183     <xs:complexContent>
       
  1184      <xs:extension base="xs:openAttrs">
       
  1185       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
  1186        <xs:element ref="xs:appinfo"/>
       
  1187        <xs:element ref="xs:documentation"/>
       
  1188       </xs:choice>
       
  1189       <xs:attribute name="id" type="xs:ID"/>
       
  1190      </xs:extension>
       
  1191     </xs:complexContent>
       
  1192    </xs:complexType>
       
  1193  </xs:element>
       
  1194 
       
  1195  <xs:annotation>
       
  1196   <xs:documentation>
       
  1197    notations for use within XML Schema schemas</xs:documentation>
       
  1198  </xs:annotation>
       
  1199 
       
  1200  <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
       
  1201  <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
       
  1202  
       
  1203  <xs:complexType name="anyType" mixed="true">
       
  1204   <xs:annotation>
       
  1205    <xs:documentation>
       
  1206    Not the real urType, but as close an approximation as we can
       
  1207    get in the XML representation</xs:documentation>
       
  1208   </xs:annotation>
       
  1209   <xs:sequence>
       
  1210    <xs:any minOccurs="0" maxOccurs="unbounded"/>
       
  1211   </xs:sequence>
       
  1212   <xs:anyAttribute/>
       
  1213  </xs:complexType>
       
  1214 
       
  1215 </xs:schema>
       
  1216 
       
  1217