"Fossies" - the Fresh Open Source Software Archive

Member "xmlschema.xsd" (1 Sep 2001, 26163 Bytes) of package /linux/privat/old/dtd2xs154.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 <?xml version="1.0"?>
    2 
    3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    4   <xs:simpleType name="URIref">
    5     <xs:restriction base="CDATA" />
    6   </xs:simpleType>
    7   <xs:simpleType name="XPathExpr">
    8     <xs:restriction base="CDATA" />
    9   </xs:simpleType>
   10   <xs:simpleType name="simpleDerivationSet">
   11     <xs:restriction base="CDATA" />
   12   </xs:simpleType>
   13   <xs:simpleType name="complexDerivationSet">
   14     <xs:restriction base="CDATA" />
   15   </xs:simpleType>
   16   <xs:simpleType name="blockSet">
   17     <xs:restriction base="CDATA" />
   18   </xs:simpleType>
   19   <xs:simpleType name="formValues">
   20     <xs:restriction base="xs:string">
   21       <xs:enumeration value="qualified" />
   22       <xs:enumeration value="unqualified" />
   23     </xs:restriction>
   24   </xs:simpleType>
   25   <xs:group name="cs">
   26     <xs:choice>
   27       <xs:element ref="choice" />
   28       <xs:element ref="sequence" />
   29     </xs:choice>
   30   </xs:group>
   31   <xs:group name="particleAndAttrs">
   32     <xs:sequence>
   33       <xs:choice minOccurs="0">
   34         <xs:element ref="all" />
   35         <xs:element ref="choice" />
   36         <xs:element ref="sequence" />
   37         <xs:element ref="group" />
   38       </xs:choice>
   39       <xs:sequence>
   40         <xs:choice minOccurs="0" maxOccurs="unbounded">
   41           <xs:element ref="attribute" />
   42           <xs:element ref="attributeGroup" />
   43         </xs:choice>
   44         <xs:sequence minOccurs="0">
   45           <xs:element ref="anyAttribute" />
   46         </xs:sequence>
   47       </xs:sequence>
   48     </xs:sequence>
   49   </xs:group>
   50   <xs:group name="restriction1">
   51     <xs:choice minOccurs="0">
   52       <xs:element ref="all" />
   53       <xs:element ref="choice" />
   54       <xs:element ref="sequence" />
   55       <xs:element ref="group" />
   56     </xs:choice>
   57   </xs:group>
   58   <xs:attributeGroup name="facetAttr">
   59     <xs:attribute name="value" type="xs:string" use="required" />
   60     <xs:attribute name="id" type="xs:ID" />
   61   </xs:attributeGroup>
   62   <xs:attributeGroup name="fixedAttr">
   63     <xs:attribute name="fixed">
   64       <xs:simpleType>
   65         <xs:restriction base="xs:string">
   66           <xs:enumeration value="true" />
   67           <xs:enumeration value="false" />
   68         </xs:restriction>
   69       </xs:simpleType>
   70     </xs:attribute>
   71   </xs:attributeGroup>
   72   <xs:element name="simpleType">
   73     <xs:annotation><xs:documentation xml:lang="en">Defines constraints for a plain text that can be used for both XML element content (&lt;simpleContent&gt;) and XML attribute value.</xs:documentation></xs:annotation>
   74     <xs:complexType>
   75       <xs:sequence>
   76         <xs:element ref="annotation" minOccurs="0" />
   77         <xs:choice>
   78           <xs:element ref="restriction" />
   79           <xs:element ref="list" />
   80           <xs:element ref="union" />
   81         </xs:choice>
   82       </xs:sequence>
   83       <xs:attribute name="name" type="xs:NMTOKEN" />
   84       <xs:attribute name="final" type="simpleDerivationSet" />
   85       <xs:attribute name="id" type="xs:ID" />
   86     </xs:complexType>
   87   </xs:element>
   88   <xs:element name="restriction">
   89     <xs:annotation><xs:documentation xml:lang="en">Primarily used to put constraints onto a plain text. The restriction of an XML element's &lt;complexContent&gt; (nested elements) requires the repetition of all definitions that remain unchanged.</xs:documentation></xs:annotation>
   90     <xs:complexType>
   91       <xs:sequence>
   92         <xs:element ref="annotation" minOccurs="0" />
   93         <xs:choice>
   94           <xs:group ref="restriction1" />
   95           <xs:sequence>
   96             <xs:element ref="simpleType" minOccurs="0" />
   97             <xs:choice minOccurs="0" maxOccurs="unbounded">
   98               <xs:choice>
   99                 <xs:element ref="minInclusive" />
  100                 <xs:element ref="minExclusive" />
  101               </xs:choice>
  102               <xs:choice>
  103                 <xs:element ref="maxInclusive" />
  104                 <xs:element ref="maxExclusive" />
  105               </xs:choice>
  106               <xs:element ref="totalDigits" />
  107               <xs:element ref="fractionDigits" />
  108               <xs:element ref="pattern" />
  109               <xs:element ref="enumeration" />
  110               <xs:element ref="whiteSpace" />
  111               <xs:element ref="length" />
  112               <xs:element ref="maxLength" />
  113               <xs:element ref="minLength" />
  114             </xs:choice>
  115           </xs:sequence>
  116         </xs:choice>
  117         <xs:group ref="attrDecl" />
  118       </xs:sequence>
  119       <xs:attribute name="base" type="xs:NMTOKEN" />
  120       <xs:attribute name="id" type="xs:ID" />
  121     </xs:complexType>
  122   </xs:element>
  123   <xs:element name="list">
  124     <xs:annotation><xs:documentation xml:lang="en">Defines a list of text/plain items where each item complies with the same constraints (&lt;simpleType&gt;). The items are delimited by white space, i.e. the items must not contain space characters.</xs:documentation></xs:annotation>
  125     <xs:complexType>
  126       <xs:sequence>
  127         <xs:element ref="annotation" minOccurs="0" />
  128         <xs:element ref="simpleType" minOccurs="0" />
  129       </xs:sequence>
  130       <xs:attribute name="itemType" type="xs:NMTOKEN" />
  131       <xs:attribute name="id" type="xs:ID" />
  132     </xs:complexType>
  133   </xs:element>
  134   <xs:element name="union">
  135     <xs:annotation><xs:documentation xml:lang="en">Defines a text/plain item with an alternative set of constraints (&lt;simpleType&gt;).</xs:documentation></xs:annotation>
  136     <xs:complexType>
  137       <xs:sequence>
  138         <xs:element ref="annotation" minOccurs="0" />
  139         <xs:element ref="simpleType" minOccurs="0" maxOccurs="unbounded" />
  140       </xs:sequence>
  141       <xs:attribute name="id" type="xs:ID" />
  142       <xs:attribute name="memberTypes" type="xs:NMTOKENS" />
  143     </xs:complexType>
  144   </xs:element>
  145   <xs:element name="maxExclusive">
  146     <xs:complexType>
  147       <xs:sequence minOccurs="0">
  148         <xs:element ref="annotation" />
  149       </xs:sequence>
  150       <xs:attributeGroup ref="facetAttr" />
  151       <xs:attributeGroup ref="fixedAttr" />
  152     </xs:complexType>
  153   </xs:element>
  154   <xs:element name="minExclusive">
  155     <xs:complexType>
  156       <xs:sequence minOccurs="0">
  157         <xs:element ref="annotation" />
  158       </xs:sequence>
  159       <xs:attributeGroup ref="facetAttr" />
  160       <xs:attributeGroup ref="fixedAttr" />
  161     </xs:complexType>
  162   </xs:element>
  163   <xs:element name="maxInclusive">
  164     <xs:complexType>
  165       <xs:sequence minOccurs="0">
  166         <xs:element ref="annotation" />
  167       </xs:sequence>
  168       <xs:attributeGroup ref="facetAttr" />
  169       <xs:attributeGroup ref="fixedAttr" />
  170     </xs:complexType>
  171   </xs:element>
  172   <xs:element name="minInclusive">
  173     <xs:complexType>
  174       <xs:sequence minOccurs="0">
  175         <xs:element ref="annotation" />
  176       </xs:sequence>
  177       <xs:attributeGroup ref="facetAttr" />
  178       <xs:attributeGroup ref="fixedAttr" />
  179     </xs:complexType>
  180   </xs:element>
  181   <xs:element name="totalDigits">
  182     <xs:complexType>
  183       <xs:sequence minOccurs="0">
  184         <xs:element ref="annotation" />
  185       </xs:sequence>
  186       <xs:attributeGroup ref="facetAttr" />
  187       <xs:attributeGroup ref="fixedAttr" />
  188     </xs:complexType>
  189   </xs:element>
  190   <xs:element name="fractionDigits">
  191     <xs:complexType>
  192       <xs:sequence minOccurs="0">
  193         <xs:element ref="annotation" />
  194       </xs:sequence>
  195       <xs:attributeGroup ref="facetAttr" />
  196       <xs:attributeGroup ref="fixedAttr" />
  197     </xs:complexType>
  198   </xs:element>
  199   <xs:element name="length">
  200     <xs:complexType>
  201       <xs:sequence minOccurs="0">
  202         <xs:element ref="annotation" />
  203       </xs:sequence>
  204       <xs:attributeGroup ref="facetAttr" />
  205       <xs:attributeGroup ref="fixedAttr" />
  206     </xs:complexType>
  207   </xs:element>
  208   <xs:element name="minLength">
  209     <xs:complexType>
  210       <xs:sequence minOccurs="0">
  211         <xs:element ref="annotation" />
  212       </xs:sequence>
  213       <xs:attributeGroup ref="facetAttr" />
  214       <xs:attributeGroup ref="fixedAttr" />
  215     </xs:complexType>
  216   </xs:element>
  217   <xs:element name="maxLength">
  218     <xs:complexType>
  219       <xs:sequence minOccurs="0">
  220         <xs:element ref="annotation" />
  221       </xs:sequence>
  222       <xs:attributeGroup ref="facetAttr" />
  223       <xs:attributeGroup ref="fixedAttr" />
  224     </xs:complexType>
  225   </xs:element>
  226   <xs:element name="enumeration">
  227     <xs:complexType>
  228       <xs:sequence minOccurs="0">
  229         <xs:element ref="annotation" />
  230       </xs:sequence>
  231       <xs:attributeGroup ref="facetAttr" />
  232     </xs:complexType>
  233   </xs:element>
  234   <xs:element name="whiteSpace">
  235     <xs:complexType>
  236       <xs:sequence minOccurs="0">
  237         <xs:element ref="annotation" />
  238       </xs:sequence>
  239       <xs:attributeGroup ref="facetAttr" />
  240       <xs:attributeGroup ref="fixedAttr" />
  241     </xs:complexType>
  242   </xs:element>
  243   <xs:element name="pattern">
  244     <xs:complexType>
  245       <xs:sequence minOccurs="0">
  246         <xs:element ref="annotation" />
  247       </xs:sequence>
  248       <xs:attributeGroup ref="facetAttr" />
  249     </xs:complexType>
  250   </xs:element>
  251   <xs:element name="schema">
  252     <xs:annotation><xs:documentation xml:lang="en">Document element of the XML schema.</xs:documentation></xs:annotation>
  253     <xs:complexType>
  254       <xs:sequence>
  255         <xs:choice minOccurs="0" maxOccurs="unbounded">
  256           <xs:element ref="include" />
  257           <xs:element ref="import" />
  258           <xs:element ref="redefine" />
  259           <xs:element ref="annotation" />
  260         </xs:choice>
  261         <xs:sequence minOccurs="0" maxOccurs="unbounded">
  262           <xs:choice>
  263             <xs:element ref="simpleType" />
  264             <xs:element ref="complexType" />
  265             <xs:element ref="element" />
  266             <xs:element ref="attribute" />
  267             <xs:element ref="attributeGroup" />
  268             <xs:element ref="group" />
  269             <xs:element ref="notation" />
  270           </xs:choice>
  271           <xs:element ref="annotation" minOccurs="0" maxOccurs="unbounded" />
  272         </xs:sequence>
  273       </xs:sequence>
  274       <xs:attribute name="targetNamespace" type="URIref" />
  275       <xs:attribute name="version" type="xs:string" />
  276       <xs:attribute name="xmlns" type="URIref" fixed="http://www.w3.org/2001/XMLSchema" />
  277       <xs:attribute name="xmlns" type="xs:string" />
  278       <xs:attribute name="finalDefault" type="complexDerivationSet" default="" />
  279       <xs:attribute name="blockDefault" type="blockSet" default="" />
  280       <xs:attribute name="id" type="xs:ID" />
  281       <xs:attribute name="elementFormDefault" type="formValues" default="unqualified" />
  282       <xs:attribute name="attributeFormDefault" type="formValues" default="unqualified" />
  283       <xs:attribute name="xml:lang" type="xs:string" />
  284     </xs:complexType>
  285   </xs:element>
  286   <xs:element name="complexType">
  287     <xs:annotation><xs:documentation xml:lang="en">Defines attributes and content of an XML element.</xs:documentation></xs:annotation>
  288     <xs:complexType>
  289       <xs:sequence>
  290         <xs:element ref="annotation" minOccurs="0" />
  291         <xs:choice>
  292           <xs:element ref="simpleContent" />
  293           <xs:element ref="complexContent" />
  294           <xs:group ref="particleAndAttrs" />
  295         </xs:choice>
  296       </xs:sequence>
  297       <xs:attribute name="name" type="xs:NMTOKEN" />
  298       <xs:attribute name="id" type="xs:ID" />
  299       <xs:attribute name="abstract">
  300         <xs:simpleType>
  301           <xs:restriction base="xs:string">
  302             <xs:enumeration value="true" />
  303             <xs:enumeration value="false" />
  304           </xs:restriction>
  305         </xs:simpleType>
  306       </xs:attribute>
  307       <xs:attribute name="final" type="complexDerivationSet" />
  308       <xs:attribute name="block" type="complexDerivationSet" />
  309       <xs:attribute name="mixed" default="false">
  310         <xs:simpleType>
  311           <xs:restriction base="xs:string">
  312             <xs:enumeration value="true" />
  313             <xs:enumeration value="false" />
  314           </xs:restriction>
  315         </xs:simpleType>
  316       </xs:attribute>
  317     </xs:complexType>
  318   </xs:element>
  319   <xs:element name="complexContent">
  320     <xs:annotation><xs:documentation xml:lang="en">Defines an XML element content with nested elements (text/xml).</xs:documentation></xs:annotation>
  321     <xs:complexType>
  322       <xs:choice>
  323         <xs:element ref="restriction" />
  324         <xs:element ref="extension" />
  325       </xs:choice>
  326       <xs:attribute name="mixed">
  327         <xs:simpleType>
  328           <xs:restriction base="xs:string">
  329             <xs:enumeration value="true" />
  330             <xs:enumeration value="false" />
  331           </xs:restriction>
  332         </xs:simpleType>
  333       </xs:attribute>
  334       <xs:attribute name="id" type="xs:ID" />
  335     </xs:complexType>
  336   </xs:element>
  337   <xs:element name="simpleContent">
  338     <xs:annotation><xs:documentation xml:lang="en">Defines an XML element content without nested elements (text/plain).</xs:documentation></xs:annotation>
  339     <xs:complexType>
  340       <xs:choice>
  341         <xs:element ref="restriction" />
  342         <xs:element ref="extension" />
  343       </xs:choice>
  344       <xs:attribute name="id" type="xs:ID" />
  345     </xs:complexType>
  346   </xs:element>
  347   <xs:element name="extension">
  348     <xs:annotation><xs:documentation xml:lang="en">Add XML attributes to a given &lt;simpleType&gt; or &lt;complexType&gt;. Add XML elements to a given &lt;complexType&gt; (sequence between old and new).</xs:documentation></xs:annotation>
  349     <xs:complexType>
  350       <xs:group ref="particleAndAttrs" />
  351       <xs:attribute name="base" type="xs:NMTOKEN" use="required" />
  352       <xs:attribute name="id" type="xs:ID" />
  353     </xs:complexType>
  354   </xs:element>
  355   <xs:element name="element">
  356     <xs:annotation><xs:documentation xml:lang="en">Defines an XML element.</xs:documentation></xs:annotation>
  357     <xs:complexType>
  358       <xs:sequence>
  359         <xs:element ref="annotation" minOccurs="0" />
  360         <xs:choice minOccurs="0">
  361           <xs:element ref="complexType" />
  362           <xs:element ref="simpleType" />
  363         </xs:choice>
  364         <xs:choice minOccurs="0" maxOccurs="unbounded">
  365           <xs:element ref="unique" />
  366           <xs:element ref="key" />
  367           <xs:element ref="keyref" />
  368         </xs:choice>
  369       </xs:sequence>
  370       <xs:attribute name="name" type="xs:NMTOKEN" />
  371       <xs:attribute name="id" type="xs:ID" />
  372       <xs:attribute name="ref" type="xs:NMTOKEN" />
  373       <xs:attribute name="type" type="xs:NMTOKEN" />
  374       <xs:attribute name="minOccurs" type="xs:NMTOKEN" />
  375       <xs:attribute name="maxOccurs" type="xs:string" />
  376       <xs:attribute name="nillable">
  377         <xs:simpleType>
  378           <xs:restriction base="xs:string">
  379             <xs:enumeration value="true" />
  380             <xs:enumeration value="false" />
  381           </xs:restriction>
  382         </xs:simpleType>
  383       </xs:attribute>
  384       <xs:attribute name="substitutionGroup" type="xs:NMTOKEN" />
  385       <xs:attribute name="abstract">
  386         <xs:simpleType>
  387           <xs:restriction base="xs:string">
  388             <xs:enumeration value="true" />
  389             <xs:enumeration value="false" />
  390           </xs:restriction>
  391         </xs:simpleType>
  392       </xs:attribute>
  393       <xs:attribute name="final" type="complexDerivationSet" />
  394       <xs:attribute name="block" type="blockSet" />
  395       <xs:attribute name="default" type="xs:string" />
  396       <xs:attribute name="fixed" type="xs:string" />
  397       <xs:attribute name="form" type="formValues" />
  398     </xs:complexType>
  399   </xs:element>
  400   <xs:element name="group">
  401     <xs:annotation><xs:documentation xml:lang="en">Defines or refers to a named &lt;sequence&gt; or &lt;choice&gt;.</xs:documentation></xs:annotation>
  402     <xs:complexType>
  403       <xs:sequence>
  404         <xs:element ref="annotation" minOccurs="0" />
  405         <xs:choice minOccurs="0">
  406           <xs:element ref="all" />
  407           <xs:element ref="choice" />
  408           <xs:element ref="sequence" />
  409         </xs:choice>
  410       </xs:sequence>
  411       <xs:attribute name="name" type="xs:NMTOKEN" />
  412       <xs:attribute name="ref" type="xs:NMTOKEN" />
  413       <xs:attribute name="minOccurs" type="xs:NMTOKEN" />
  414       <xs:attribute name="maxOccurs" type="xs:string" />
  415       <xs:attribute name="id" type="xs:ID" />
  416     </xs:complexType>
  417   </xs:element>
  418   <xs:element name="all">
  419     <xs:annotation><xs:documentation xml:lang="en">Elements may appear in any order. No element may appear more than once.</xs:documentation></xs:annotation>
  420     <xs:complexType>
  421       <xs:sequence>
  422         <xs:element ref="annotation" minOccurs="0" />
  423         <xs:element ref="element" minOccurs="0" maxOccurs="unbounded" />
  424       </xs:sequence>
  425       <xs:attribute name="minOccurs">
  426         <xs:simpleType>
  427           <xs:restriction base="xs:string">
  428             <xs:enumeration value="1" />
  429           </xs:restriction>
  430         </xs:simpleType>
  431       </xs:attribute>
  432       <xs:attribute name="maxOccurs">
  433         <xs:simpleType>
  434           <xs:restriction base="xs:string">
  435             <xs:enumeration value="1" />
  436           </xs:restriction>
  437         </xs:simpleType>
  438       </xs:attribute>
  439       <xs:attribute name="id" type="xs:ID" />
  440     </xs:complexType>
  441   </xs:element>
  442   <xs:element name="choice">
  443     <xs:annotation><xs:documentation xml:lang="en">Defines a set of alternative XML elements.</xs:documentation></xs:annotation>
  444     <xs:complexType>
  445       <xs:sequence>
  446         <xs:element ref="annotation" minOccurs="0" />
  447         <xs:choice minOccurs="0" maxOccurs="unbounded">
  448           <xs:element ref="element" />
  449           <xs:element ref="group" />
  450           <xs:group ref="cs" />
  451           <xs:element ref="any" />
  452         </xs:choice>
  453       </xs:sequence>
  454       <xs:attribute name="minOccurs" type="xs:NMTOKEN" />
  455       <xs:attribute name="maxOccurs" type="xs:string" />
  456       <xs:attribute name="id" type="xs:ID" />
  457     </xs:complexType>
  458   </xs:element>
  459   <xs:element name="sequence">
  460     <xs:annotation><xs:documentation xml:lang="en">Defines a sequence of XML elements.</xs:documentation></xs:annotation>
  461     <xs:complexType>
  462       <xs:sequence>
  463         <xs:element ref="annotation" minOccurs="0" />
  464         <xs:choice minOccurs="0" maxOccurs="unbounded">
  465           <xs:element ref="element" />
  466           <xs:element ref="group" />
  467           <xs:group ref="cs" />
  468           <xs:element ref="any" />
  469         </xs:choice>
  470       </xs:sequence>
  471       <xs:attribute name="minOccurs" type="xs:NMTOKEN" />
  472       <xs:attribute name="maxOccurs" type="xs:string" />
  473       <xs:attribute name="id" type="xs:ID" />
  474     </xs:complexType>
  475   </xs:element>
  476   <xs:element name="any">
  477     <xs:complexType>
  478       <xs:sequence minOccurs="0">
  479         <xs:element ref="annotation" />
  480       </xs:sequence>
  481       <xs:attribute name="namespace" type="xs:string" default="##any" />
  482       <xs:attribute name="processContents" default="strict">
  483         <xs:simpleType>
  484           <xs:restriction base="xs:string">
  485             <xs:enumeration value="skip" />
  486             <xs:enumeration value="lax" />
  487             <xs:enumeration value="strict" />
  488           </xs:restriction>
  489         </xs:simpleType>
  490       </xs:attribute>
  491       <xs:attribute name="minOccurs" type="xs:NMTOKEN" default="1" />
  492       <xs:attribute name="maxOccurs" type="xs:string" default="1" />
  493       <xs:attribute name="id" type="xs:ID" />
  494     </xs:complexType>
  495   </xs:element>
  496   <xs:element name="anyAttribute">
  497     <xs:complexType>
  498       <xs:sequence minOccurs="0">
  499         <xs:element ref="annotation" />
  500       </xs:sequence>
  501       <xs:attribute name="namespace" type="xs:string" default="##any" />
  502       <xs:attribute name="processContents" default="strict">
  503         <xs:simpleType>
  504           <xs:restriction base="xs:string">
  505             <xs:enumeration value="skip" />
  506             <xs:enumeration value="lax" />
  507             <xs:enumeration value="strict" />
  508           </xs:restriction>
  509         </xs:simpleType>
  510       </xs:attribute>
  511       <xs:attribute name="id" type="xs:ID" />
  512     </xs:complexType>
  513   </xs:element>
  514   <xs:element name="attribute">
  515     <xs:annotation><xs:documentation xml:lang="en">Defines an XML attribute.</xs:documentation></xs:annotation>
  516     <xs:complexType>
  517       <xs:sequence>
  518         <xs:element ref="annotation" minOccurs="0" />
  519         <xs:element ref="simpleType" minOccurs="0" />
  520       </xs:sequence>
  521       <xs:attribute name="name" type="xs:NMTOKEN" />
  522       <xs:attribute name="id" type="xs:ID" />
  523       <xs:attribute name="ref" type="xs:NMTOKEN" />
  524       <xs:attribute name="type" type="xs:NMTOKEN" />
  525       <xs:attribute name="use">
  526         <xs:simpleType>
  527           <xs:restriction base="xs:string">
  528             <xs:enumeration value="prohibited" />
  529             <xs:enumeration value="optional" />
  530             <xs:enumeration value="required" />
  531           </xs:restriction>
  532         </xs:simpleType>
  533       </xs:attribute>
  534       <xs:attribute name="default" type="xs:string" />
  535       <xs:attribute name="fixed" type="xs:string" />
  536       <xs:attribute name="form" type="formValues" />
  537     </xs:complexType>
  538   </xs:element>
  539   <xs:element name="attributeGroup">
  540     <xs:annotation><xs:documentation xml:lang="en">Defines a named, i.e. reusable set of XML attributes.</xs:documentation></xs:annotation>
  541     <xs:complexType>
  542       <xs:sequence>
  543         <xs:element ref="annotation" minOccurs="0" />
  544         <xs:choice minOccurs="0" maxOccurs="unbounded">
  545           <xs:element ref="attribute" />
  546           <xs:element ref="attributeGroup" />
  547         </xs:choice>
  548         <xs:element ref="anyAttribute" minOccurs="0" />
  549       </xs:sequence>
  550       <xs:attribute name="name" type="xs:NMTOKEN" />
  551       <xs:attribute name="id" type="xs:ID" />
  552       <xs:attribute name="ref" type="xs:NMTOKEN" />
  553     </xs:complexType>
  554   </xs:element>
  555   <xs:element name="unique">
  556     <xs:complexType>
  557       <xs:sequence>
  558         <xs:element ref="annotation" minOccurs="0" />
  559         <xs:element ref="selector" />
  560         <xs:element ref="field" maxOccurs="unbounded" />
  561       </xs:sequence>
  562       <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
  563       <xs:attribute name="id" type="xs:ID" />
  564     </xs:complexType>
  565   </xs:element>
  566   <xs:element name="key">
  567     <xs:complexType>
  568       <xs:sequence>
  569         <xs:element ref="annotation" minOccurs="0" />
  570         <xs:element ref="selector" />
  571         <xs:element ref="field" maxOccurs="unbounded" />
  572       </xs:sequence>
  573       <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
  574       <xs:attribute name="id" type="xs:ID" />
  575     </xs:complexType>
  576   </xs:element>
  577   <xs:element name="keyref">
  578     <xs:complexType>
  579       <xs:sequence>
  580         <xs:element ref="annotation" minOccurs="0" />
  581         <xs:element ref="selector" />
  582         <xs:element ref="field" maxOccurs="unbounded" />
  583       </xs:sequence>
  584       <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
  585       <xs:attribute name="refer" type="xs:NMTOKEN" use="required" />
  586       <xs:attribute name="id" type="xs:ID" />
  587     </xs:complexType>
  588   </xs:element>
  589   <xs:element name="selector">
  590     <xs:complexType>
  591       <xs:sequence>
  592         <xs:element ref="annotation" minOccurs="0" />
  593       </xs:sequence>
  594       <xs:attribute name="xpath" type="XPathExpr" use="required" />
  595       <xs:attribute name="id" type="xs:ID" />
  596     </xs:complexType>
  597   </xs:element>
  598   <xs:element name="field">
  599     <xs:complexType>
  600       <xs:sequence>
  601         <xs:element ref="annotation" minOccurs="0" />
  602       </xs:sequence>
  603       <xs:attribute name="xpath" type="XPathExpr" use="required" />
  604       <xs:attribute name="id" type="xs:ID" />
  605     </xs:complexType>
  606   </xs:element>
  607   <xs:element name="include">
  608     <xs:complexType>
  609       <xs:sequence minOccurs="0">
  610         <xs:element ref="annotation" />
  611       </xs:sequence>
  612       <xs:attribute name="schemaLocation" type="URIref" use="required" />
  613       <xs:attribute name="id" type="xs:ID" />
  614     </xs:complexType>
  615   </xs:element>
  616   <xs:element name="import">
  617     <xs:complexType>
  618       <xs:sequence minOccurs="0">
  619         <xs:element ref="annotation" />
  620       </xs:sequence>
  621       <xs:attribute name="namespace" type="URIref" />
  622       <xs:attribute name="schemaLocation" type="URIref" />
  623       <xs:attribute name="id" type="xs:ID" />
  624     </xs:complexType>
  625   </xs:element>
  626   <xs:element name="redefine">
  627     <xs:complexType>
  628       <xs:choice minOccurs="0" maxOccurs="unbounded">
  629         <xs:element ref="annotation" />
  630         <xs:element ref="simpleType" />
  631         <xs:element ref="complexType" />
  632         <xs:element ref="attributeGroup" />
  633         <xs:element ref="group" />
  634       </xs:choice>
  635       <xs:attribute name="schemaLocation" type="URIref" use="required" />
  636       <xs:attribute name="id" type="xs:ID" />
  637     </xs:complexType>
  638   </xs:element>
  639   <xs:element name="notation">
  640     <xs:complexType>
  641       <xs:sequence minOccurs="0">
  642         <xs:element ref="annotation" />
  643       </xs:sequence>
  644       <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
  645       <xs:attribute name="id" type="xs:ID" />
  646       <xs:attribute name="public" type="xs:string" use="required" />
  647       <xs:attribute name="system" type="URIref" />
  648     </xs:complexType>
  649   </xs:element>
  650   <xs:element name="annotation">
  651     <xs:annotation><xs:documentation xml:lang="en">Collects human and machine readable material.</xs:documentation></xs:annotation>
  652     <xs:complexType>
  653       <xs:choice minOccurs="0" maxOccurs="unbounded">
  654         <xs:element ref="appinfo" />
  655         <xs:element ref="documentation" />
  656       </xs:choice>
  657     </xs:complexType>
  658   </xs:element>
  659   <xs:element name="appinfo">
  660     <xs:annotation><xs:documentation xml:lang="en">Machine readable material.</xs:documentation></xs:annotation>
  661     <xs:complexType>
  662       <xs:complexContent>
  663         <xs:restriction base="anyType">
  664           <xs:attribute name="source" type="URIref" />
  665           <xs:attribute name="id" type="xs:ID" />
  666           <xs:attribute name="xml:lang" type="xs:string" />
  667         </xs:restriction>
  668       </xs:complexContent>
  669     </xs:complexType>
  670   </xs:element>
  671   <xs:element name="documentation">
  672     <xs:annotation><xs:documentation xml:lang="en">Human readable material.</xs:documentation></xs:annotation>
  673     <xs:complexType>
  674       <xs:complexContent>
  675         <xs:restriction base="anyType">
  676           <xs:attribute name="source" type="URIref" />
  677           <xs:attribute name="id" type="xs:ID" />
  678           <xs:attribute name="xml:lang" type="xs:string" />
  679         </xs:restriction>
  680       </xs:complexContent>
  681     </xs:complexType>
  682   </xs:element>
  683 </xs:schema>