• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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