Project

Profile

Help

Bug #4445 » xml.xsd

Mathieu Bergonzini, 2020-01-29 10:02

 
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
         This name is reserved by virtue of its definition in the
27
         xml:id specification.
28

    
29
    lang (as an attribute name): denotes an attribute whose value
30
         is a language code for the natural language of the content of
31
         any element; its value is inherited.  This name is reserved
32
         by virtue of its definition in the XML specification.
33
  
34
    space (as an attribute name): denotes an attribute whose
35
         value is a keyword indicating what whitespace processing
36
         discipline is intended for the content of the element; its
37
         value is inherited.  This name is reserved by virtue of its
38
         definition in the XML specification.
39

    
40
    Father (in any context at all): denotes Jon Bosak, the chair of 
41
         the original XML Working Group.  This name is reserved by 
42
         the following decision of the W3C XML Plenary and 
43
         XML Coordination groups:
44

    
45
             In appreciation for his vision, leadership and dedication
46
             the W3C XML Plenary on this 10th day of February, 2000
47
             reserves for Jon Bosak in perpetuity the XML name
48
             xml:Father
49
  </xs:documentation>
50
 </xs:annotation>
51

    
52
 <xs:annotation>
53
  <xs:documentation>This schema defines attributes and an attribute group
54
        suitable for use by
55
        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
56
        attributes on elements they define.
57

    
58
        To enable this, such a schema must import this schema
59
        for the XML namespace, e.g. as follows:
60
        &lt;schema . . .&gt;
61
         . . .
62
         &lt;import namespace="http://www.w3.org/XML/1998/namespace"
63
                    schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
64

    
65
        Subsequently, qualified reference to any of the attributes
66
        or the group defined below will have the desired effect, e.g.
67

    
68
        &lt;type . . .&gt;
69
         . . .
70
         &lt;attributeGroup ref="xml:specialAttrs"/&gt;
71
 
72
         will define a type which will schema-validate an instance
73
         element with any of those attributes</xs:documentation>
74
 </xs:annotation>
75

    
76
 <xs:annotation>
77
  <xs:documentation>In keeping with the XML Schema WG's standard versioning
78
   policy, this schema document will persist at
79
   http://www.w3.org/2007/08/xml.xsd.
80
   At the date of issue it can also be found at
81
   http://www.w3.org/2001/xml.xsd.
82
   The schema document at that URI may however change in the future,
83
   in order to remain compatible with the latest version of XML Schema
84
   itself, or with the XML namespace itself.  In other words, if the XML
85
   Schema or XML namespaces change, the version of this document at
86
   http://www.w3.org/2001/xml.xsd will change
87
   accordingly; the version at
88
   http://www.w3.org/2007/08/xml.xsd will not change.
89
  </xs:documentation>
90
 </xs:annotation>
91

    
92
 <xs:attribute name="lang">
93
  <xs:annotation>
94
   <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
95
         codes as the enumerated possible values is probably never
96
         going to be a realistic possibility.  See
97
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
98
         at http://www.iana.org/assignments/lang-tag-apps.htm for
99
         further information.
100

    
101
         The union allows for the 'un-declaration' of xml:lang with
102
         the empty string.</xs:documentation>
103
  </xs:annotation>
104
  <xs:simpleType>
105
   <xs:union memberTypes="xs:language">
106
    <xs:simpleType>    
107
     <xs:restriction base="xs:string">
108
      <xs:enumeration value=""/>
109
     </xs:restriction>
110
    </xs:simpleType>
111
   </xs:union>
112
  </xs:simpleType>
113
 </xs:attribute>
114

    
115
 <xs:attribute name="space">
116
  <xs:simpleType>
117
   <xs:restriction base="xs:NCName">
118
    <xs:enumeration value="default"/>
119
    <xs:enumeration value="preserve"/>
120
   </xs:restriction>
121
  </xs:simpleType>
122
 </xs:attribute>
123

    
124
 <xs:attribute name="base" type="xs:anyURI">
125
  <xs:annotation>
126
   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
127
                     information about this attribute.</xs:documentation>
128
  </xs:annotation>
129
 </xs:attribute>
130
 
131
 <xs:attribute name="id" type="xs:ID">
132
  <xs:annotation>
133
   <xs:documentation>See http://www.w3.org/TR/xml-id/ for
134
                     information about this attribute.</xs:documentation>
135
  </xs:annotation>
136
 </xs:attribute>
137

    
138
 <xs:attributeGroup name="specialAttrs">
139
  <xs:attribute ref="xml:base"/>
140
  <xs:attribute ref="xml:lang"/>
141
  <xs:attribute ref="xml:space"/>
142
  <xs:attribute ref="xml:id"/>
143
 </xs:attributeGroup>
144

    
145
</xs:schema>
(4-4/4)