Home | History | Annotate | Download | only in schemas
      1 <?xml version='1.0'?>
      2 <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
      3 
      4  <xs:annotation>
      5   <xs:documentation>
      6    See http://www.w3.org/XML/1998/namespace.html and
      7    http://www.w3.org/TR/REC-xml for information about this namespace.
      8 
      9     This schema document describes the XML namespace, in a form
     10     suitable for import by other schema documents.
     11 
     12     Note that local names in this namespace are intended to be defined
     13     only by the World Wide Web Consortium or its subgroups.  The
     14     following names are currently defined in this namespace and should
     15     not be used with conflicting semantics by any Working Group,
     16     specification, or document instance:
     17 
     18     base (as an attribute name): denotes an attribute whose value
     19          provides a URI to be used as the base for interpreting any
     20          relative URIs in the scope of the element on which it
     21          appears; its value is inherited.  This name is reserved
     22          by virtue of its definition in the XML Base specification.
     23 
     24     id   (as an attribute name): denotes an attribute whose value
     25          should be interpreted as if declared to be of type ID.
     26          The xml:id specification is not yet a W3C Recommendation,
     27          but this attribute is included here to facilitate experimentation
     28          with the mechanisms it proposes.  Note that it is _not_ included
     29          in the specialAttrs attribute group.
     30 
     31     lang (as an attribute name): denotes an attribute whose value
     32          is a language code for the natural language of the content of
     33          any element; its value is inherited.  This name is reserved
     34          by virtue of its definition in the XML specification.
     35 
     36     space (as an attribute name): denotes an attribute whose
     37          value is a keyword indicating what whitespace processing
     38          discipline is intended for the content of the element; its
     39          value is inherited.  This name is reserved by virtue of its
     40          definition in the XML specification.
     41 
     42     Father (in any context at all): denotes Jon Bosak, the chair of
     43          the original XML Working Group.  This name is reserved by
     44          the following decision of the W3C XML Plenary and
     45          XML Coordination groups:
     46 
     47              In appreciation for his vision, leadership and dedication
     48              the W3C XML Plenary on this 10th day of February, 2000
     49              reserves for Jon Bosak in perpetuity the XML name
     50              xml:Father
     51   </xs:documentation>
     52  </xs:annotation>
     53 
     54  <xs:annotation>
     55   <xs:documentation>This schema defines attributes and an attribute group
     56         suitable for use by
     57         schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
     58         attributes on elements they define.
     59 
     60         To enable this, such a schema must import this schema
     61         for the XML namespace, e.g. as follows:
     62         &lt;schema . . .>
     63          . . .
     64          &lt;import namespace="http://www.w3.org/XML/1998/namespace"
     65                     schemaLocation="http://www.w3.org/2005/08/xml.xsd"/>
     66 
     67         Subsequently, qualified reference to any of the attributes
     68         or the group defined below will have the desired effect, e.g.
     69 
     70         &lt;type . . .>
     71          . . .
     72          &lt;attributeGroup ref="xml:specialAttrs"/>
     73 
     74          will define a type which will schema-validate an instance
     75          element with any of those attributes</xs:documentation>
     76  </xs:annotation>
     77 
     78  <xs:annotation>
     79   <xs:documentation>In keeping with the XML Schema WG's standard versioning
     80    policy, this schema document will persist at
     81    http://www.w3.org/2005/08/xml.xsd.
     82    At the date of issue it can also be found at
     83    http://www.w3.org/2001/xml.xsd.
     84    The schema document at that URI may however change in the future,
     85    in order to remain compatible with the latest version of XML Schema
     86    itself, or with the XML namespace itself.  In other words, if the XML
     87    Schema or XML namespaces change, the version of this document at
     88    http://www.w3.org/2001/xml.xsd will change
     89    accordingly; the version at
     90    http://www.w3.org/2005/08/xml.xsd will not change.
     91   </xs:documentation>
     92  </xs:annotation>
     93 
     94  <xs:attribute name="lang">
     95   <xs:annotation>
     96    <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
     97          codes as the enumerated possible values is probably never
     98          going to be a realistic possibility.  See
     99          RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
    100          at http://www.iana.org/assignments/lang-tag-apps.htm for
    101          further information.
    102 
    103          The union allows for the 'un-declaration' of xml:lang with
    104          the empty string.</xs:documentation>
    105   </xs:annotation>
    106   <xs:simpleType>
    107    <xs:union memberTypes="xs:language">
    108     <xs:simpleType>
    109      <xs:restriction base="xs:string">
    110       <xs:enumeration value=""/>
    111      </xs:restriction>
    112     </xs:simpleType>
    113    </xs:union>
    114   </xs:simpleType>
    115  </xs:attribute>
    116 
    117  <xs:attribute name="space">
    118   <xs:simpleType>
    119    <xs:restriction base="xs:NCName">
    120     <xs:enumeration value="default"/>
    121     <xs:enumeration value="preserve"/>
    122    </xs:restriction>
    123   </xs:simpleType>
    124  </xs:attribute>
    125 
    126  <xs:attribute name="base" type="xs:anyURI">
    127   <xs:annotation>
    128    <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
    129                      information about this attribute.</xs:documentation>
    130   </xs:annotation>
    131  </xs:attribute>
    132 
    133  <xs:attribute name="id" type="xs:ID">
    134   <xs:annotation>
    135    <xs:documentation>See http://www.w3.org/TR/xml-id/ for
    136                      information about this attribute.</xs:documentation>
    137   </xs:annotation>
    138  </xs:attribute>
    139 
    140  <xs:attributeGroup name="specialAttrs">
    141   <xs:attribute ref="xml:base"/>
    142   <xs:attribute ref="xml:lang"/>
    143   <xs:attribute ref="xml:space"/>
    144  </xs:attributeGroup>
    145 
    146 </xs:schema>
    147