• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2Copyright © 2003-2019 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
5
6THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
7
8Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
9
10    $Revision$
11-->
12
13<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups? ) >
14
15<!ELEMENT version EMPTY >
16    <!--@METADATA-->
17<!ATTLIST version number CDATA #REQUIRED >
18	<!--@MATCH:any-->
19    <!--@METADATA-->
20<!ATTLIST version cldrVersion CDATA #FIXED "36.1" >
21	<!--@MATCH:version-->
22    <!--@VALUE-->
23<!ATTLIST version unicodeVersion CDATA #FIXED "13.0" >
24	<!--@MATCH:version-->
25    <!--@VALUE-->
26
27<!ELEMENT generation EMPTY >
28    <!--@METADATA-->
29    <!--@DEPRECATED-->
30<!ATTLIST generation date CDATA #REQUIRED >
31    <!--@VALUE-->
32    <!--@DEPRECATED-->
33
34<!ELEMENT cldrVersion EMPTY >
35    <!--@DEPRECATED-->
36<!ATTLIST cldrVersion version CDATA #REQUIRED >
37    <!--@METADATA-->
38    <!--@DEPRECATED-->
39
40<!ELEMENT currencyData ( fractions*, region+ ) >
41<!ATTLIST currencyData draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
42    <!--@METADATA-->
43    <!--@DEPRECATED-->
44
45<!ELEMENT fractions ( info+ ) >
46<!ATTLIST fractions draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
47    <!--@METADATA-->
48    <!--@DEPRECATED-->
49
50<!ELEMENT info EMPTY >
51<!ATTLIST info iso4217 NMTOKEN #REQUIRED >
52	<!--@MATCH:or/validity/currency||literal/DEFAULT-->
53<!ATTLIST info digits NMTOKEN #IMPLIED >
54	<!--@MATCH:range/0~5-->
55    <!--@VALUE-->
56<!ATTLIST info rounding NMTOKEN #IMPLIED >
57	<!--@MATCH:range/0~5-->
58    <!--@VALUE-->
59<!ATTLIST info cashDigits NMTOKEN #IMPLIED >
60	<!--@MATCH:range/0~100-->
61    <!--@VALUE-->
62<!ATTLIST info cashRounding NMTOKEN #IMPLIED >
63	<!--@MATCH:literal/0, 5, 50-->
64    <!--@VALUE-->
65<!ATTLIST info draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
66    <!--@METADATA-->
67    <!--@DEPRECATED:true, false-->
68<!ATTLIST info references CDATA #IMPLIED >
69    <!--@METADATA-->
70
71<!ELEMENT region ( currency* ) >
72<!ATTLIST region iso3166 NMTOKEN #REQUIRED >
73	<!--@MATCH:validity/region-->
74<!ATTLIST region draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
75    <!--@METADATA-->
76    <!--@DEPRECATED-->
77
78<!ELEMENT currency ( alternate* ) >
79<!ATTLIST currency before NMTOKEN #IMPLIED >
80    <!-- use from and to instead. -->
81    <!--@VALUE-->
82    <!--@DEPRECATED-->
83<!ATTLIST currency from NMTOKEN #IMPLIED >
84	<!--@MATCH:time/yyyy-MM-dd-->
85<!ATTLIST currency to NMTOKEN #IMPLIED >
86	<!--@MATCH:time/yyyy-MM-dd-->
87<!ATTLIST currency iso4217 NMTOKEN #REQUIRED >
88	<!--@MATCH:validity/currency-->
89<!ATTLIST currency digits NMTOKEN #IMPLIED >
90    <!--@VALUE-->
91<!ATTLIST currency rounding NMTOKEN #IMPLIED >
92    <!--@VALUE-->
93<!ATTLIST currency cashRounding NMTOKEN #IMPLIED >
94    <!--@VALUE-->
95<!ATTLIST currency tender (true | false) #IMPLIED >
96    <!--@VALUE-->
97<!ATTLIST currency draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
98    <!--@METADATA-->
99    <!--@DEPRECATED-->
100<!ATTLIST currency references CDATA #IMPLIED >
101    <!--@METADATA-->
102
103<!ELEMENT alternate EMPTY >
104    <!-- use from and to instead. -->
105    <!--@DEPRECATED-->
106<!ATTLIST alternate iso4217 NMTOKEN #REQUIRED >
107    <!--@DEPRECATED-->
108
109<!ELEMENT territoryContainment ( group* ) >
110
111<!ELEMENT group EMPTY >
112<!ATTLIST group type NMTOKEN #REQUIRED >
113	<!--@MATCH:validity/region-->
114<!ATTLIST group contains NMTOKENS #IMPLIED >
115	<!--@MATCH:set/validity/region-->
116    <!--@VALUE-->
117<!ATTLIST group grouping (true | false) #IMPLIED >
118    <!--@VALUE-->
119<!ATTLIST group status (deprecated | grouping) #IMPLIED >
120<!ATTLIST group draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
121    <!--@METADATA-->
122    <!--@DEPRECATED:true, false-->
123<!ATTLIST group references CDATA #IMPLIED >
124    <!--@METADATA-->
125
126<!ELEMENT subdivisionContainment ( subgroup* ) >
127
128<!ELEMENT subgroup EMPTY >
129<!ATTLIST subgroup type NMTOKEN #REQUIRED >
130	<!--@MATCH:or/validity/region||validity/subdivision-->
131<!ATTLIST subgroup subtype NMTOKEN #IMPLIED >
132    <!--@DEPRECATED-->
133<!ATTLIST subgroup contains NMTOKENS #IMPLIED >
134	<!--@MATCH:set/validity/subdivision-->
135    <!--@VALUE-->
136
137<!ELEMENT languageData ( language* ) >
138
139<!ELEMENT language EMPTY >
140<!ATTLIST language type NMTOKEN #REQUIRED >
141	<!--@MATCH:set/validity/language-->
142<!ATTLIST language scripts NMTOKENS #IMPLIED >
143	<!--@MATCH:set/validity/script-->
144    <!--@VALUE-->
145<!ATTLIST language territories NMTOKENS #IMPLIED >
146	<!--@MATCH:set/validity/region-->
147    <!--@VALUE-->
148<!ATTLIST language variants NMTOKENS #IMPLIED >
149    <!--@VALUE-->
150<!ATTLIST language draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
151    <!--@METADATA-->
152    <!--@DEPRECATED:true, false-->
153<!ATTLIST language references CDATA #IMPLIED >
154    <!--@METADATA-->
155<!ATTLIST language alt NMTOKENS #IMPLIED >
156    <!--@MATCH:literal/secondary, variant-->
157
158<!ELEMENT territoryInfo ( territory* ) >
159<!ATTLIST territoryInfo draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
160    <!--@METADATA-->
161    <!--@DEPRECATED-->
162<!ATTLIST territoryInfo references CDATA #IMPLIED >
163    <!--@METADATA-->
164<!ATTLIST territoryInfo alt NMTOKENS #IMPLIED >
165    <!--@MATCH:literal/variant-->
166
167<!ELEMENT territory ( languagePopulation* ) >
168<!ATTLIST territory type NMTOKEN #REQUIRED >
169	<!--@MATCH:validity/region-->
170<!ATTLIST territory gdp NMTOKEN #REQUIRED >
171	<!--@MATCH:range/0~100000000000000-->
172    <!--@VALUE-->
173<!ATTLIST territory literacyPercent NMTOKEN #REQUIRED >
174	<!--@MATCH:range/0.0~100.0-->
175    <!--@VALUE-->
176<!ATTLIST territory population NMTOKEN #REQUIRED >
177	<!--@MATCH:range/0~10000000000-->
178    <!--@VALUE-->
179<!ATTLIST territory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
180    <!--@METADATA-->
181    <!--@DEPRECATED-->
182<!ATTLIST territory references CDATA #IMPLIED >
183	<!--@MATCH:any-->
184    <!--@METADATA-->
185<!ATTLIST territory alt NMTOKENS #IMPLIED >
186    <!--@MATCH:literal/variant-->
187
188<!ELEMENT languagePopulation EMPTY >
189<!ATTLIST languagePopulation type NMTOKEN #REQUIRED >
190	<!--@MATCH:validity/locale-->
191<!ATTLIST languagePopulation literacyPercent NMTOKEN #IMPLIED >
192	<!--@MATCH:range/0~100-->
193    <!--@VALUE-->
194<!ATTLIST languagePopulation writingPercent NMTOKEN #IMPLIED >
195	<!--@MATCH:range/0~100-->
196    <!--@VALUE-->
197<!ATTLIST languagePopulation populationPercent NMTOKEN #REQUIRED >
198	<!--@MATCH:range/0.0~100.0-->
199    <!--@VALUE-->
200<!ATTLIST languagePopulation officialStatus (de_facto_official | official | official_regional | official_minority) #IMPLIED >
201    <!--@VALUE-->
202<!ATTLIST languagePopulation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
203    <!--@METADATA-->
204    <!--@DEPRECATED:true, false-->
205<!ATTLIST languagePopulation references CDATA #IMPLIED >
206	<!--@MATCH:any-->
207    <!--@METADATA-->
208<!ATTLIST languagePopulation alt NMTOKENS #IMPLIED >
209    <!--@MATCH:literal/variant-->
210
211<!ELEMENT postalCodeData ( postCodeRegex* ) >
212    <!--@DEPRECATED-->
213
214<!ELEMENT postCodeRegex ( #PCDATA ) >
215    <!--@DEPRECATED-->
216<!ATTLIST postCodeRegex territoryId NMTOKEN #REQUIRED >
217    <!--@DEPRECATED-->
218<!ATTLIST postCodeRegex draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
219    <!--@METADATA-->
220    <!--@DEPRECATED-->
221
222<!ELEMENT calendarData ( calendar* ) >
223
224<!ELEMENT calendar ( calendarSystem?, eras? ) >
225<!ATTLIST calendar type NMTOKEN #REQUIRED >
226	<!--@MATCH:bcp47/ca-->
227<!ATTLIST calendar territories NMTOKENS #IMPLIED >
228    <!-- use ordering attribute in calendarPreference element instead. -->
229    <!--@VALUE-->
230    <!--@DEPRECATED-->
231<!ATTLIST calendar draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
232    <!--@METADATA-->
233    <!--@DEPRECATED-->
234<!ATTLIST calendar references CDATA #IMPLIED >
235    <!--@METADATA-->
236<!ATTLIST calendar alt NMTOKENS #IMPLIED >
237    <!--@MATCH:literal/variant-->
238
239<!ELEMENT calendarSystem EMPTY >
240<!ATTLIST calendarSystem type (solar | lunar | lunisolar | other) #REQUIRED >
241    <!--@VALUE-->
242<!ATTLIST calendarSystem references CDATA #IMPLIED >
243    <!--@METADATA-->
244
245<!ELEMENT eras ( era* ) >
246<!ATTLIST eras references CDATA #IMPLIED >
247    <!--@METADATA-->
248
249<!ELEMENT era EMPTY >
250<!ATTLIST era type NMTOKEN #REQUIRED >
251	<!--@MATCH:range/0~250-->
252<!ATTLIST era start CDATA #IMPLIED >
253	<!--@MATCH:time/yyyy-MM-dd-->
254    <!--@VALUE-->
255<!ATTLIST era end CDATA #IMPLIED >
256	<!--@MATCH:time/yyyy-MM-dd-->
257    <!--@VALUE-->
258<!ATTLIST era named (true | false) #IMPLIED >
259    <!--@VALUE-->
260
261<!ELEMENT calendarPreferenceData ( calendarPreference* ) >
262
263<!ELEMENT calendarPreference EMPTY >
264<!ATTLIST calendarPreference territories NMTOKENS #REQUIRED >
265	<!--@MATCH:set/validity/region-->
266<!ATTLIST calendarPreference ordering NMTOKENS #REQUIRED >
267	<!--@MATCH:set/bcp47/ca-->
268    <!--@VALUE-->
269
270<!ELEMENT weekData ( minDays*, firstDay*, weekendStart*, weekendEnd*, weekOfPreference* ) >
271
272<!ELEMENT minDays EMPTY >
273<!ATTLIST minDays count (1 | 2 | 3 | 4 | 5 | 6 | 7) #REQUIRED >
274<!ATTLIST minDays territories NMTOKENS #REQUIRED >
275	<!--@MATCH:set/validity/region-->
276    <!--@VALUE-->
277<!ATTLIST minDays draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
278    <!--@METADATA-->
279    <!--@DEPRECATED:true, false-->
280<!ATTLIST minDays references CDATA #IMPLIED >
281    <!--@METADATA-->
282<!ATTLIST minDays alt NMTOKENS #IMPLIED >
283    <!--@MATCH:literal/variant-->
284
285<!ELEMENT firstDay EMPTY >
286<!ATTLIST firstDay day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
287<!ATTLIST firstDay territories NMTOKENS #REQUIRED >
288	<!--@MATCH:set/validity/region-->
289    <!--@VALUE-->
290<!ATTLIST firstDay draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
291    <!--@METADATA-->
292    <!--@DEPRECATED:true, false-->
293<!ATTLIST firstDay references CDATA #IMPLIED >
294	<!--@MATCH:any-->
295    <!--@METADATA-->
296<!ATTLIST firstDay alt NMTOKENS #IMPLIED >
297    <!--@MATCH:literal/variant-->
298
299<!ELEMENT weekendStart EMPTY >
300<!ATTLIST weekendStart day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
301<!ATTLIST weekendStart territories NMTOKENS #REQUIRED >
302	<!--@MATCH:set/validity/region-->
303    <!--@VALUE-->
304<!ATTLIST weekendStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
305    <!--@METADATA-->
306    <!--@DEPRECATED:true, false-->
307<!ATTLIST weekendStart references CDATA #IMPLIED >
308    <!--@METADATA-->
309<!ATTLIST weekendStart alt NMTOKENS #IMPLIED >
310    <!--@MATCH:literal/variant-->
311
312<!ELEMENT weekendEnd EMPTY >
313<!ATTLIST weekendEnd day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
314<!ATTLIST weekendEnd territories NMTOKENS #REQUIRED >
315	<!--@MATCH:set/validity/region-->
316    <!--@VALUE-->
317<!ATTLIST weekendEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
318    <!--@METADATA-->
319    <!--@DEPRECATED:true, false-->
320<!ATTLIST weekendEnd references CDATA #IMPLIED >
321    <!--@METADATA-->
322<!ATTLIST weekendEnd alt NMTOKENS #IMPLIED >
323    <!--@MATCH:literal/variant-->
324
325<!ELEMENT weekOfPreference EMPTY >
326<!ATTLIST weekOfPreference locales NMTOKENS #REQUIRED >
327	<!--@MATCH:set/validity/locale-->
328<!ATTLIST weekOfPreference ordering NMTOKENS #REQUIRED >
329	<!--@MATCH:set/literal/weekOfDate, weekOfInterval, weekOfMonth, weekOfYear-->
330    <!--@VALUE-->
331
332<!ELEMENT timeData ( hours* ) >
333
334<!ELEMENT hours EMPTY >
335<!ATTLIST hours allowed NMTOKENS #REQUIRED >
336	<!--@MATCH:set/literal/H, h, K, k, hB, hb-->
337<!ATTLIST hours preferred NMTOKEN #REQUIRED >
338	<!--@MATCH:literal/H, h-->
339<!ATTLIST hours regions NMTOKENS #REQUIRED >
340	<!--@MATCH:set/or/validity/region||validity/locale-->
341    <!--@VALUE-->
342<!ATTLIST hours draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
343    <!--@METADATA-->
344<!ATTLIST hours references CDATA #IMPLIED >
345    <!--@METADATA-->
346
347<!ELEMENT measurementData ( measurementSystem*, paperSize* ) >
348
349<!ELEMENT measurementSystem EMPTY >
350<!ATTLIST measurementSystem type (metric | US | UK) #REQUIRED >
351<!ATTLIST measurementSystem category (temperature) #IMPLIED >
352<!ATTLIST measurementSystem territories NMTOKENS #REQUIRED >
353	<!--@MATCH:set/validity/region-->
354    <!--@VALUE-->
355<!ATTLIST measurementSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
356    <!--@METADATA-->
357    <!--@DEPRECATED:true, false-->
358<!ATTLIST measurementSystem references CDATA #IMPLIED >
359    <!--@METADATA-->
360<!ATTLIST measurementSystem alt NMTOKENS #IMPLIED >
361    <!--@MATCH:literal/variant-->
362
363<!ELEMENT paperSize EMPTY >
364<!ATTLIST paperSize type (A4 | US-Letter) #REQUIRED >
365<!ATTLIST paperSize territories NMTOKENS #REQUIRED >
366	<!--@MATCH:set/validity/region-->
367    <!--@VALUE-->
368<!ATTLIST paperSize draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
369    <!--@METADATA-->
370    <!--@DEPRECATED:true, false-->
371<!ATTLIST paperSize references CDATA #IMPLIED >
372    <!--@METADATA-->
373<!ATTLIST paperSize alt NMTOKENS #IMPLIED >
374    <!--@MATCH:literal/variant-->
375
376<!ELEMENT unitPreferenceData ( unitPreferences* ) >
377
378<!ELEMENT unitPreferences ( unitPreference* ) >
379<!ATTLIST unitPreferences category NMTOKEN #REQUIRED >
380	<!--@MATCH:literal/area, concentr, consumption, duration, energy, length, mass, pressure, speed, temperature, volume-->
381<!ATTLIST unitPreferences usage NMTOKENS #REQUIRED >
382	<!--@MATCH:literal/baromtrc, blood-glucose, food, land-agricult, land-commercl, land-residntl, music-track, person, person-age, person-usage, rainfall, road, road-travel, snowfall, tv-program, vehicle, vehicle-fuel, visiblty, weather, wind-->
383<!ATTLIST unitPreferences scope (small) #IMPLIED >
384
385<!ELEMENT unitPreference ( #PCDATA ) >
386<!ATTLIST unitPreference regions NMTOKENS #REQUIRED >
387	<!--@MATCH:set/validity/region-->
388<!ATTLIST unitPreference draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
389    <!--@METADATA-->
390<!ATTLIST unitPreference references CDATA #IMPLIED >
391    <!--@METADATA-->
392<!ATTLIST unitPreference alt NMTOKENS #IMPLIED >
393    <!--@MATCH:literal/informal, variant-->
394
395<!ELEMENT timezoneData ( mapTimezones*, zoneFormatting* ) >
396    <!--@DEPRECATED-->
397
398<!ELEMENT mapTimezones ( mapZone* ) >
399<!ATTLIST mapTimezones type NMTOKEN #IMPLIED >
400	<!--@MATCH:literal/metazones-->
401<!ATTLIST mapTimezones otherVersion CDATA #IMPLIED >
402	<!--@MATCH:any-->
403    <!--@METADATA-->
404<!ATTLIST mapTimezones typeVersion CDATA #IMPLIED >
405	<!--@MATCH:regex/[0-9]{4}[a-z]+-->
406    <!--@METADATA-->
407<!ATTLIST mapTimezones references CDATA #IMPLIED >
408	<!--@MATCH:any-->
409    <!--@METADATA-->
410
411<!ELEMENT mapZone EMPTY >
412<!ATTLIST mapZone type CDATA #REQUIRED >
413	<!--@MATCH:set/bcp47/tz-->
414    <!--@VALUE-->
415<!ATTLIST mapZone other CDATA #REQUIRED >
416	<!--@MATCH:any-->
417<!ATTLIST mapZone territory CDATA #IMPLIED >
418	<!--@MATCH:validity/region-->
419<!ATTLIST mapZone references CDATA #IMPLIED >
420	<!--@MATCH:any-->
421    <!--@METADATA-->
422
423<!ELEMENT zoneFormatting ( zoneItem* ) >
424    <!--@DEPRECATED-->
425<!ATTLIST zoneFormatting multizone NMTOKENS #REQUIRED >
426    <!--@VALUE-->
427    <!--@DEPRECATED-->
428<!ATTLIST zoneFormatting tzidVersion CDATA #IMPLIED >
429    <!--@METADATA-->
430    <!--@DEPRECATED-->
431<!ATTLIST zoneFormatting references CDATA #IMPLIED >
432    <!--@METADATA-->
433    <!--@DEPRECATED-->
434
435<!ELEMENT zoneItem EMPTY >
436    <!--@DEPRECATED-->
437<!ATTLIST zoneItem type CDATA #REQUIRED >
438    <!--@DEPRECATED-->
439<!ATTLIST zoneItem territory NMTOKEN #REQUIRED >
440    <!--@VALUE-->
441    <!--@DEPRECATED-->
442<!ATTLIST zoneItem aliases CDATA #IMPLIED >
443    <!--@VALUE-->
444    <!--@DEPRECATED-->
445<!ATTLIST zoneItem references CDATA #IMPLIED >
446    <!--@METADATA-->
447    <!--@DEPRECATED-->
448
449<!ELEMENT characters ( character-fallback* ) >
450<!ATTLIST characters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
451    <!--@METADATA-->
452    <!--@DEPRECATED-->
453
454<!ELEMENT character-fallback ( character* ) >
455
456<!ELEMENT character ( substitute* ) >
457<!ATTLIST character value CDATA #REQUIRED >
458	<!--@MATCH:any-->
459<!ATTLIST character draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
460    <!--@METADATA-->
461    <!--@DEPRECATED-->
462<!ATTLIST character standard CDATA #IMPLIED >
463    <!--@METADATA-->
464    <!--@DEPRECATED-->
465<!ATTLIST character references CDATA #IMPLIED >
466    <!--@METADATA-->
467<!ATTLIST character alt NMTOKENS #IMPLIED >
468    <!--@MATCH:literal/variant-->
469
470<!ELEMENT substitute ( #PCDATA ) >
471    <!--@ORDERED-->
472<!ATTLIST substitute draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
473    <!--@METADATA-->
474    <!--@DEPRECATED:true, false-->
475<!ATTLIST substitute standard CDATA #IMPLIED >
476    <!--@METADATA-->
477    <!--@DEPRECATED-->
478<!ATTLIST substitute references CDATA #IMPLIED >
479    <!--@METADATA-->
480<!ATTLIST substitute alt NMTOKENS #IMPLIED >
481    <!--@MATCH:literal/variant-->
482
483<!ELEMENT transforms ( transform* ) >
484
485<!ELEMENT transform ( ( comment | tRule )* ) >
486<!ATTLIST transform source CDATA #IMPLIED >
487	<!--@MATCH:any/TODO-->
488<!ATTLIST transform target CDATA #IMPLIED >
489	<!--@MATCH:any/TODO-->
490<!ATTLIST transform variant CDATA #IMPLIED >
491	<!--@MATCH:any/TODO-->
492<!ATTLIST transform direction (forward | backward | both) "both" >
493<!ATTLIST transform alias CDATA #IMPLIED >
494	<!--@MATCH:any/TODO-->
495    <!--@VALUE-->
496<!ATTLIST transform backwardAlias CDATA #IMPLIED >
497	<!--@MATCH:any/TODO-->
498    <!--@VALUE-->
499<!ATTLIST transform visibility (internal | external) "external" >
500    <!--@VALUE-->
501<!ATTLIST transform draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
502    <!--@METADATA-->
503<!ATTLIST transform references CDATA #IMPLIED >
504    <!--@METADATA-->
505<!ATTLIST transform alt NMTOKENS #IMPLIED >
506    <!--@MATCH:literal/variant-->
507
508<!ELEMENT comment ( #PCDATA ) >
509    <!--@ORDERED-->
510    <!--@METADATA-->
511
512<!ELEMENT tRule ( #PCDATA ) >
513    <!--@ORDERED-->
514
515<!ELEMENT metadata ( attributeOrder?, elementOrder?, serialElements?, suppress?, validity?, alias?, deprecated?, distinguishing?, blocking?, coverageAdditions?, skipDefaultLocale?, defaultContent? ) >
516<!ATTLIST metadata draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
517    <!--@METADATA-->
518    <!--@DEPRECATED-->
519
520<!ELEMENT attributeOrder ( #PCDATA ) >
521    <!--@DEPRECATED-->
522<!ATTLIST attributeOrder draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
523    <!--@METADATA-->
524    <!--@DEPRECATED-->
525
526<!ELEMENT elementOrder ( #PCDATA ) >
527    <!--@DEPRECATED-->
528<!ATTLIST elementOrder draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
529    <!--@METADATA-->
530    <!--@DEPRECATED-->
531
532<!ELEMENT serialElements ( #PCDATA ) >
533    <!--@METADATA-->
534<!ATTLIST serialElements draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
535    <!--@METADATA-->
536    <!--@DEPRECATED:true, false-->
537
538<!ELEMENT suppress ( attributes* ) >
539    <!--@METADATA-->
540<!ATTLIST suppress draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
541    <!--@METADATA-->
542    <!--@DEPRECATED-->
543
544<!ELEMENT attributes EMPTY >
545    <!--@ORDERED-->
546<!ATTLIST attributes element NMTOKENS #IMPLIED >
547	<!--@MATCH:any-->
548    <!--@VALUE-->
549<!ATTLIST attributes attribute NMTOKENS #IMPLIED >
550	<!--@MATCH:any-->
551    <!--@VALUE-->
552<!ATTLIST attributes attributeValue CDATA #IMPLIED >
553	<!--@MATCH:any-->
554    <!--@VALUE-->
555<!ATTLIST attributes draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
556    <!--@METADATA-->
557    <!--@DEPRECATED:true, false-->
558
559<!ELEMENT validity ( variable*, attributeValues* ) >
560    <!--@METADATA-->
561<!ATTLIST validity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
562    <!--@METADATA-->
563    <!--@DEPRECATED-->
564
565<!ELEMENT variable ( #PCDATA ) >
566    <!--@ORDERED-->
567<!ATTLIST variable type NMTOKEN #IMPLIED >
568	<!--@MATCH:any-->
569    <!--@VALUE-->
570<!ATTLIST variable id CDATA #REQUIRED >
571	<!--@MATCH:any-->
572<!ATTLIST variable draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
573    <!--@METADATA-->
574    <!--@DEPRECATED:true, false-->
575
576<!ELEMENT attributeValues ( #PCDATA ) >
577    <!--@ORDERED-->
578<!ATTLIST attributeValues dtds NMTOKEN #IMPLIED >
579	<!--@MATCH:any-->
580<!ATTLIST attributeValues type NMTOKEN #IMPLIED >
581	<!--@MATCH:any-->
582<!ATTLIST attributeValues elements NMTOKENS #IMPLIED >
583	<!--@MATCH:any-->
584    <!--@VALUE-->
585<!ATTLIST attributeValues attributes NMTOKENS #IMPLIED >
586	<!--@MATCH:any-->
587    <!--@VALUE-->
588<!ATTLIST attributeValues order NMTOKEN #IMPLIED >
589	<!--@MATCH:any-->
590    <!--@VALUE-->
591<!ATTLIST attributeValues draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
592    <!--@METADATA-->
593    <!--@DEPRECATED:true, false-->
594
595<!ELEMENT alias ( languageAlias*, scriptAlias*, territoryAlias*, subdivisionAlias*, variantAlias*, zoneAlias* ) >
596<!ATTLIST alias draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
597    <!--@METADATA-->
598    <!--@DEPRECATED-->
599
600<!ELEMENT languageAlias EMPTY >
601<!ATTLIST languageAlias type NMTOKEN #REQUIRED >
602	<!--@MATCH:or/validity/locale||literal/aa_SAAHO, aar, abk, afr, aka, alb, amh, ara, arg, arm, art_lojban, asm, ava, ave, aym, aze, bak, bam, baq, bel, ben, bih, bis, bod, bos, bre, bul, bur, cat, ces, cha, che, chi, chu, chv, cor, cos, cre, cym, cze, dan, deu, div, dut, dzo, ell, eng, epo, est, eus, ewe, fao, fas, fij, fin, fra, fre, fry, ful, geo, ger, gla, gle, glg, glv, gre, grn, guj, hat, hau, hbs, heb, her, hin, hmo, hrv, hun, hye, i_ami, i_bnn, i_hak, i_klingon, i_lux, i_navajo, i_pwn, i_tao, i_tay, i_tsu, ibo, ice, ido, iii, iku, ile, ina, ind, ipk, isl, ita, jav, jpn, kal, kan, kas, kat, kau, kaz, khm, kik, kin, kir, kom, kon, kor, kua, kur, lao, lat, lav, lim, lin, lit, ltz, lub, lug, mac, mah, mal, mao, mar, may, mkd, mlg, mlt, mol, mon, mri, msa, mya, nau, nav, nbl, nde, ndo, nep, nld, nno, no_BOKMAL, no_NYNORSK, no_bok, no_nyn, nob, nor, nya, oci, oji, ori, orm, oss, pan, per, pli, pol, por, pus, que, roh, ron, rum, run, rus, sag, san, scc, scr, sgn_BE_FR, sgn_BE_NL, sgn_CH_DE, sin, slk, slo, slv, sme, smo, sna, snd, som, sot, spa, sqi, srd, srp, ssw, sun, swa, swe, tah, tam, tat, tel, tgk, tgl, tha, tib, tir, ton, tsn, tso, tuk, tur, twi, uig, ukr, urd, uzb, ven, vie, vol, wel, wln, wol, xho, yid, yor, zh_guoyu, zh_hakka, zh_min_nan, zh_xiang, zha, zho, zul-->
603<!ATTLIST languageAlias replacement NMTOKEN #REQUIRED >
604	<!--@MATCH:validity/locale-->
605    <!--@VALUE-->
606<!ATTLIST languageAlias reason (deprecated | overlong | macrolanguage | legacy | bibliographic) #IMPLIED >
607    <!--@VALUE-->
608
609<!ELEMENT scriptAlias EMPTY >
610<!ATTLIST scriptAlias type NMTOKEN #REQUIRED >
611	<!--@MATCH:validity/script-->
612<!ATTLIST scriptAlias replacement NMTOKEN #REQUIRED >
613	<!--@MATCH:validity/script-->
614    <!--@VALUE-->
615<!ATTLIST scriptAlias reason (deprecated | overlong) #IMPLIED >
616    <!--@VALUE-->
617
618<!ELEMENT territoryAlias EMPTY >
619<!ATTLIST territoryAlias type NMTOKEN #REQUIRED >
620	<!--@MATCH:set/or/validity/region||regex/[0-9]{3}|[A-Z]{3}||literal/CT, DY, FQ, HV, JT, MI, NH, NQ, PC, PU, PZ, RH, UK, VD, WK-->
621<!ATTLIST territoryAlias replacement NMTOKENS #REQUIRED >
622	<!--@MATCH:set/validity/region-->
623    <!--@VALUE-->
624<!ATTLIST territoryAlias reason (deprecated | overlong) #IMPLIED >
625    <!--@VALUE-->
626
627<!ELEMENT subdivisionAlias EMPTY >
628<!ATTLIST subdivisionAlias type NMTOKEN #REQUIRED >
629	<!--@MATCH:validity/subdivision-->
630<!ATTLIST subdivisionAlias replacement NMTOKENS #REQUIRED >
631	<!--@MATCH:set/or/validity/region||validity/subdivision-->
632    <!--@VALUE-->
633<!ATTLIST subdivisionAlias reason (deprecated | overlong) #IMPLIED >
634    <!--@VALUE-->
635
636<!ELEMENT variantAlias EMPTY >
637<!ATTLIST variantAlias type NMTOKEN #REQUIRED >
638	<!--@MATCH:or/validity/variant||literal/AALAND, POLYTONI-->
639<!ATTLIST variantAlias replacement NMTOKEN #REQUIRED >
640	<!--@MATCH:or/validity/variant||validity/region-->
641    <!--@VALUE-->
642<!ATTLIST variantAlias reason (deprecated | overlong) #IMPLIED >
643    <!--@VALUE-->
644
645<!ELEMENT zoneAlias EMPTY >
646<!ATTLIST zoneAlias type CDATA #REQUIRED >
647	<!--@MATCH:or/bcp47/tz||literal/SystemV/AST4, SystemV/AST4ADT, SystemV/CST6, SystemV/CST6CDT, SystemV/EST5, SystemV/EST5EDT, SystemV/HST10, SystemV/MST7, SystemV/MST7MDT, SystemV/PST8, SystemV/PST8PDT, SystemV/YST9, SystemV/YST9YDT-->
648<!ATTLIST zoneAlias replacement CDATA #REQUIRED >
649	<!--@MATCH:bcp47/tz-->
650    <!--@VALUE-->
651<!ATTLIST zoneAlias reason (deprecated | overlong) #IMPLIED >
652    <!--@VALUE-->
653
654<!ELEMENT deprecated ( deprecatedItems* ) >
655    <!--@DEPRECATED-->
656<!ATTLIST deprecated draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
657    <!--@METADATA-->
658    <!--@DEPRECATED-->
659
660<!ELEMENT deprecatedItems EMPTY >
661    <!--@DEPRECATED-->
662<!ATTLIST deprecatedItems type (standard | supplemental | ldml | supplementalData | ldmlBCP47) #IMPLIED >
663    <!--@DEPRECATED-->
664<!ATTLIST deprecatedItems elements NMTOKENS #IMPLIED >
665    <!--@DEPRECATED-->
666<!ATTLIST deprecatedItems attributes NMTOKENS #IMPLIED >
667    <!--@DEPRECATED-->
668<!ATTLIST deprecatedItems values CDATA #IMPLIED >
669    <!--@DEPRECATED-->
670<!ATTLIST deprecatedItems draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
671    <!--@METADATA-->
672    <!--@DEPRECATED-->
673
674<!ELEMENT distinguishing ( distinguishingItems* ) >
675    <!--@METADATA-->
676    <!--@DEPRECATED-->
677<!ATTLIST distinguishing draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
678    <!--@METADATA-->
679    <!--@DEPRECATED-->
680
681<!ELEMENT distinguishingItems EMPTY >
682    <!--@DEPRECATED-->
683<!ATTLIST distinguishingItems exclude (true | false) #IMPLIED >
684    <!--@VALUE-->
685    <!--@DEPRECATED-->
686<!ATTLIST distinguishingItems elements NMTOKENS #IMPLIED >
687    <!--@VALUE-->
688    <!--@DEPRECATED-->
689<!ATTLIST distinguishingItems attributes NMTOKENS #IMPLIED >
690    <!--@DEPRECATED-->
691<!ATTLIST distinguishingItems draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
692    <!--@METADATA-->
693    <!--@DEPRECATED-->
694
695<!ELEMENT blocking ( blockingItems* ) >
696    <!--@METADATA-->
697    <!--@DEPRECATED-->
698<!ATTLIST blocking draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
699    <!--@METADATA-->
700    <!--@DEPRECATED-->
701
702<!ELEMENT blockingItems EMPTY >
703    <!--@DEPRECATED-->
704<!ATTLIST blockingItems elements NMTOKENS #IMPLIED >
705    <!--@VALUE-->
706    <!--@DEPRECATED-->
707<!ATTLIST blockingItems draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
708    <!--@METADATA-->
709    <!--@DEPRECATED-->
710
711<!ELEMENT coverageAdditions ( languageCoverage*, scriptCoverage*, territoryCoverage*, currencyCoverage*, timezoneCoverage* ) >
712    <!--@DEPRECATED-->
713<!ATTLIST coverageAdditions draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
714    <!--@METADATA-->
715    <!--@DEPRECATED-->
716
717<!ELEMENT languageCoverage EMPTY >
718    <!--@DEPRECATED-->
719<!ATTLIST languageCoverage type NMTOKEN #IMPLIED >
720    <!--@DEPRECATED-->
721<!ATTLIST languageCoverage values NMTOKENS #IMPLIED >
722    <!--@VALUE-->
723    <!--@DEPRECATED-->
724<!ATTLIST languageCoverage draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
725    <!--@METADATA-->
726    <!--@DEPRECATED-->
727
728<!ELEMENT scriptCoverage EMPTY >
729    <!--@DEPRECATED-->
730<!ATTLIST scriptCoverage type NMTOKEN #IMPLIED >
731    <!--@DEPRECATED-->
732<!ATTLIST scriptCoverage values NMTOKENS #IMPLIED >
733    <!--@VALUE-->
734    <!--@DEPRECATED-->
735<!ATTLIST scriptCoverage draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
736    <!--@METADATA-->
737    <!--@DEPRECATED-->
738
739<!ELEMENT territoryCoverage EMPTY >
740    <!--@DEPRECATED-->
741<!ATTLIST territoryCoverage type NMTOKEN #IMPLIED >
742    <!--@DEPRECATED-->
743<!ATTLIST territoryCoverage values NMTOKENS #IMPLIED >
744    <!--@VALUE-->
745    <!--@DEPRECATED-->
746<!ATTLIST territoryCoverage draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
747    <!--@METADATA-->
748    <!--@DEPRECATED-->
749
750<!ELEMENT currencyCoverage EMPTY >
751    <!--@DEPRECATED-->
752<!ATTLIST currencyCoverage type NMTOKEN #IMPLIED >
753    <!--@DEPRECATED-->
754<!ATTLIST currencyCoverage values NMTOKENS #IMPLIED >
755    <!--@VALUE-->
756    <!--@DEPRECATED-->
757<!ATTLIST currencyCoverage draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
758    <!--@METADATA-->
759    <!--@DEPRECATED-->
760
761<!ELEMENT timezoneCoverage EMPTY >
762    <!--@DEPRECATED-->
763<!ATTLIST timezoneCoverage type NMTOKEN #IMPLIED >
764    <!--@DEPRECATED-->
765<!ATTLIST timezoneCoverage values CDATA #IMPLIED >
766    <!-- would be NMTOKENS, but needs to allow / -->
767    <!--@VALUE-->
768    <!--@DEPRECATED-->
769<!ATTLIST timezoneCoverage draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
770    <!--@METADATA-->
771    <!--@DEPRECATED-->
772
773<!ELEMENT skipDefaultLocale EMPTY >
774    <!--@DEPRECATED-->
775<!ATTLIST skipDefaultLocale services NMTOKENS #IMPLIED >
776    <!--@VALUE-->
777    <!--@DEPRECATED-->
778
779<!ELEMENT defaultContent EMPTY >
780<!ATTLIST defaultContent locales NMTOKENS #IMPLIED >
781	<!--@MATCH:set/validity/locale-->
782    <!--@VALUE-->
783
784<!ELEMENT codeMappings ( languageCodes*, territoryCodes*, currencyCodes* ) >
785
786<!ELEMENT languageCodes EMPTY >
787    <!--@DEPRECATED-->
788<!ATTLIST languageCodes type NMTOKEN #REQUIRED >
789    <!--@DEPRECATED-->
790<!ATTLIST languageCodes alpha3 NMTOKEN #REQUIRED >
791    <!--@VALUE-->
792    <!--@DEPRECATED-->
793
794<!ELEMENT territoryCodes EMPTY >
795<!ATTLIST territoryCodes type NMTOKEN #REQUIRED >
796	<!--@MATCH:validity/region-->
797<!ATTLIST territoryCodes numeric NMTOKEN #IMPLIED >
798	<!--@MATCH:range/1~999-->
799    <!--@VALUE-->
800<!ATTLIST territoryCodes alpha3 NMTOKEN #IMPLIED >
801	<!--@MATCH:regex/[A-Z]{3}-->
802    <!--@VALUE-->
803<!ATTLIST territoryCodes fips10 NMTOKEN #IMPLIED >
804	<!--@MATCH:regex/[A-Z]{2}-->
805    <!--@VALUE-->
806<!ATTLIST territoryCodes internet NMTOKENS #IMPLIED >
807    <!--@VALUE-->
808    <!--@DEPRECATED-->
809
810<!ELEMENT currencyCodes EMPTY >
811<!ATTLIST currencyCodes type NMTOKEN #REQUIRED >
812	<!--@MATCH:validity/currency-->
813<!ATTLIST currencyCodes numeric NMTOKEN #REQUIRED >
814	<!--@MATCH:range/1~999-->
815    <!--@VALUE-->
816
817<!-- # Parent locales -->
818
819<!ELEMENT parentLocales ( parentLocale* ) >
820
821<!ELEMENT parentLocale EMPTY >
822<!ATTLIST parentLocale parent NMTOKEN #REQUIRED >
823	<!--@MATCH:validity/locale-->
824<!ATTLIST parentLocale locales NMTOKENS #REQUIRED >
825	<!--@MATCH:set/validity/locale-->
826    <!--@VALUE-->
827
828<!ELEMENT likelySubtags ( likelySubtag* ) >
829
830<!ELEMENT likelySubtag EMPTY >
831<!ATTLIST likelySubtag from NMTOKEN #REQUIRED >
832	<!--@MATCH:validity/locale-->
833<!ATTLIST likelySubtag to NMTOKEN #REQUIRED >
834	<!--@MATCH:validity/locale-->
835    <!--@VALUE-->
836
837<!ELEMENT metazoneInfo ( timezone* ) >
838
839<!ELEMENT timezone ( usesMetazone* ) >
840<!ATTLIST timezone type CDATA #REQUIRED >
841	<!--@MATCH:bcp47/tz-->
842<!ELEMENT usesMetazone EMPTY >
843<!ATTLIST usesMetazone from CDATA #IMPLIED >
844	<!--@MATCH:time/yyyy-MM-dd HH:mm-->
845<!ATTLIST usesMetazone to CDATA #IMPLIED >
846	<!--@MATCH:time/yyyy-MM-dd HH:mm-->
847<!ATTLIST usesMetazone mzone NMTOKEN #REQUIRED >
848	<!--@MATCH:metazone-->
849    <!--@VALUE-->
850
851<!ELEMENT plurals ( pluralRules*, pluralRanges* ) >
852<!ATTLIST plurals type (ordinal | cardinal) #IMPLIED >
853    <!-- default is cardinal -->
854<!ATTLIST plurals draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
855    <!--@METADATA-->
856    <!--@DEPRECATED-->
857<!ATTLIST plurals references CDATA #IMPLIED >
858    <!--@METADATA-->
859
860<!ELEMENT pluralRules ( pluralRule* ) >
861<!ATTLIST pluralRules locales NMTOKENS #REQUIRED >
862	<!--@MATCH:set/validity/locale-->
863<!ATTLIST pluralRules draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
864    <!--@METADATA-->
865    <!--@DEPRECATED-->
866<!ATTLIST pluralRules references CDATA #IMPLIED >
867    <!--@METADATA-->
868
869<!ELEMENT pluralRule ( #PCDATA ) >
870    <!--@ORDERED-->
871<!ATTLIST pluralRule count (zero | one | two | few | many | other) #REQUIRED >
872    <!-- 'other' is implicitly everything else -->
873<!ATTLIST pluralRule draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
874    <!--@METADATA-->
875<!ATTLIST pluralRule references CDATA #IMPLIED >
876    <!--@METADATA-->
877
878<!ELEMENT pluralRanges ( pluralRange* ) >
879<!ATTLIST pluralRanges locales NMTOKENS #REQUIRED >
880	<!--@MATCH:set/validity/locale-->
881<!ATTLIST pluralRanges draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
882    <!--@METADATA-->
883    <!--@DEPRECATED-->
884<!ATTLIST pluralRanges references CDATA #IMPLIED >
885    <!--@METADATA-->
886
887<!ELEMENT pluralRange EMPTY >
888<!ATTLIST pluralRange start (zero | one | two | few | many | other) #IMPLIED >
889    <!-- if missing, means *all* -->
890<!ATTLIST pluralRange end (zero | one | two | few | many | other) #IMPLIED >
891    <!-- if missing, means *all* -->
892<!ATTLIST pluralRange result (zero | one | two | few | many | other) #REQUIRED >
893    <!-- if a whole rule is missing, means *other* -->
894    <!--@VALUE-->
895<!ATTLIST pluralRange draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
896    <!--@METADATA-->
897<!ATTLIST pluralRange references CDATA #IMPLIED >
898    <!--@METADATA-->
899
900<!ELEMENT telephoneCodeData ( codesByTerritory* ) >
901    <!--@DEPRECATED-->
902
903<!ELEMENT codesByTerritory ( telephoneCountryCode+ ) >
904    <!--@DEPRECATED-->
905<!ATTLIST codesByTerritory territory NMTOKEN #REQUIRED >
906    <!--@DEPRECATED-->
907<!ATTLIST codesByTerritory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
908    <!--@METADATA-->
909    <!--@DEPRECATED-->
910<!ATTLIST codesByTerritory references CDATA #IMPLIED >
911    <!--@METADATA-->
912    <!--@DEPRECATED-->
913
914<!ELEMENT telephoneCountryCode EMPTY >
915    <!--@DEPRECATED-->
916<!ATTLIST telephoneCountryCode code NMTOKEN #REQUIRED >
917    <!--@DEPRECATED-->
918<!ATTLIST telephoneCountryCode from NMTOKEN #IMPLIED >
919    <!--@VALUE-->
920    <!--@DEPRECATED-->
921<!ATTLIST telephoneCountryCode to NMTOKEN #IMPLIED >
922    <!--@VALUE-->
923    <!--@DEPRECATED-->
924<!ATTLIST telephoneCountryCode draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
925    <!--@METADATA-->
926    <!--@DEPRECATED-->
927<!ATTLIST telephoneCountryCode references CDATA #IMPLIED >
928    <!--@METADATA-->
929    <!--@DEPRECATED-->
930<!ATTLIST telephoneCountryCode alt NMTOKENS #IMPLIED >
931    <!--@MATCH:literal/variant-->
932    <!--@DEPRECATED-->
933
934<!ELEMENT numberingSystems ( numberingSystem* ) >
935
936<!ELEMENT numberingSystem EMPTY >
937<!ATTLIST numberingSystem type (numeric | algorithmic) #REQUIRED >
938    <!--@VALUE-->
939<!ATTLIST numberingSystem id NMTOKEN #REQUIRED >
940	<!--@MATCH:bcp47/nu-->
941<!ATTLIST numberingSystem radix NMTOKEN #IMPLIED >
942    <!--@VALUE-->
943<!ATTLIST numberingSystem digits CDATA #IMPLIED >
944	<!--@MATCH:unicodeset/[\p{Nd}[\u3007\u4E00\u4E03\u4E09\u4E5D\u4E8C\u4E94\u516B\u516D\u56DB][\U0001E140-\U0001E149][\U0001E2F0-\U0001E2F9]]-->
945    <!--@VALUE-->
946<!ATTLIST numberingSystem rules CDATA #IMPLIED >
947	<!--@MATCH:any-->
948    <!--@VALUE-->
949<!ATTLIST numberingSystem draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
950    <!--@METADATA-->
951
952<!ELEMENT bcp47KeywordMappings ( mapKeys?, mapTypes* ) >
953    <!--@DEPRECATED-->
954
955<!ELEMENT mapKeys ( keyMap* ) >
956    <!--@DEPRECATED-->
957
958<!ELEMENT keyMap EMPTY >
959    <!--@DEPRECATED-->
960<!ATTLIST keyMap type NMTOKEN #REQUIRED >
961    <!--@DEPRECATED-->
962<!ATTLIST keyMap bcp47 NMTOKEN #REQUIRED >
963    <!--@VALUE-->
964    <!--@DEPRECATED-->
965
966<!ELEMENT mapTypes ( typeMap* ) >
967    <!--@DEPRECATED-->
968<!ATTLIST mapTypes type NMTOKEN #REQUIRED >
969    <!--@DEPRECATED-->
970
971<!ELEMENT typeMap EMPTY >
972    <!--@DEPRECATED-->
973<!ATTLIST typeMap type CDATA #REQUIRED >
974    <!--@DEPRECATED-->
975<!ATTLIST typeMap bcp47 NMTOKEN #REQUIRED >
976    <!--@VALUE-->
977    <!--@DEPRECATED-->
978
979<!-- # Gender List support -->
980
981<!ELEMENT gender ( personList+ ) >
982
983<!ELEMENT personList EMPTY >
984<!ATTLIST personList type (neutral | mixedNeutral | maleTaints) #REQUIRED >
985<!ATTLIST personList locales NMTOKENS #REQUIRED >
986	<!--@MATCH:set/validity/locale-->
987    <!--@VALUE-->
988
989<!ELEMENT references ( reference* ) >
990    <!--@METADATA-->
991
992<!ELEMENT reference ( #PCDATA ) >
993    <!--@METADATA-->
994<!ATTLIST reference type NMTOKEN #REQUIRED >
995	<!--@MATCH:any-->
996<!ATTLIST reference uri CDATA #IMPLIED >
997	<!--@MATCH:any-->
998    <!--@VALUE-->
999<!ATTLIST reference draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
1000    <!--@METADATA-->
1001    <!--@DEPRECATED:true, false-->
1002<!ATTLIST reference standard (true | false) #IMPLIED >
1003    <!--@METADATA-->
1004    <!--@DEPRECATED-->
1005<!ATTLIST reference alt NMTOKENS #IMPLIED >
1006    <!--@MATCH:literal/variant-->
1007
1008<!ELEMENT languageMatching ( languageMatches* ) >
1009
1010<!ELEMENT languageMatches ( paradigmLocales*, matchVariable*, languageMatch* ) >
1011<!ATTLIST languageMatches type NMTOKEN #REQUIRED >
1012	<!--@MATCH:literal/written, written_new-->
1013
1014<!ELEMENT paradigmLocales EMPTY >
1015<!ATTLIST paradigmLocales locales NMTOKENS #REQUIRED >
1016	<!--@MATCH:set/validity/locale-->
1017    <!--@VALUE-->
1018
1019<!ELEMENT matchVariable EMPTY >
1020<!ATTLIST matchVariable id CDATA #REQUIRED >
1021	<!--@MATCH:regex/\$[a-zA-Z0-9_]+-->
1022<!ATTLIST matchVariable value CDATA #REQUIRED >
1023	<!--@MATCH:any-->
1024    <!--@VALUE-->
1025
1026<!ELEMENT languageMatch EMPTY >
1027    <!--@ORDERED-->
1028<!ATTLIST languageMatch desired CDATA #REQUIRED >
1029	<!--@MATCH:any/TODO-->
1030<!ATTLIST languageMatch supported CDATA #REQUIRED >
1031	<!--@MATCH:any/TODO-->
1032<!ATTLIST languageMatch percent NMTOKEN #IMPLIED >
1033	<!--@MATCH:range/0~100-->
1034    <!--@VALUE-->
1035<!ATTLIST languageMatch distance NMTOKEN #IMPLIED >
1036	<!--@MATCH:range/0~100-->
1037    <!--@VALUE-->
1038<!ATTLIST languageMatch oneway (true | false) #IMPLIED >
1039    <!--@VALUE-->
1040
1041<!-- # Day Periods -->
1042
1043<!ELEMENT dayPeriodRuleSet ( dayPeriodRules* ) >
1044<!ATTLIST dayPeriodRuleSet type NMTOKEN #IMPLIED >
1045	<!--@MATCH:literal/selection-->
1046<!ATTLIST dayPeriodRuleSet draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
1047    <!--@METADATA-->
1048    <!--@DEPRECATED-->
1049<!ATTLIST dayPeriodRuleSet references CDATA #IMPLIED >
1050    <!--@METADATA-->
1051
1052<!ELEMENT dayPeriodRules ( dayPeriodRule* ) >
1053<!ATTLIST dayPeriodRules locales NMTOKENS #REQUIRED >
1054	<!--@MATCH:set/validity/locale-->
1055<!ATTLIST dayPeriodRules draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
1056    <!--@METADATA-->
1057    <!--@DEPRECATED-->
1058<!ATTLIST dayPeriodRules references CDATA #IMPLIED >
1059    <!--@METADATA-->
1060
1061<!ELEMENT dayPeriodRule EMPTY >
1062<!ATTLIST dayPeriodRule type NMTOKEN #REQUIRED >
1063	<!--@MATCH:literal/afternoon1, afternoon2, am, evening1, evening2, midnight, morning1, morning2, night1, night2, noon, pm-->
1064<!ATTLIST dayPeriodRule at NMTOKEN #IMPLIED >
1065	<!--@MATCH:time/HH:mm-->
1066    <!--@VALUE-->
1067<!ATTLIST dayPeriodRule after NMTOKEN #IMPLIED >
1068	<!--@MATCH:time/HH:mm-->
1069    <!--@VALUE-->
1070    <!--@DEPRECATED-->
1071<!ATTLIST dayPeriodRule before NMTOKEN #IMPLIED >
1072	<!--@MATCH:time/HH:mm-->
1073    <!--@VALUE-->
1074<!ATTLIST dayPeriodRule from NMTOKEN #IMPLIED >
1075	<!--@MATCH:time/HH:mm-->
1076    <!--@VALUE-->
1077<!ATTLIST dayPeriodRule to NMTOKEN #IMPLIED >
1078	<!--@MATCH:time/HH:mm-->
1079    <!--@VALUE-->
1080    <!--@DEPRECATED-->
1081<!ATTLIST dayPeriodRule draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
1082    <!--@METADATA-->
1083<!ATTLIST dayPeriodRule references CDATA #IMPLIED >
1084    <!--@METADATA-->
1085
1086<!ELEMENT metaZones ( metazoneInfo?, mapTimezones? ) >
1087
1088<!ELEMENT primaryZones ( primaryZone* ) >
1089
1090<!ELEMENT primaryZone ( #PCDATA ) >
1091<!ATTLIST primaryZone iso3166 NMTOKEN #REQUIRED >
1092	<!--@MATCH:validity/region-->
1093
1094<!-- # Time Zones -->
1095
1096<!ELEMENT windowsZones ( mapTimezones? ) >
1097
1098<!-- # Coverage levels -->
1099
1100<!ELEMENT coverageLevels ( approvalRequirements, coverageVariable*, coverageLevel* ) >
1101    <!--@METADATA-->
1102
1103<!ELEMENT approvalRequirements ( approvalRequirement* ) >
1104
1105<!ELEMENT approvalRequirement EMPTY >
1106<!ATTLIST approvalRequirement votes CDATA #REQUIRED >
1107	<!--@MATCH:any-->
1108    <!--@VALUE-->
1109<!ATTLIST approvalRequirement locales CDATA #REQUIRED >
1110	<!--@MATCH:any-->
1111<!ATTLIST approvalRequirement paths CDATA #REQUIRED >
1112	<!--@MATCH:any-->
1113
1114<!ELEMENT coverageVariable EMPTY >
1115    <!--@ORDERED-->
1116<!ATTLIST coverageVariable key CDATA #REQUIRED >
1117	<!--@MATCH:any-->
1118<!ATTLIST coverageVariable value CDATA #REQUIRED >
1119	<!--@MATCH:any-->
1120    <!--@VALUE-->
1121
1122<!ELEMENT coverageLevel EMPTY >
1123    <!--@ORDERED-->
1124<!ATTLIST coverageLevel inLanguage CDATA #IMPLIED >
1125	<!--@MATCH:any-->
1126<!ATTLIST coverageLevel inScript CDATA #IMPLIED >
1127	<!--@MATCH:validity/script-->
1128<!ATTLIST coverageLevel inTerritory CDATA #IMPLIED >
1129	<!--@MATCH:any-->
1130<!ATTLIST coverageLevel value CDATA #REQUIRED >
1131	<!--@MATCH:literal/basic, core, minimal, moderate, modern, posix-->
1132    <!--@VALUE-->
1133<!ATTLIST coverageLevel match CDATA #REQUIRED >
1134	<!--@MATCH:any-->
1135
1136<!ELEMENT idValidity ( id* ) >
1137
1138<!ELEMENT id ( #PCDATA ) >
1139<!ATTLIST id type NMTOKEN #REQUIRED >
1140	<!--@MATCH:literal/currency, language, region, script, subdivision, unit, variant-->
1141<!ATTLIST id idStatus NMTOKEN #REQUIRED >
1142	<!--@MATCH:literal/deprecated, macroregion, private_use, regular, reserved, special, unknown-->
1143
1144<!ELEMENT rgScope ( rgPath* ) >
1145
1146<!ELEMENT rgPath EMPTY >
1147<!ATTLIST rgPath path CDATA #REQUIRED >
1148	<!--@MATCH:any-->
1149<!ATTLIST rgPath draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
1150    <!--@METADATA-->
1151
1152<!ELEMENT languageGroups ( languageGroup* ) >
1153
1154<!ELEMENT languageGroup ( #PCDATA ) >
1155<!ATTLIST languageGroup parent NMTOKEN #REQUIRED >
1156	<!--@MATCH:validity/language-->
1157