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