xref: /aosp_15_r20/external/cldr/common/dtd/ldmlBCP47.xsd (revision 912701f9769bb47905792267661f0baf2b85bed5)
1<?xml version="1.0" encoding="UTF-8" ?>
2<!--
3Note: The .xsd files are a Technology Preview. They are subject to change or removal in future CLDR versions.
4Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file validation, use the DTD and CLDR tools.
5-->
6
7<!--
8  Copyright © 1991-2024 Unicode, Inc.
9  For terms of use, see http://www.unicode.org/copyright.html
10  SPDX-License-Identifier: Unicode-3.0
11  CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
12--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
13  <xs:element name="ldmlBCP47">
14    <xs:complexType>
15      <xs:sequence>
16        <xs:element ref="version"/>
17        <xs:element minOccurs="0" ref="generation"/>
18        <xs:element minOccurs="0" ref="cldrVersion"/>
19        <xs:element maxOccurs="unbounded" minOccurs="0" ref="keyword"/>
20        <xs:element maxOccurs="unbounded" minOccurs="0" ref="attribute"/>
21      </xs:sequence>
22    </xs:complexType>
23  </xs:element>
24  <xs:element name="version">
25    <xs:complexType>
26      <xs:attribute name="number" use="required"/>
27      <xs:attribute default="45" name="cldrVersion">
28        <xs:simpleType>
29          <xs:restriction base="xs:string">
30            <xs:enumeration value="45"/>
31          </xs:restriction>
32        </xs:simpleType>
33      </xs:attribute>
34    </xs:complexType>
35  </xs:element>
36
37
38
39
40
41  <xs:element name="generation">
42    <xs:complexType>
43      <xs:attribute name="date" use="required"/>
44    </xs:complexType>
45  </xs:element>
46
47
48
49
50  <xs:element name="cldrVersion">
51    <xs:complexType>
52      <xs:attribute name="version" use="required"/>
53    </xs:complexType>
54  </xs:element>
55
56
57
58  <xs:element name="keyword">
59    <xs:complexType>
60      <xs:sequence>
61        <xs:element maxOccurs="unbounded" minOccurs="0" ref="key"/>
62      </xs:sequence>
63    </xs:complexType>
64  </xs:element>
65  <xs:element name="key">
66    <xs:complexType>
67      <xs:sequence>
68        <xs:element maxOccurs="unbounded" minOccurs="0" ref="type"/>
69      </xs:sequence>
70      <xs:attribute name="extension" type="xs:NMTOKEN"/>
71      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
72      <xs:attribute name="description"/>
73      <xs:attribute default="false" name="deprecated">
74        <xs:simpleType>
75          <xs:restriction base="xs:token">
76            <xs:enumeration value="true"/>
77            <xs:enumeration value="false"/>
78          </xs:restriction>
79        </xs:simpleType>
80      </xs:attribute>
81      <xs:attribute name="preferred" type="xs:NMTOKEN"/>
82      <xs:attribute name="alias" type="xs:NMTOKEN"/>
83      <xs:attribute name="valueType">
84        <xs:simpleType>
85          <xs:restriction base="xs:token">
86            <xs:enumeration value="single"/>
87            <xs:enumeration value="multiple"/>
88            <xs:enumeration value="incremental"/>
89            <xs:enumeration value="any"/>
90          </xs:restriction>
91        </xs:simpleType>
92      </xs:attribute>
93      <xs:attribute name="since"/>
94    </xs:complexType>
95  </xs:element>
96
97
98
99
100
101
102
103
104
105
106
107  <xs:element name="type">
108    <xs:complexType>
109      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
110      <xs:attribute name="description" use="required"/>
111      <xs:attribute default="false" name="deprecated">
112        <xs:simpleType>
113          <xs:restriction base="xs:token">
114            <xs:enumeration value="true"/>
115            <xs:enumeration value="false"/>
116          </xs:restriction>
117        </xs:simpleType>
118      </xs:attribute>
119      <xs:attribute name="preferred" type="xs:NMTOKEN"/>
120      <xs:attribute name="alias"/>
121      <xs:attribute name="since"/>
122      <xs:attribute name="iana"/>
123    </xs:complexType>
124  </xs:element>
125
126
127
128
129
130
131
132
133
134
135
136
137  <xs:element name="attribute">
138    <xs:complexType>
139      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
140      <xs:attribute name="description" use="required"/>
141      <xs:attribute default="false" name="deprecated">
142        <xs:simpleType>
143          <xs:restriction base="xs:token">
144            <xs:enumeration value="true"/>
145            <xs:enumeration value="false"/>
146          </xs:restriction>
147        </xs:simpleType>
148      </xs:attribute>
149      <xs:attribute name="preferred" type="xs:NMTOKEN"/>
150      <xs:attribute name="since"/>
151    </xs:complexType>
152  </xs:element>
153</xs:schema>