1<?xml version='1.0'?>
2<!--
3
4    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
5
6    This program and the accompanying materials are made available under the
7    terms of the Eclipse Public License v. 2.0, which is available at
8    http://www.eclipse.org/legal/epl-2.0.
9
10    This Source Code may also be made available under the following Secondary
11    Licenses when the conditions for such availability set forth in the
12    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
13    version 2 with the GNU Classpath Exception, which is available at
14    https://www.gnu.org/software/classpath/license.html.
15
16    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
18-->
19
20<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
21<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
22
23 <xs:annotation>
24  <xs:documentation>
25   See http://www.w3.org/XML/1998/namespace.html and
26   http://www.w3.org/TR/REC-xml for information about this namespace.
27  </xs:documentation>
28 </xs:annotation>
29
30 <xs:annotation>
31  <xs:documentation>This schema defines attributes and an attribute group
32        suitable for use by
33        schemas wishing to allow xml:base, xml:lang or xml:space attributes
34        on elements they define.
35
36        To enable this, such a schema must import this schema
37        for the XML namespace, e.g. as follows:
38        &lt;schema . . .>
39         . . .
40         &lt;import namespace="http://www.w3.org/XML/1998/namespace"
41                    schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
42
43        Subsequently, qualified reference to any of the attributes
44        or the group defined below will have the desired effect, e.g.
45
46        &lt;type . . .>
47         . . .
48         &lt;attributeGroup ref="xml:specialAttrs"/>
49
50         will define a type which will schema-validate an instance
51         element with any of those attributes</xs:documentation>
52 </xs:annotation>
53
54 <xs:annotation>
55  <xs:documentation>In keeping with the XML Schema WG's standard versioning
56   policy, this schema document will persist at
57   http://www.w3.org/2001/03/xml.xsd.
58   At the date of issue it can also be found at
59   http://www.w3.org/2001/xml.xsd.
60   The schema document at that URI may however change in the future,
61   in order to remain compatible with the latest version of XML Schema
62   itself.  In other words, if the XML Schema namespace changes, the version
63   of this document at
64   http://www.w3.org/2001/xml.xsd will change
65   accordingly; the version at
66   http://www.w3.org/2001/03/xml.xsd will not change.
67  </xs:documentation>
68 </xs:annotation>
69
70 <xs:attribute name="lang" type="xs:language">
71  <xs:annotation>
72   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
73         codes as the enumerated possible values . . .</xs:documentation>
74  </xs:annotation>
75 </xs:attribute>
76
77 <xs:attribute name="space" default="preserve">
78  <xs:simpleType>
79   <xs:restriction base="xs:NCName">
80    <xs:enumeration value="default"/>
81    <xs:enumeration value="preserve"/>
82   </xs:restriction>
83  </xs:simpleType>
84 </xs:attribute>
85
86 <xs:attribute name="base" type="xs:anyURI">
87  <xs:annotation>
88   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
89                     information about this attribute.</xs:documentation>
90  </xs:annotation>
91 </xs:attribute>
92
93 <xs:attributeGroup name="specialAttrs">
94  <xs:attribute ref="xml:base"/>
95  <xs:attribute ref="xml:lang"/>
96  <xs:attribute ref="xml:space"/>
97 </xs:attributeGroup>
98
99</xs:schema>
100