/ libxml2 / test / schemas / xml.xsd
xml.xsd
  1  <?xml version='1.0' encoding="ISO-8859-1"?>
  2  <!--!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" -->
  3  <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
  4  
  5   <xs:annotation>
  6    <xs:documentation>
  7     See http://www.w3.org/XML/1998/namespace.html and
  8     http://www.w3.org/TR/REC-xml for information about this namespace.
  9  
 10      This schema document describes the XML namespace, in a form
 11      suitable for import by other schema documents.  
 12  
 13      Note that local names in this namespace are intended to be defined
 14      only by the World Wide Web Consortium or its subgroups.  The
 15      following names are currently defined in this namespace and should
 16      not be used with conflicting semantics by any Working Group,
 17      specification, or document instance:
 18  
 19      base (as an attribute name): denotes an attribute whose value
 20           provides a URI to be used as the base for interpreting any
 21           relative URIs in the scope of the element on which it
 22           appears; its value is inherited.  This name is reserved
 23           by virtue of its definition in the XML Base specification.
 24  
 25      lang (as an attribute name): denotes an attribute whose value
 26           is a language code for the natural language of the content of
 27           any element; its value is inherited.  This name is reserved
 28           by virtue of its definition in the XML specification.
 29    
 30      space (as an attribute name): denotes an attribute whose
 31           value is a keyword indicating what whitespace processing
 32           discipline is intended for the content of the element; its
 33           value is inherited.  This name is reserved by virtue of its
 34           definition in the XML specification.
 35  
 36      Father (in any context at all): denotes Jon Bosak, the chair of 
 37           the original XML Working Group.  This name is reserved by 
 38           the following decision of the W3C XML Plenary and 
 39           XML Coordination groups:
 40  
 41               In appreciation for his vision, leadership and dedication
 42               the W3C XML Plenary on this 10th day of February, 2000
 43               reserves for Jon Bosak in perpetuity the XML name
 44               xml:Father
 45    </xs:documentation>
 46   </xs:annotation>
 47  
 48   <xs:annotation>
 49    <xs:documentation>This schema defines attributes and an attribute group
 50          suitable for use by
 51          schemas wishing to allow xml:base, xml:lang or xml:space attributes
 52          on elements they define.
 53  
 54          To enable this, such a schema must import this schema
 55          for the XML namespace, e.g. as follows:
 56          &lt;schema . . .>
 57           . . .
 58           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
 59                      schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
 60  
 61          Subsequently, qualified reference to any of the attributes
 62          or the group defined below will have the desired effect, e.g.
 63  
 64          &lt;type . . .>
 65           . . .
 66           &lt;attributeGroup ref="xml:specialAttrs"/>
 67   
 68           will define a type which will schema-validate an instance
 69           element with any of those attributes</xs:documentation>
 70   </xs:annotation>
 71  
 72   <xs:annotation>
 73    <xs:documentation>In keeping with the XML Schema WG's standard versioning
 74     policy, this schema document will persist at
 75     http://www.w3.org/2001/03/xml.xsd.
 76     At the date of issue it can also be found at
 77     http://www.w3.org/2001/xml.xsd.
 78     The schema document at that URI may however change in the future,
 79     in order to remain compatible with the latest version of XML Schema
 80     itself.  In other words, if the XML Schema namespace changes, the version
 81     of this document at
 82     http://www.w3.org/2001/xml.xsd will change
 83     accordingly; the version at
 84     http://www.w3.org/2001/03/xml.xsd will not change.
 85    </xs:documentation>
 86   </xs:annotation>
 87  
 88   <xs:attribute name="lang" type="xs:language">
 89    <xs:annotation>
 90     <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
 91           codes as the enumerated possible values . . .</xs:documentation>
 92    </xs:annotation>
 93   </xs:attribute>
 94  
 95   <xs:attribute name="space" default="preserve">
 96    <xs:simpleType>
 97     <xs:restriction base="xs:NCName">
 98      <xs:enumeration value="default"/>
 99      <xs:enumeration value="preserve"/>
100     </xs:restriction>
101    </xs:simpleType>
102   </xs:attribute>
103  
104   <xs:attribute name="base" type="xs:anyURI">
105    <xs:annotation>
106     <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
107                       information about this attribute.</xs:documentation>
108    </xs:annotation>
109   </xs:attribute>
110  
111   <xs:attributeGroup name="specialAttrs">
112    <xs:attribute ref="xml:base"/>
113    <xs:attribute ref="xml:lang"/>
114    <xs:attribute ref="xml:space"/>
115   </xs:attributeGroup>
116  
117  </xs:schema>