PageRenderTime 104ms CodeModel.GetById 83ms app.highlight 12ms RepoModel.GetById 1ms app.codeStats 0ms

/bundles/plugins-trunk/XML/test_data/schema4schemas/schema4schemas.xsd

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