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