xref: /aosp_15_r20/external/cldr/common/dtd/ldmlSupplemental.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="supplementalData">
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 minOccurs="0" ref="currencyData"/>
20        <xs:element minOccurs="0" ref="territoryContainment"/>
21        <xs:element minOccurs="0" ref="subdivisionContainment"/>
22        <xs:element minOccurs="0" ref="languageData"/>
23        <xs:element minOccurs="0" ref="territoryInfo"/>
24        <xs:element minOccurs="0" ref="postalCodeData"/>
25        <xs:element minOccurs="0" ref="calendarData"/>
26        <xs:element minOccurs="0" ref="calendarPreferenceData"/>
27        <xs:element minOccurs="0" ref="weekData"/>
28        <xs:element minOccurs="0" ref="timeData"/>
29        <xs:element minOccurs="0" ref="measurementData"/>
30        <xs:element minOccurs="0" ref="unitIdComponents"/>
31        <xs:element minOccurs="0" ref="unitPrefixes"/>
32        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstants"/>
33        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantities"/>
34        <xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnits"/>
35        <xs:element minOccurs="0" ref="unitPreferenceData"/>
36        <xs:element minOccurs="0" ref="timezoneData"/>
37        <xs:element minOccurs="0" ref="characters"/>
38        <xs:element minOccurs="0" ref="transforms"/>
39        <xs:element minOccurs="0" ref="metadata"/>
40        <xs:element minOccurs="0" ref="codeMappings"/>
41        <xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocales"/>
42        <xs:element minOccurs="0" ref="personNamesDefaults"/>
43        <xs:element minOccurs="0" ref="likelySubtags"/>
44        <xs:element minOccurs="0" ref="metazoneInfo"/>
45        <xs:element minOccurs="0" ref="plurals"/>
46        <xs:element minOccurs="0" ref="telephoneCodeData"/>
47        <xs:element minOccurs="0" ref="numberingSystems"/>
48        <xs:element minOccurs="0" ref="bcp47KeywordMappings"/>
49        <xs:element minOccurs="0" ref="gender"/>
50        <xs:element minOccurs="0" ref="references"/>
51        <xs:element minOccurs="0" ref="languageMatching"/>
52        <xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRuleSet"/>
53        <xs:element minOccurs="0" ref="metaZones"/>
54        <xs:element minOccurs="0" ref="primaryZones"/>
55        <xs:element minOccurs="0" ref="windowsZones"/>
56        <xs:element minOccurs="0" ref="coverageLevels"/>
57        <xs:element minOccurs="0" ref="idValidity"/>
58        <xs:element minOccurs="0" ref="rgScope"/>
59        <xs:element minOccurs="0" ref="languageGroups"/>
60        <xs:element minOccurs="0" ref="grammaticalData"/>
61      </xs:sequence>
62    </xs:complexType>
63  </xs:element>
64  <xs:element name="version">
65    <xs:complexType>
66      <xs:attribute name="number" use="required"/>
67      <xs:attribute default="45" name="cldrVersion">
68        <xs:simpleType>
69          <xs:restriction base="xs:string">
70            <xs:enumeration value="45"/>
71          </xs:restriction>
72        </xs:simpleType>
73      </xs:attribute>
74      <xs:attribute default="15.1.0" name="unicodeVersion">
75        <xs:simpleType>
76          <xs:restriction base="xs:string">
77            <xs:enumeration value="15.1.0"/>
78          </xs:restriction>
79        </xs:simpleType>
80      </xs:attribute>
81    </xs:complexType>
82  </xs:element>
83
84
85
86
87
88
89
90  <xs:element name="generation">
91    <xs:complexType>
92      <xs:attribute name="date" use="required"/>
93    </xs:complexType>
94  </xs:element>
95
96
97
98
99  <xs:element name="cldrVersion">
100    <xs:complexType>
101      <xs:attribute name="version" use="required"/>
102    </xs:complexType>
103  </xs:element>
104
105
106
107  <xs:element name="currencyData">
108    <xs:complexType>
109      <xs:sequence>
110        <xs:element maxOccurs="unbounded" minOccurs="0" ref="fractions"/>
111        <xs:element maxOccurs="unbounded" ref="region"/>
112      </xs:sequence>
113      <xs:attribute name="draft">
114        <xs:simpleType>
115          <xs:restriction base="xs:token">
116            <xs:enumeration value="approved"/>
117            <xs:enumeration value="contributed"/>
118            <xs:enumeration value="provisional"/>
119            <xs:enumeration value="unconfirmed"/>
120            <xs:enumeration value="true"/>
121            <xs:enumeration value="false"/>
122          </xs:restriction>
123        </xs:simpleType>
124      </xs:attribute>
125    </xs:complexType>
126  </xs:element>
127
128
129  <xs:element name="fractions">
130    <xs:complexType>
131      <xs:sequence>
132        <xs:element maxOccurs="unbounded" ref="info"/>
133      </xs:sequence>
134      <xs:attribute name="draft">
135        <xs:simpleType>
136          <xs:restriction base="xs:token">
137            <xs:enumeration value="approved"/>
138            <xs:enumeration value="contributed"/>
139            <xs:enumeration value="provisional"/>
140            <xs:enumeration value="unconfirmed"/>
141            <xs:enumeration value="true"/>
142            <xs:enumeration value="false"/>
143          </xs:restriction>
144        </xs:simpleType>
145      </xs:attribute>
146    </xs:complexType>
147  </xs:element>
148
149
150  <xs:element name="info">
151    <xs:complexType>
152      <xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
153      <xs:attribute name="digits" type="xs:NMTOKEN"/>
154      <xs:attribute name="rounding" type="xs:NMTOKEN"/>
155      <xs:attribute name="cashDigits" type="xs:NMTOKEN"/>
156      <xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
157      <xs:attribute name="draft">
158        <xs:simpleType>
159          <xs:restriction base="xs:token">
160            <xs:enumeration value="approved"/>
161            <xs:enumeration value="contributed"/>
162            <xs:enumeration value="provisional"/>
163            <xs:enumeration value="unconfirmed"/>
164            <xs:enumeration value="true"/>
165            <xs:enumeration value="false"/>
166          </xs:restriction>
167        </xs:simpleType>
168      </xs:attribute>
169      <xs:attribute name="references"/>
170    </xs:complexType>
171  </xs:element>
172
173
174
175
176
177
178
179
180
181
182
183
184  <xs:element name="region">
185    <xs:complexType>
186      <xs:sequence>
187        <xs:element maxOccurs="unbounded" minOccurs="0" ref="currency"/>
188      </xs:sequence>
189      <xs:attribute name="iso3166" type="xs:NMTOKEN" use="required"/>
190      <xs:attribute name="draft">
191        <xs:simpleType>
192          <xs:restriction base="xs:token">
193            <xs:enumeration value="approved"/>
194            <xs:enumeration value="contributed"/>
195            <xs:enumeration value="provisional"/>
196            <xs:enumeration value="unconfirmed"/>
197            <xs:enumeration value="true"/>
198            <xs:enumeration value="false"/>
199          </xs:restriction>
200        </xs:simpleType>
201      </xs:attribute>
202    </xs:complexType>
203  </xs:element>
204
205
206
207  <xs:element name="currency">
208    <xs:complexType>
209      <xs:sequence>
210        <xs:element maxOccurs="unbounded" minOccurs="0" ref="alternate"/>
211      </xs:sequence>
212      <xs:attribute name="before" type="xs:NMTOKEN"/>
213      <xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
214      <xs:attribute name="from" type="xs:NMTOKEN"/>
215      <xs:attribute name="to" type="xs:NMTOKEN"/>
216      <xs:attribute name="tz"/>
217      <xs:attribute name="to-tz"/>
218      <xs:attribute name="digits" type="xs:NMTOKEN"/>
219      <xs:attribute name="rounding" type="xs:NMTOKEN"/>
220      <xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
221      <xs:attribute name="tender">
222        <xs:simpleType>
223          <xs:restriction base="xs:token">
224            <xs:enumeration value="true"/>
225            <xs:enumeration value="false"/>
226          </xs:restriction>
227        </xs:simpleType>
228      </xs:attribute>
229      <xs:attribute name="draft">
230        <xs:simpleType>
231          <xs:restriction base="xs:token">
232            <xs:enumeration value="approved"/>
233            <xs:enumeration value="contributed"/>
234            <xs:enumeration value="provisional"/>
235            <xs:enumeration value="unconfirmed"/>
236            <xs:enumeration value="true"/>
237            <xs:enumeration value="false"/>
238          </xs:restriction>
239        </xs:simpleType>
240      </xs:attribute>
241      <xs:attribute name="references"/>
242    </xs:complexType>
243  </xs:element>
244  <!-- use from and to instead. -->
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261  <xs:element name="alternate">
262    <xs:complexType>
263      <xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
264    </xs:complexType>
265  </xs:element>
266  <!-- use from and to instead. -->
267
268
269  <xs:element name="territoryContainment">
270    <xs:complexType>
271      <xs:sequence>
272        <xs:element maxOccurs="unbounded" minOccurs="0" ref="group"/>
273      </xs:sequence>
274    </xs:complexType>
275  </xs:element>
276  <xs:element name="group">
277    <xs:complexType>
278      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
279      <xs:attribute name="contains" type="xs:NMTOKENS"/>
280      <xs:attribute name="grouping">
281        <xs:simpleType>
282          <xs:restriction base="xs:token">
283            <xs:enumeration value="true"/>
284            <xs:enumeration value="false"/>
285          </xs:restriction>
286        </xs:simpleType>
287      </xs:attribute>
288      <xs:attribute name="status">
289        <xs:simpleType>
290          <xs:restriction base="xs:token">
291            <xs:enumeration value="deprecated"/>
292            <xs:enumeration value="grouping"/>
293          </xs:restriction>
294        </xs:simpleType>
295      </xs:attribute>
296      <xs:attribute name="draft">
297        <xs:simpleType>
298          <xs:restriction base="xs:token">
299            <xs:enumeration value="approved"/>
300            <xs:enumeration value="contributed"/>
301            <xs:enumeration value="provisional"/>
302            <xs:enumeration value="unconfirmed"/>
303            <xs:enumeration value="true"/>
304            <xs:enumeration value="false"/>
305          </xs:restriction>
306        </xs:simpleType>
307      </xs:attribute>
308      <xs:attribute name="references"/>
309    </xs:complexType>
310  </xs:element>
311
312
313
314
315
316
317
318  <xs:element name="subdivisionContainment">
319    <xs:complexType>
320      <xs:sequence>
321        <xs:element maxOccurs="unbounded" minOccurs="0" ref="subgroup"/>
322      </xs:sequence>
323    </xs:complexType>
324  </xs:element>
325  <xs:element name="subgroup">
326    <xs:complexType>
327      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
328      <xs:attribute name="subtype" type="xs:NMTOKEN"/>
329      <xs:attribute name="contains" type="xs:NMTOKENS"/>
330    </xs:complexType>
331  </xs:element>
332
333
334
335
336  <xs:element name="languageData">
337    <xs:complexType>
338      <xs:sequence>
339        <xs:element maxOccurs="unbounded" minOccurs="0" ref="language"/>
340      </xs:sequence>
341    </xs:complexType>
342  </xs:element>
343  <xs:element name="language">
344    <xs:complexType>
345      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
346      <xs:attribute name="scripts" type="xs:NMTOKENS"/>
347      <xs:attribute name="territories" type="xs:NMTOKENS"/>
348      <xs:attribute name="variants" type="xs:NMTOKENS"/>
349      <xs:attribute name="draft">
350        <xs:simpleType>
351          <xs:restriction base="xs:token">
352            <xs:enumeration value="approved"/>
353            <xs:enumeration value="contributed"/>
354            <xs:enumeration value="provisional"/>
355            <xs:enumeration value="unconfirmed"/>
356            <xs:enumeration value="true"/>
357            <xs:enumeration value="false"/>
358          </xs:restriction>
359        </xs:simpleType>
360      </xs:attribute>
361      <xs:attribute name="references"/>
362      <xs:attribute name="alt" type="xs:NMTOKENS"/>
363    </xs:complexType>
364  </xs:element>
365
366
367
368
369
370
371
372
373
374
375  <xs:element name="territoryInfo">
376    <xs:complexType>
377      <xs:sequence>
378        <xs:element maxOccurs="unbounded" minOccurs="0" ref="territory"/>
379      </xs:sequence>
380      <xs:attribute name="draft">
381        <xs:simpleType>
382          <xs:restriction base="xs:token">
383            <xs:enumeration value="approved"/>
384            <xs:enumeration value="contributed"/>
385            <xs:enumeration value="provisional"/>
386            <xs:enumeration value="unconfirmed"/>
387            <xs:enumeration value="true"/>
388            <xs:enumeration value="false"/>
389          </xs:restriction>
390        </xs:simpleType>
391      </xs:attribute>
392      <xs:attribute name="references"/>
393      <xs:attribute name="alt" type="xs:NMTOKENS"/>
394    </xs:complexType>
395  </xs:element>
396
397
398
399
400  <xs:element name="territory">
401    <xs:complexType>
402      <xs:sequence>
403        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languagePopulation"/>
404      </xs:sequence>
405      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
406      <xs:attribute name="gdp" type="xs:NMTOKEN" use="required"/>
407      <xs:attribute name="literacyPercent" type="xs:NMTOKEN" use="required"/>
408      <xs:attribute name="population" type="xs:NMTOKEN" use="required"/>
409      <xs:attribute name="draft">
410        <xs:simpleType>
411          <xs:restriction base="xs:token">
412            <xs:enumeration value="approved"/>
413            <xs:enumeration value="contributed"/>
414            <xs:enumeration value="provisional"/>
415            <xs:enumeration value="unconfirmed"/>
416            <xs:enumeration value="true"/>
417            <xs:enumeration value="false"/>
418          </xs:restriction>
419        </xs:simpleType>
420      </xs:attribute>
421      <xs:attribute name="references"/>
422      <xs:attribute name="alt" type="xs:NMTOKENS"/>
423    </xs:complexType>
424  </xs:element>
425
426
427
428
429
430
431
432
433
434
435
436
437  <xs:element name="languagePopulation">
438    <xs:complexType>
439      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
440      <xs:attribute name="literacyPercent" type="xs:NMTOKEN"/>
441      <xs:attribute name="writingPercent" type="xs:NMTOKEN"/>
442      <xs:attribute name="populationPercent" type="xs:NMTOKEN" use="required"/>
443      <xs:attribute name="officialStatus">
444        <xs:simpleType>
445          <xs:restriction base="xs:token">
446            <xs:enumeration value="de_facto_official"/>
447            <xs:enumeration value="official"/>
448            <xs:enumeration value="official_regional"/>
449            <xs:enumeration value="official_minority"/>
450          </xs:restriction>
451        </xs:simpleType>
452      </xs:attribute>
453      <xs:attribute name="draft">
454        <xs:simpleType>
455          <xs:restriction base="xs:token">
456            <xs:enumeration value="approved"/>
457            <xs:enumeration value="contributed"/>
458            <xs:enumeration value="provisional"/>
459            <xs:enumeration value="unconfirmed"/>
460            <xs:enumeration value="true"/>
461            <xs:enumeration value="false"/>
462          </xs:restriction>
463        </xs:simpleType>
464      </xs:attribute>
465      <xs:attribute name="references"/>
466      <xs:attribute name="alt" type="xs:NMTOKENS"/>
467    </xs:complexType>
468  </xs:element>
469
470
471
472
473
474
475
476
477
478
479
480
481
482  <xs:element name="postalCodeData">
483    <xs:complexType>
484      <xs:sequence>
485        <xs:element maxOccurs="unbounded" minOccurs="0" ref="postCodeRegex"/>
486      </xs:sequence>
487    </xs:complexType>
488  </xs:element>
489
490  <xs:element name="postCodeRegex">
491    <xs:complexType mixed="true">
492      <xs:attribute name="territoryId" type="xs:NMTOKEN" use="required"/>
493      <xs:attribute name="draft">
494        <xs:simpleType>
495          <xs:restriction base="xs:token">
496            <xs:enumeration value="approved"/>
497            <xs:enumeration value="contributed"/>
498            <xs:enumeration value="provisional"/>
499            <xs:enumeration value="unconfirmed"/>
500            <xs:enumeration value="true"/>
501            <xs:enumeration value="false"/>
502          </xs:restriction>
503        </xs:simpleType>
504      </xs:attribute>
505    </xs:complexType>
506  </xs:element>
507
508
509
510
511  <xs:element name="calendarData">
512    <xs:complexType>
513      <xs:sequence>
514        <xs:element maxOccurs="unbounded" minOccurs="0" ref="calendar"/>
515      </xs:sequence>
516    </xs:complexType>
517  </xs:element>
518  <xs:element name="calendar">
519    <xs:complexType>
520      <xs:sequence>
521        <xs:element minOccurs="0" ref="calendarSystem"/>
522        <xs:element minOccurs="0" ref="inheritEras"/>
523        <xs:element minOccurs="0" ref="eras"/>
524      </xs:sequence>
525      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
526      <xs:attribute name="territories" type="xs:NMTOKENS"/>
527      <xs:attribute name="draft">
528        <xs:simpleType>
529          <xs:restriction base="xs:token">
530            <xs:enumeration value="approved"/>
531            <xs:enumeration value="contributed"/>
532            <xs:enumeration value="provisional"/>
533            <xs:enumeration value="unconfirmed"/>
534            <xs:enumeration value="true"/>
535            <xs:enumeration value="false"/>
536          </xs:restriction>
537        </xs:simpleType>
538      </xs:attribute>
539      <xs:attribute name="references"/>
540      <xs:attribute name="alt" type="xs:NMTOKENS"/>
541    </xs:complexType>
542  </xs:element>
543
544  <!-- use ordering attribute in calendarPreference element instead. -->
545
546
547
548
549
550
551  <xs:element name="calendarSystem">
552    <xs:complexType>
553      <xs:attribute name="type" use="required">
554        <xs:simpleType>
555          <xs:restriction base="xs:token">
556            <xs:enumeration value="solar"/>
557            <xs:enumeration value="lunar"/>
558            <xs:enumeration value="lunisolar"/>
559            <xs:enumeration value="other"/>
560          </xs:restriction>
561        </xs:simpleType>
562      </xs:attribute>
563      <xs:attribute name="references"/>
564    </xs:complexType>
565  </xs:element>
566
567
568  <xs:element name="inheritEras">
569    <xs:complexType>
570      <xs:attribute name="calendar" type="xs:NMTOKEN" use="required"/>
571    </xs:complexType>
572  </xs:element>
573
574
575  <xs:element name="eras">
576    <xs:complexType>
577      <xs:sequence>
578        <xs:element maxOccurs="unbounded" minOccurs="0" ref="era"/>
579      </xs:sequence>
580      <xs:attribute name="references"/>
581    </xs:complexType>
582  </xs:element>
583
584  <xs:element name="era">
585    <xs:complexType>
586      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
587      <xs:attribute name="start"/>
588      <xs:attribute name="end"/>
589      <xs:attribute name="code" type="xs:NMTOKEN"/>
590      <xs:attribute name="aliases" type="xs:NMTOKENS"/>
591      <xs:attribute name="named">
592        <xs:simpleType>
593          <xs:restriction base="xs:token">
594            <xs:enumeration value="true"/>
595            <xs:enumeration value="false"/>
596          </xs:restriction>
597        </xs:simpleType>
598      </xs:attribute>
599    </xs:complexType>
600  </xs:element>
601
602
603
604
605
606
607
608
609
610
611  <xs:element name="calendarPreferenceData">
612    <xs:complexType>
613      <xs:sequence>
614        <xs:element maxOccurs="unbounded" minOccurs="0" ref="calendarPreference"/>
615      </xs:sequence>
616    </xs:complexType>
617  </xs:element>
618  <xs:element name="calendarPreference">
619    <xs:complexType>
620      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
621      <xs:attribute name="ordering" type="xs:NMTOKENS" use="required"/>
622    </xs:complexType>
623  </xs:element>
624
625
626
627  <xs:element name="weekData">
628    <xs:complexType>
629      <xs:sequence>
630        <xs:element maxOccurs="unbounded" minOccurs="0" ref="minDays"/>
631        <xs:element maxOccurs="unbounded" minOccurs="0" ref="firstDay"/>
632        <xs:element maxOccurs="unbounded" minOccurs="0" ref="weekendStart"/>
633        <xs:element maxOccurs="unbounded" minOccurs="0" ref="weekendEnd"/>
634        <xs:element maxOccurs="unbounded" minOccurs="0" ref="weekOfPreference"/>
635      </xs:sequence>
636    </xs:complexType>
637  </xs:element>
638  <xs:element name="minDays">
639    <xs:complexType>
640      <xs:attribute name="count" use="required">
641        <xs:simpleType>
642          <xs:restriction base="xs:token">
643            <xs:enumeration value="1"/>
644            <xs:enumeration value="2"/>
645            <xs:enumeration value="3"/>
646            <xs:enumeration value="4"/>
647            <xs:enumeration value="5"/>
648            <xs:enumeration value="6"/>
649            <xs:enumeration value="7"/>
650          </xs:restriction>
651        </xs:simpleType>
652      </xs:attribute>
653      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
654      <xs:attribute name="draft">
655        <xs:simpleType>
656          <xs:restriction base="xs:token">
657            <xs:enumeration value="approved"/>
658            <xs:enumeration value="contributed"/>
659            <xs:enumeration value="provisional"/>
660            <xs:enumeration value="unconfirmed"/>
661            <xs:enumeration value="true"/>
662            <xs:enumeration value="false"/>
663          </xs:restriction>
664        </xs:simpleType>
665      </xs:attribute>
666      <xs:attribute name="references"/>
667      <xs:attribute name="alt" type="xs:NMTOKENS"/>
668    </xs:complexType>
669  </xs:element>
670
671
672
673
674
675
676  <xs:element name="firstDay">
677    <xs:complexType>
678      <xs:attribute name="day" use="required">
679        <xs:simpleType>
680          <xs:restriction base="xs:token">
681            <xs:enumeration value="sun"/>
682            <xs:enumeration value="mon"/>
683            <xs:enumeration value="tue"/>
684            <xs:enumeration value="wed"/>
685            <xs:enumeration value="thu"/>
686            <xs:enumeration value="fri"/>
687            <xs:enumeration value="sat"/>
688          </xs:restriction>
689        </xs:simpleType>
690      </xs:attribute>
691      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
692      <xs:attribute name="draft">
693        <xs:simpleType>
694          <xs:restriction base="xs:token">
695            <xs:enumeration value="approved"/>
696            <xs:enumeration value="contributed"/>
697            <xs:enumeration value="provisional"/>
698            <xs:enumeration value="unconfirmed"/>
699            <xs:enumeration value="true"/>
700            <xs:enumeration value="false"/>
701          </xs:restriction>
702        </xs:simpleType>
703      </xs:attribute>
704      <xs:attribute name="references"/>
705      <xs:attribute name="alt" type="xs:NMTOKENS"/>
706    </xs:complexType>
707  </xs:element>
708
709
710
711
712
713
714
715  <xs:element name="weekendStart">
716    <xs:complexType>
717      <xs:attribute name="day" use="required">
718        <xs:simpleType>
719          <xs:restriction base="xs:token">
720            <xs:enumeration value="sun"/>
721            <xs:enumeration value="mon"/>
722            <xs:enumeration value="tue"/>
723            <xs:enumeration value="wed"/>
724            <xs:enumeration value="thu"/>
725            <xs:enumeration value="fri"/>
726            <xs:enumeration value="sat"/>
727          </xs:restriction>
728        </xs:simpleType>
729      </xs:attribute>
730      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
731      <xs:attribute name="draft">
732        <xs:simpleType>
733          <xs:restriction base="xs:token">
734            <xs:enumeration value="approved"/>
735            <xs:enumeration value="contributed"/>
736            <xs:enumeration value="provisional"/>
737            <xs:enumeration value="unconfirmed"/>
738            <xs:enumeration value="true"/>
739            <xs:enumeration value="false"/>
740          </xs:restriction>
741        </xs:simpleType>
742      </xs:attribute>
743      <xs:attribute name="references"/>
744      <xs:attribute name="alt" type="xs:NMTOKENS"/>
745    </xs:complexType>
746  </xs:element>
747
748
749
750
751
752
753  <xs:element name="weekendEnd">
754    <xs:complexType>
755      <xs:attribute name="day" use="required">
756        <xs:simpleType>
757          <xs:restriction base="xs:token">
758            <xs:enumeration value="sun"/>
759            <xs:enumeration value="mon"/>
760            <xs:enumeration value="tue"/>
761            <xs:enumeration value="wed"/>
762            <xs:enumeration value="thu"/>
763            <xs:enumeration value="fri"/>
764            <xs:enumeration value="sat"/>
765          </xs:restriction>
766        </xs:simpleType>
767      </xs:attribute>
768      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
769      <xs:attribute name="draft">
770        <xs:simpleType>
771          <xs:restriction base="xs:token">
772            <xs:enumeration value="approved"/>
773            <xs:enumeration value="contributed"/>
774            <xs:enumeration value="provisional"/>
775            <xs:enumeration value="unconfirmed"/>
776            <xs:enumeration value="true"/>
777            <xs:enumeration value="false"/>
778          </xs:restriction>
779        </xs:simpleType>
780      </xs:attribute>
781      <xs:attribute name="references"/>
782      <xs:attribute name="alt" type="xs:NMTOKENS"/>
783    </xs:complexType>
784  </xs:element>
785
786
787
788
789
790
791  <xs:element name="weekOfPreference">
792    <xs:complexType>
793      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
794      <xs:attribute name="ordering" type="xs:NMTOKENS" use="required"/>
795    </xs:complexType>
796  </xs:element>
797
798
799
800  <xs:element name="timeData">
801    <xs:complexType>
802      <xs:sequence>
803        <xs:element maxOccurs="unbounded" minOccurs="0" ref="hours"/>
804      </xs:sequence>
805    </xs:complexType>
806  </xs:element>
807  <xs:element name="hours">
808    <xs:complexType>
809      <xs:attribute name="allowed" type="xs:NMTOKENS" use="required"/>
810      <xs:attribute name="preferred" type="xs:NMTOKEN" use="required"/>
811      <xs:attribute name="regions" type="xs:NMTOKENS" use="required"/>
812      <xs:attribute name="draft">
813        <xs:simpleType>
814          <xs:restriction base="xs:token">
815            <xs:enumeration value="approved"/>
816            <xs:enumeration value="contributed"/>
817            <xs:enumeration value="provisional"/>
818            <xs:enumeration value="unconfirmed"/>
819          </xs:restriction>
820        </xs:simpleType>
821      </xs:attribute>
822      <xs:attribute name="references"/>
823    </xs:complexType>
824  </xs:element>
825
826
827
828
829
830
831  <xs:element name="measurementData">
832    <xs:complexType>
833      <xs:sequence>
834        <xs:element maxOccurs="unbounded" minOccurs="0" ref="measurementSystem"/>
835        <xs:element maxOccurs="unbounded" minOccurs="0" ref="paperSize"/>
836      </xs:sequence>
837    </xs:complexType>
838  </xs:element>
839  <xs:element name="measurementSystem">
840    <xs:complexType>
841      <xs:attribute name="type" use="required">
842        <xs:simpleType>
843          <xs:restriction base="xs:token">
844            <xs:enumeration value="metric"/>
845            <xs:enumeration value="US"/>
846            <xs:enumeration value="UK"/>
847          </xs:restriction>
848        </xs:simpleType>
849      </xs:attribute>
850      <xs:attribute name="category">
851        <xs:simpleType>
852          <xs:restriction base="xs:token">
853            <xs:enumeration value="temperature"/>
854          </xs:restriction>
855        </xs:simpleType>
856      </xs:attribute>
857      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
858      <xs:attribute name="draft">
859        <xs:simpleType>
860          <xs:restriction base="xs:token">
861            <xs:enumeration value="approved"/>
862            <xs:enumeration value="contributed"/>
863            <xs:enumeration value="provisional"/>
864            <xs:enumeration value="unconfirmed"/>
865            <xs:enumeration value="true"/>
866            <xs:enumeration value="false"/>
867          </xs:restriction>
868        </xs:simpleType>
869      </xs:attribute>
870      <xs:attribute name="references"/>
871      <xs:attribute name="alt" type="xs:NMTOKENS"/>
872    </xs:complexType>
873  </xs:element>
874
875
876
877
878
879
880  <xs:element name="paperSize">
881    <xs:complexType>
882      <xs:attribute name="type" use="required">
883        <xs:simpleType>
884          <xs:restriction base="xs:token">
885            <xs:enumeration value="A4"/>
886            <xs:enumeration value="US-Letter"/>
887          </xs:restriction>
888        </xs:simpleType>
889      </xs:attribute>
890      <xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
891      <xs:attribute name="draft">
892        <xs:simpleType>
893          <xs:restriction base="xs:token">
894            <xs:enumeration value="approved"/>
895            <xs:enumeration value="contributed"/>
896            <xs:enumeration value="provisional"/>
897            <xs:enumeration value="unconfirmed"/>
898            <xs:enumeration value="true"/>
899            <xs:enumeration value="false"/>
900          </xs:restriction>
901        </xs:simpleType>
902      </xs:attribute>
903      <xs:attribute name="references"/>
904      <xs:attribute name="alt" type="xs:NMTOKENS"/>
905    </xs:complexType>
906  </xs:element>
907
908
909
910
911
912
913  <xs:element name="unitIdComponents">
914    <xs:complexType>
915      <xs:sequence>
916        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitIdComponent"/>
917      </xs:sequence>
918    </xs:complexType>
919  </xs:element>
920  <xs:element name="unitIdComponent">
921    <xs:complexType>
922      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
923      <xs:attribute name="values" type="xs:NMTOKENS" use="required"/>
924    </xs:complexType>
925  </xs:element>
926
927
928
929  <xs:element name="unitPrefixes">
930    <xs:complexType>
931      <xs:sequence>
932        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPrefix"/>
933      </xs:sequence>
934    </xs:complexType>
935  </xs:element>
936  <xs:element name="unitPrefix">
937    <xs:complexType>
938      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
939      <xs:attribute name="symbol" type="xs:NMTOKEN" use="required"/>
940      <xs:attribute name="power10" type="xs:NMTOKEN"/>
941      <xs:attribute name="power2" type="xs:NMTOKEN"/>
942    </xs:complexType>
943  </xs:element>
944  <!--
945    <unitPrefix type='quecto' symbol='q' power10='-30'>
946    <unitPrefix type='kibi' symbol='Ki' power2='10'>
947  -->
948
949
950
951
952
953
954
955  <xs:element name="unitConstants">
956    <xs:complexType>
957      <xs:sequence>
958        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstant"/>
959      </xs:sequence>
960    </xs:complexType>
961  </xs:element>
962  <xs:element name="unitConstant">
963    <xs:complexType>
964      <xs:attribute name="constant" type="xs:NMTOKEN" use="required"/>
965      <xs:attribute name="value" use="required"/>
966      <xs:attribute name="status" type="xs:NMTOKEN"/>
967      <xs:attribute name="description"/>
968    </xs:complexType>
969  </xs:element>
970
971
972
973
974
975
976
977  <xs:element name="unitQuantities">
978    <xs:complexType>
979      <xs:sequence>
980        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantity"/>
981      </xs:sequence>
982    </xs:complexType>
983  </xs:element>
984  <xs:element name="unitQuantity">
985    <xs:complexType>
986      <xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
987      <xs:attribute name="quantity" type="xs:NMTOKENS" use="required"/>
988      <xs:attribute name="status" type="xs:NMTOKEN"/>
989      <xs:attribute name="description"/>
990    </xs:complexType>
991  </xs:element>
992
993
994
995
996
997
998
999  <xs:element name="convertUnits">
1000    <xs:complexType>
1001      <xs:sequence>
1002        <xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnit"/>
1003      </xs:sequence>
1004    </xs:complexType>
1005  </xs:element>
1006  <xs:element name="convertUnit">
1007    <xs:complexType>
1008      <xs:attribute name="source" type="xs:NMTOKEN" use="required"/>
1009      <xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
1010      <xs:attribute name="factor"/>
1011      <xs:attribute name="offset"/>
1012      <xs:attribute name="special" type="xs:NMTOKEN"/>
1013      <xs:attribute name="systems" type="xs:NMTOKENS"/>
1014      <xs:attribute name="description"/>
1015    </xs:complexType>
1016  </xs:element>
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030  <xs:element name="unitPreferenceData">
1031    <xs:complexType>
1032      <xs:sequence>
1033        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPreferences"/>
1034      </xs:sequence>
1035      <xs:attribute name="draft">
1036        <xs:simpleType>
1037          <xs:restriction base="xs:token">
1038            <xs:enumeration value="approved"/>
1039            <xs:enumeration value="contributed"/>
1040            <xs:enumeration value="provisional"/>
1041            <xs:enumeration value="unconfirmed"/>
1042          </xs:restriction>
1043        </xs:simpleType>
1044      </xs:attribute>
1045    </xs:complexType>
1046  </xs:element>
1047
1048  <xs:element name="unitPreferences">
1049    <xs:complexType>
1050      <xs:sequence>
1051        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPreference"/>
1052      </xs:sequence>
1053      <xs:attribute name="category" type="xs:NMTOKEN" use="required"/>
1054      <xs:attribute name="usage" type="xs:NMTOKENS" use="required"/>
1055      <xs:attribute name="scope">
1056        <xs:simpleType>
1057          <xs:restriction base="xs:token">
1058            <xs:enumeration value="small"/>
1059          </xs:restriction>
1060        </xs:simpleType>
1061      </xs:attribute>
1062      <xs:attribute name="draft">
1063        <xs:simpleType>
1064          <xs:restriction base="xs:token">
1065            <xs:enumeration value="approved"/>
1066            <xs:enumeration value="contributed"/>
1067            <xs:enumeration value="provisional"/>
1068            <xs:enumeration value="unconfirmed"/>
1069          </xs:restriction>
1070        </xs:simpleType>
1071      </xs:attribute>
1072    </xs:complexType>
1073  </xs:element>
1074
1075
1076
1077
1078  <xs:element name="unitPreference">
1079    <xs:complexType mixed="true">
1080      <xs:attribute name="regions" type="xs:NMTOKENS" use="required"/>
1081      <xs:attribute name="geq" type="xs:NMTOKEN"/>
1082      <xs:attribute name="skeleton"/>
1083      <xs:attribute name="draft">
1084        <xs:simpleType>
1085          <xs:restriction base="xs:token">
1086            <xs:enumeration value="approved"/>
1087            <xs:enumeration value="contributed"/>
1088            <xs:enumeration value="provisional"/>
1089            <xs:enumeration value="unconfirmed"/>
1090          </xs:restriction>
1091        </xs:simpleType>
1092      </xs:attribute>
1093      <xs:attribute name="references"/>
1094      <xs:attribute name="alt" type="xs:NMTOKENS"/>
1095    </xs:complexType>
1096  </xs:element>
1097
1098
1099
1100
1101
1102
1103
1104
1105  <xs:element name="timezoneData">
1106    <xs:complexType>
1107      <xs:sequence>
1108        <xs:element maxOccurs="unbounded" minOccurs="0" ref="mapTimezones"/>
1109        <xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneFormatting"/>
1110      </xs:sequence>
1111    </xs:complexType>
1112  </xs:element>
1113
1114  <xs:element name="mapTimezones">
1115    <xs:complexType>
1116      <xs:sequence>
1117        <xs:element maxOccurs="unbounded" minOccurs="0" ref="mapZone"/>
1118      </xs:sequence>
1119      <xs:attribute name="type" type="xs:NMTOKEN"/>
1120      <xs:attribute name="otherVersion"/>
1121      <xs:attribute name="typeVersion"/>
1122      <xs:attribute name="references"/>
1123    </xs:complexType>
1124  </xs:element>
1125
1126
1127
1128
1129
1130
1131
1132  <xs:element name="mapZone">
1133    <xs:complexType>
1134      <xs:attribute name="type" use="required"/>
1135      <xs:attribute name="other" use="required"/>
1136      <xs:attribute name="territory"/>
1137      <xs:attribute name="references"/>
1138    </xs:complexType>
1139  </xs:element>
1140
1141
1142
1143
1144
1145
1146  <xs:element name="zoneFormatting">
1147    <xs:complexType>
1148      <xs:sequence>
1149        <xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneItem"/>
1150      </xs:sequence>
1151      <xs:attribute name="multizone" type="xs:NMTOKENS" use="required"/>
1152      <xs:attribute name="tzidVersion"/>
1153      <xs:attribute name="references"/>
1154    </xs:complexType>
1155  </xs:element>
1156
1157
1158
1159
1160
1161
1162
1163  <xs:element name="zoneItem">
1164    <xs:complexType>
1165      <xs:attribute name="type" use="required"/>
1166      <xs:attribute name="territory" type="xs:NMTOKEN" use="required"/>
1167      <xs:attribute name="aliases"/>
1168      <xs:attribute name="references"/>
1169    </xs:complexType>
1170  </xs:element>
1171
1172
1173
1174
1175
1176
1177
1178
1179  <xs:element name="characters">
1180    <xs:complexType>
1181      <xs:sequence>
1182        <xs:element maxOccurs="unbounded" minOccurs="0" ref="character-fallback"/>
1183      </xs:sequence>
1184      <xs:attribute name="draft">
1185        <xs:simpleType>
1186          <xs:restriction base="xs:token">
1187            <xs:enumeration value="approved"/>
1188            <xs:enumeration value="contributed"/>
1189            <xs:enumeration value="provisional"/>
1190            <xs:enumeration value="unconfirmed"/>
1191            <xs:enumeration value="true"/>
1192            <xs:enumeration value="false"/>
1193          </xs:restriction>
1194        </xs:simpleType>
1195      </xs:attribute>
1196    </xs:complexType>
1197  </xs:element>
1198
1199
1200  <xs:element name="character-fallback">
1201    <xs:complexType>
1202      <xs:sequence>
1203        <xs:element maxOccurs="unbounded" minOccurs="0" ref="character"/>
1204      </xs:sequence>
1205    </xs:complexType>
1206  </xs:element>
1207  <xs:element name="character">
1208    <xs:complexType>
1209      <xs:sequence>
1210        <xs:element maxOccurs="unbounded" minOccurs="0" ref="substitute"/>
1211      </xs:sequence>
1212      <xs:attribute name="value" use="required"/>
1213      <xs:attribute name="draft">
1214        <xs:simpleType>
1215          <xs:restriction base="xs:token">
1216            <xs:enumeration value="approved"/>
1217            <xs:enumeration value="contributed"/>
1218            <xs:enumeration value="provisional"/>
1219            <xs:enumeration value="unconfirmed"/>
1220            <xs:enumeration value="true"/>
1221            <xs:enumeration value="false"/>
1222          </xs:restriction>
1223        </xs:simpleType>
1224      </xs:attribute>
1225      <xs:attribute name="standard"/>
1226      <xs:attribute name="references"/>
1227      <xs:attribute name="alt" type="xs:NMTOKENS"/>
1228    </xs:complexType>
1229  </xs:element>
1230
1231
1232
1233
1234
1235
1236
1237  <xs:element name="substitute">
1238    <xs:complexType mixed="true">
1239      <xs:attribute name="draft">
1240        <xs:simpleType>
1241          <xs:restriction base="xs:token">
1242            <xs:enumeration value="approved"/>
1243            <xs:enumeration value="contributed"/>
1244            <xs:enumeration value="provisional"/>
1245            <xs:enumeration value="unconfirmed"/>
1246            <xs:enumeration value="true"/>
1247            <xs:enumeration value="false"/>
1248          </xs:restriction>
1249        </xs:simpleType>
1250      </xs:attribute>
1251      <xs:attribute name="standard"/>
1252      <xs:attribute name="references"/>
1253      <xs:attribute name="alt" type="xs:NMTOKENS"/>
1254    </xs:complexType>
1255  </xs:element>
1256
1257
1258
1259
1260
1261
1262
1263  <xs:element name="transforms">
1264    <xs:complexType>
1265      <xs:sequence>
1266        <xs:element maxOccurs="unbounded" minOccurs="0" ref="transform"/>
1267      </xs:sequence>
1268    </xs:complexType>
1269  </xs:element>
1270  <xs:element name="transform">
1271    <xs:complexType>
1272      <xs:choice maxOccurs="unbounded" minOccurs="0">
1273        <xs:element ref="comment"/>
1274        <xs:element ref="tRule"/>
1275      </xs:choice>
1276      <xs:attribute name="source"/>
1277      <xs:attribute name="target"/>
1278      <xs:attribute name="variant"/>
1279      <xs:attribute default="both" name="direction">
1280        <xs:simpleType>
1281          <xs:restriction base="xs:token">
1282            <xs:enumeration value="forward"/>
1283            <xs:enumeration value="backward"/>
1284            <xs:enumeration value="both"/>
1285          </xs:restriction>
1286        </xs:simpleType>
1287      </xs:attribute>
1288      <xs:attribute name="alias"/>
1289      <xs:attribute name="backwardAlias"/>
1290      <xs:attribute default="external" name="visibility">
1291        <xs:simpleType>
1292          <xs:restriction base="xs:token">
1293            <xs:enumeration value="internal"/>
1294            <xs:enumeration value="external"/>
1295          </xs:restriction>
1296        </xs:simpleType>
1297      </xs:attribute>
1298      <xs:attribute name="draft">
1299        <xs:simpleType>
1300          <xs:restriction base="xs:token">
1301            <xs:enumeration value="approved"/>
1302            <xs:enumeration value="contributed"/>
1303            <xs:enumeration value="provisional"/>
1304            <xs:enumeration value="unconfirmed"/>
1305            <xs:enumeration value="true"/>
1306            <xs:enumeration value="false"/>
1307          </xs:restriction>
1308        </xs:simpleType>
1309      </xs:attribute>
1310      <xs:attribute name="references"/>
1311      <xs:attribute name="alt" type="xs:NMTOKENS"/>
1312    </xs:complexType>
1313  </xs:element>
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325  <xs:element name="comment" type="xs:string"/>
1326
1327
1328  <xs:element name="tRule" type="xs:string"/>
1329
1330  <xs:element name="metadata">
1331    <xs:complexType>
1332      <xs:sequence>
1333        <xs:element minOccurs="0" ref="attributeOrder"/>
1334        <xs:element minOccurs="0" ref="elementOrder"/>
1335        <xs:element minOccurs="0" ref="serialElements"/>
1336        <xs:element minOccurs="0" ref="suppress"/>
1337        <xs:element minOccurs="0" ref="validity"/>
1338        <xs:element minOccurs="0" ref="alias"/>
1339        <xs:element minOccurs="0" ref="deprecated"/>
1340        <xs:element minOccurs="0" ref="distinguishing"/>
1341        <xs:element minOccurs="0" ref="blocking"/>
1342        <xs:element minOccurs="0" ref="coverageAdditions"/>
1343        <xs:element minOccurs="0" ref="skipDefaultLocale"/>
1344        <xs:element minOccurs="0" ref="defaultContent"/>
1345      </xs:sequence>
1346      <xs:attribute name="draft">
1347        <xs:simpleType>
1348          <xs:restriction base="xs:token">
1349            <xs:enumeration value="approved"/>
1350            <xs:enumeration value="contributed"/>
1351            <xs:enumeration value="provisional"/>
1352            <xs:enumeration value="unconfirmed"/>
1353            <xs:enumeration value="true"/>
1354            <xs:enumeration value="false"/>
1355          </xs:restriction>
1356        </xs:simpleType>
1357      </xs:attribute>
1358    </xs:complexType>
1359  </xs:element>
1360
1361
1362  <xs:element name="attributeOrder">
1363    <xs:complexType mixed="true">
1364      <xs:attribute name="draft">
1365        <xs:simpleType>
1366          <xs:restriction base="xs:token">
1367            <xs:enumeration value="approved"/>
1368            <xs:enumeration value="contributed"/>
1369            <xs:enumeration value="provisional"/>
1370            <xs:enumeration value="unconfirmed"/>
1371            <xs:enumeration value="true"/>
1372            <xs:enumeration value="false"/>
1373          </xs:restriction>
1374        </xs:simpleType>
1375      </xs:attribute>
1376    </xs:complexType>
1377  </xs:element>
1378
1379
1380
1381  <xs:element name="elementOrder">
1382    <xs:complexType mixed="true">
1383      <xs:attribute name="draft">
1384        <xs:simpleType>
1385          <xs:restriction base="xs:token">
1386            <xs:enumeration value="approved"/>
1387            <xs:enumeration value="contributed"/>
1388            <xs:enumeration value="provisional"/>
1389            <xs:enumeration value="unconfirmed"/>
1390            <xs:enumeration value="true"/>
1391            <xs:enumeration value="false"/>
1392          </xs:restriction>
1393        </xs:simpleType>
1394      </xs:attribute>
1395    </xs:complexType>
1396  </xs:element>
1397
1398
1399
1400  <xs:element name="serialElements">
1401    <xs:complexType mixed="true">
1402      <xs:attribute name="draft">
1403        <xs:simpleType>
1404          <xs:restriction base="xs:token">
1405            <xs:enumeration value="approved"/>
1406            <xs:enumeration value="contributed"/>
1407            <xs:enumeration value="provisional"/>
1408            <xs:enumeration value="unconfirmed"/>
1409            <xs:enumeration value="true"/>
1410            <xs:enumeration value="false"/>
1411          </xs:restriction>
1412        </xs:simpleType>
1413      </xs:attribute>
1414    </xs:complexType>
1415  </xs:element>
1416
1417
1418
1419  <xs:element name="suppress">
1420    <xs:complexType>
1421      <xs:sequence>
1422        <xs:element maxOccurs="unbounded" minOccurs="0" ref="attributes"/>
1423      </xs:sequence>
1424      <xs:attribute name="draft">
1425        <xs:simpleType>
1426          <xs:restriction base="xs:token">
1427            <xs:enumeration value="approved"/>
1428            <xs:enumeration value="contributed"/>
1429            <xs:enumeration value="provisional"/>
1430            <xs:enumeration value="unconfirmed"/>
1431            <xs:enumeration value="true"/>
1432            <xs:enumeration value="false"/>
1433          </xs:restriction>
1434        </xs:simpleType>
1435      </xs:attribute>
1436    </xs:complexType>
1437  </xs:element>
1438
1439
1440
1441  <xs:element name="attributes">
1442    <xs:complexType>
1443      <xs:attribute name="element" type="xs:NMTOKENS"/>
1444      <xs:attribute name="attribute" type="xs:NMTOKENS"/>
1445      <xs:attribute name="attributeValue"/>
1446      <xs:attribute name="draft">
1447        <xs:simpleType>
1448          <xs:restriction base="xs:token">
1449            <xs:enumeration value="approved"/>
1450            <xs:enumeration value="contributed"/>
1451            <xs:enumeration value="provisional"/>
1452            <xs:enumeration value="unconfirmed"/>
1453            <xs:enumeration value="true"/>
1454            <xs:enumeration value="false"/>
1455          </xs:restriction>
1456        </xs:simpleType>
1457      </xs:attribute>
1458    </xs:complexType>
1459  </xs:element>
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469  <xs:element name="validity">
1470    <xs:complexType>
1471      <xs:sequence>
1472        <xs:element maxOccurs="unbounded" minOccurs="0" ref="variable"/>
1473        <xs:element maxOccurs="unbounded" minOccurs="0" ref="attributeValues"/>
1474      </xs:sequence>
1475      <xs:attribute name="draft">
1476        <xs:simpleType>
1477          <xs:restriction base="xs:token">
1478            <xs:enumeration value="approved"/>
1479            <xs:enumeration value="contributed"/>
1480            <xs:enumeration value="provisional"/>
1481            <xs:enumeration value="unconfirmed"/>
1482            <xs:enumeration value="true"/>
1483            <xs:enumeration value="false"/>
1484          </xs:restriction>
1485        </xs:simpleType>
1486      </xs:attribute>
1487    </xs:complexType>
1488  </xs:element>
1489
1490
1491
1492  <xs:element name="variable">
1493    <xs:complexType mixed="true">
1494      <xs:attribute name="type" type="xs:NMTOKEN"/>
1495      <xs:attribute name="id" use="required"/>
1496      <xs:attribute name="draft">
1497        <xs:simpleType>
1498          <xs:restriction base="xs:token">
1499            <xs:enumeration value="approved"/>
1500            <xs:enumeration value="contributed"/>
1501            <xs:enumeration value="provisional"/>
1502            <xs:enumeration value="unconfirmed"/>
1503            <xs:enumeration value="true"/>
1504            <xs:enumeration value="false"/>
1505          </xs:restriction>
1506        </xs:simpleType>
1507      </xs:attribute>
1508    </xs:complexType>
1509  </xs:element>
1510
1511
1512
1513
1514
1515
1516  <xs:element name="attributeValues">
1517    <xs:complexType mixed="true">
1518      <xs:attribute name="dtds" type="xs:NMTOKEN"/>
1519      <xs:attribute name="type" type="xs:NMTOKEN"/>
1520      <xs:attribute name="elements" type="xs:NMTOKENS"/>
1521      <xs:attribute name="attributes" type="xs:NMTOKENS"/>
1522      <xs:attribute name="order" type="xs:NMTOKEN"/>
1523      <xs:attribute name="draft">
1524        <xs:simpleType>
1525          <xs:restriction base="xs:token">
1526            <xs:enumeration value="approved"/>
1527            <xs:enumeration value="contributed"/>
1528            <xs:enumeration value="provisional"/>
1529            <xs:enumeration value="unconfirmed"/>
1530            <xs:enumeration value="true"/>
1531            <xs:enumeration value="false"/>
1532          </xs:restriction>
1533        </xs:simpleType>
1534      </xs:attribute>
1535    </xs:complexType>
1536  </xs:element>
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548  <xs:element name="alias">
1549    <xs:complexType>
1550      <xs:sequence>
1551        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageAlias"/>
1552        <xs:element maxOccurs="unbounded" minOccurs="0" ref="scriptAlias"/>
1553        <xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryAlias"/>
1554        <xs:element maxOccurs="unbounded" minOccurs="0" ref="subdivisionAlias"/>
1555        <xs:element maxOccurs="unbounded" minOccurs="0" ref="variantAlias"/>
1556        <xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneAlias"/>
1557        <xs:element maxOccurs="unbounded" minOccurs="0" ref="unitAlias"/>
1558        <xs:element maxOccurs="unbounded" minOccurs="0" ref="usageAlias"/>
1559      </xs:sequence>
1560      <xs:attribute name="draft">
1561        <xs:simpleType>
1562          <xs:restriction base="xs:token">
1563            <xs:enumeration value="approved"/>
1564            <xs:enumeration value="contributed"/>
1565            <xs:enumeration value="provisional"/>
1566            <xs:enumeration value="unconfirmed"/>
1567            <xs:enumeration value="true"/>
1568            <xs:enumeration value="false"/>
1569          </xs:restriction>
1570        </xs:simpleType>
1571      </xs:attribute>
1572    </xs:complexType>
1573  </xs:element>
1574
1575
1576  <xs:element name="languageAlias">
1577    <xs:complexType>
1578      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1579      <xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
1580      <xs:attribute name="reason">
1581        <xs:simpleType>
1582          <xs:restriction base="xs:token">
1583            <xs:enumeration value="deprecated"/>
1584            <xs:enumeration value="overlong"/>
1585            <xs:enumeration value="macrolanguage"/>
1586            <xs:enumeration value="legacy"/>
1587            <xs:enumeration value="bibliographic"/>
1588          </xs:restriction>
1589        </xs:simpleType>
1590      </xs:attribute>
1591    </xs:complexType>
1592  </xs:element>
1593
1594
1595
1596
1597  <xs:element name="scriptAlias">
1598    <xs:complexType>
1599      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1600      <xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
1601      <xs:attribute name="reason">
1602        <xs:simpleType>
1603          <xs:restriction base="xs:token">
1604            <xs:enumeration value="deprecated"/>
1605            <xs:enumeration value="overlong"/>
1606          </xs:restriction>
1607        </xs:simpleType>
1608      </xs:attribute>
1609    </xs:complexType>
1610  </xs:element>
1611
1612
1613
1614
1615  <xs:element name="territoryAlias">
1616    <xs:complexType>
1617      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1618      <xs:attribute name="replacement" type="xs:NMTOKENS" use="required"/>
1619      <xs:attribute name="reason">
1620        <xs:simpleType>
1621          <xs:restriction base="xs:token">
1622            <xs:enumeration value="deprecated"/>
1623            <xs:enumeration value="overlong"/>
1624          </xs:restriction>
1625        </xs:simpleType>
1626      </xs:attribute>
1627    </xs:complexType>
1628  </xs:element>
1629
1630
1631
1632
1633  <xs:element name="subdivisionAlias">
1634    <xs:complexType>
1635      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1636      <xs:attribute name="replacement" type="xs:NMTOKENS" use="required"/>
1637      <xs:attribute name="reason">
1638        <xs:simpleType>
1639          <xs:restriction base="xs:token">
1640            <xs:enumeration value="deprecated"/>
1641            <xs:enumeration value="overlong"/>
1642          </xs:restriction>
1643        </xs:simpleType>
1644      </xs:attribute>
1645    </xs:complexType>
1646  </xs:element>
1647
1648
1649
1650
1651  <xs:element name="variantAlias">
1652    <xs:complexType>
1653      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1654      <xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
1655      <xs:attribute name="reason">
1656        <xs:simpleType>
1657          <xs:restriction base="xs:token">
1658            <xs:enumeration value="deprecated"/>
1659            <xs:enumeration value="overlong"/>
1660          </xs:restriction>
1661        </xs:simpleType>
1662      </xs:attribute>
1663    </xs:complexType>
1664  </xs:element>
1665
1666
1667
1668
1669  <xs:element name="zoneAlias">
1670    <xs:complexType>
1671      <xs:attribute name="type" use="required"/>
1672      <xs:attribute name="replacement" use="required"/>
1673      <xs:attribute name="reason">
1674        <xs:simpleType>
1675          <xs:restriction base="xs:token">
1676            <xs:enumeration value="deprecated"/>
1677            <xs:enumeration value="overlong"/>
1678          </xs:restriction>
1679        </xs:simpleType>
1680      </xs:attribute>
1681    </xs:complexType>
1682  </xs:element>
1683
1684
1685
1686
1687  <xs:element name="unitAlias">
1688    <xs:complexType>
1689      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1690      <xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
1691      <xs:attribute name="reason">
1692        <xs:simpleType>
1693          <xs:restriction base="xs:token">
1694            <xs:enumeration value="deprecated"/>
1695          </xs:restriction>
1696        </xs:simpleType>
1697      </xs:attribute>
1698    </xs:complexType>
1699  </xs:element>
1700
1701
1702
1703
1704  <xs:element name="usageAlias">
1705    <xs:complexType>
1706      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
1707      <xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
1708      <xs:attribute name="reason">
1709        <xs:simpleType>
1710          <xs:restriction base="xs:token">
1711            <xs:enumeration value="deprecated"/>
1712          </xs:restriction>
1713        </xs:simpleType>
1714      </xs:attribute>
1715    </xs:complexType>
1716  </xs:element>
1717
1718
1719
1720
1721  <xs:element name="deprecated">
1722    <xs:complexType>
1723      <xs:sequence>
1724        <xs:element maxOccurs="unbounded" minOccurs="0" ref="deprecatedItems"/>
1725      </xs:sequence>
1726      <xs:attribute name="draft">
1727        <xs:simpleType>
1728          <xs:restriction base="xs:token">
1729            <xs:enumeration value="approved"/>
1730            <xs:enumeration value="contributed"/>
1731            <xs:enumeration value="provisional"/>
1732            <xs:enumeration value="unconfirmed"/>
1733            <xs:enumeration value="true"/>
1734            <xs:enumeration value="false"/>
1735          </xs:restriction>
1736        </xs:simpleType>
1737      </xs:attribute>
1738    </xs:complexType>
1739  </xs:element>
1740
1741
1742
1743  <xs:element name="deprecatedItems">
1744    <xs:complexType>
1745      <xs:attribute name="type">
1746        <xs:simpleType>
1747          <xs:restriction base="xs:token">
1748            <xs:enumeration value="standard"/>
1749            <xs:enumeration value="supplemental"/>
1750            <xs:enumeration value="ldml"/>
1751            <xs:enumeration value="supplementalData"/>
1752            <xs:enumeration value="ldmlBCP47"/>
1753          </xs:restriction>
1754        </xs:simpleType>
1755      </xs:attribute>
1756      <xs:attribute name="elements" type="xs:NMTOKENS"/>
1757      <xs:attribute name="attributes" type="xs:NMTOKENS"/>
1758      <xs:attribute name="values"/>
1759      <xs:attribute name="draft">
1760        <xs:simpleType>
1761          <xs:restriction base="xs:token">
1762            <xs:enumeration value="approved"/>
1763            <xs:enumeration value="contributed"/>
1764            <xs:enumeration value="provisional"/>
1765            <xs:enumeration value="unconfirmed"/>
1766            <xs:enumeration value="true"/>
1767            <xs:enumeration value="false"/>
1768          </xs:restriction>
1769        </xs:simpleType>
1770      </xs:attribute>
1771    </xs:complexType>
1772  </xs:element>
1773
1774
1775
1776
1777
1778
1779
1780  <xs:element name="distinguishing">
1781    <xs:complexType>
1782      <xs:sequence>
1783        <xs:element maxOccurs="unbounded" minOccurs="0" ref="distinguishingItems"/>
1784      </xs:sequence>
1785      <xs:attribute name="draft">
1786        <xs:simpleType>
1787          <xs:restriction base="xs:token">
1788            <xs:enumeration value="approved"/>
1789            <xs:enumeration value="contributed"/>
1790            <xs:enumeration value="provisional"/>
1791            <xs:enumeration value="unconfirmed"/>
1792          </xs:restriction>
1793        </xs:simpleType>
1794      </xs:attribute>
1795    </xs:complexType>
1796  </xs:element>
1797
1798
1799
1800
1801  <xs:element name="distinguishingItems">
1802    <xs:complexType>
1803      <xs:attribute name="exclude">
1804        <xs:simpleType>
1805          <xs:restriction base="xs:token">
1806            <xs:enumeration value="true"/>
1807            <xs:enumeration value="false"/>
1808          </xs:restriction>
1809        </xs:simpleType>
1810      </xs:attribute>
1811      <xs:attribute name="elements" type="xs:NMTOKENS"/>
1812      <xs:attribute name="attributes" type="xs:NMTOKENS"/>
1813      <xs:attribute name="draft">
1814        <xs:simpleType>
1815          <xs:restriction base="xs:token">
1816            <xs:enumeration value="approved"/>
1817            <xs:enumeration value="contributed"/>
1818            <xs:enumeration value="provisional"/>
1819            <xs:enumeration value="unconfirmed"/>
1820          </xs:restriction>
1821        </xs:simpleType>
1822      </xs:attribute>
1823    </xs:complexType>
1824  </xs:element>
1825
1826
1827
1828
1829
1830
1831
1832
1833  <xs:element name="blocking">
1834    <xs:complexType>
1835      <xs:sequence>
1836        <xs:element maxOccurs="unbounded" minOccurs="0" ref="blockingItems"/>
1837      </xs:sequence>
1838      <xs:attribute name="draft">
1839        <xs:simpleType>
1840          <xs:restriction base="xs:token">
1841            <xs:enumeration value="approved"/>
1842            <xs:enumeration value="contributed"/>
1843            <xs:enumeration value="provisional"/>
1844            <xs:enumeration value="unconfirmed"/>
1845          </xs:restriction>
1846        </xs:simpleType>
1847      </xs:attribute>
1848    </xs:complexType>
1849  </xs:element>
1850
1851
1852
1853
1854  <xs:element name="blockingItems">
1855    <xs:complexType>
1856      <xs:attribute name="elements" type="xs:NMTOKENS"/>
1857      <xs:attribute name="draft">
1858        <xs:simpleType>
1859          <xs:restriction base="xs:token">
1860            <xs:enumeration value="approved"/>
1861            <xs:enumeration value="contributed"/>
1862            <xs:enumeration value="provisional"/>
1863            <xs:enumeration value="unconfirmed"/>
1864          </xs:restriction>
1865        </xs:simpleType>
1866      </xs:attribute>
1867    </xs:complexType>
1868  </xs:element>
1869
1870
1871
1872
1873
1874  <xs:element name="coverageAdditions">
1875    <xs:complexType>
1876      <xs:sequence>
1877        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageCoverage"/>
1878        <xs:element maxOccurs="unbounded" minOccurs="0" ref="scriptCoverage"/>
1879        <xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryCoverage"/>
1880        <xs:element maxOccurs="unbounded" minOccurs="0" ref="currencyCoverage"/>
1881        <xs:element maxOccurs="unbounded" minOccurs="0" ref="timezoneCoverage"/>
1882      </xs:sequence>
1883      <xs:attribute name="draft">
1884        <xs:simpleType>
1885          <xs:restriction base="xs:token">
1886            <xs:enumeration value="approved"/>
1887            <xs:enumeration value="contributed"/>
1888            <xs:enumeration value="provisional"/>
1889            <xs:enumeration value="unconfirmed"/>
1890            <xs:enumeration value="true"/>
1891            <xs:enumeration value="false"/>
1892          </xs:restriction>
1893        </xs:simpleType>
1894      </xs:attribute>
1895    </xs:complexType>
1896  </xs:element>
1897
1898
1899
1900  <xs:element name="languageCoverage">
1901    <xs:complexType>
1902      <xs:attribute name="type" type="xs:NMTOKEN"/>
1903      <xs:attribute name="values" type="xs:NMTOKENS"/>
1904      <xs:attribute name="draft">
1905        <xs:simpleType>
1906          <xs:restriction base="xs:token">
1907            <xs:enumeration value="approved"/>
1908            <xs:enumeration value="contributed"/>
1909            <xs:enumeration value="provisional"/>
1910            <xs:enumeration value="unconfirmed"/>
1911            <xs:enumeration value="true"/>
1912            <xs:enumeration value="false"/>
1913          </xs:restriction>
1914        </xs:simpleType>
1915      </xs:attribute>
1916    </xs:complexType>
1917  </xs:element>
1918
1919
1920
1921
1922
1923
1924  <xs:element name="scriptCoverage">
1925    <xs:complexType>
1926      <xs:attribute name="type" type="xs:NMTOKEN"/>
1927      <xs:attribute name="values" type="xs:NMTOKENS"/>
1928      <xs:attribute name="draft">
1929        <xs:simpleType>
1930          <xs:restriction base="xs:token">
1931            <xs:enumeration value="approved"/>
1932            <xs:enumeration value="contributed"/>
1933            <xs:enumeration value="provisional"/>
1934            <xs:enumeration value="unconfirmed"/>
1935            <xs:enumeration value="true"/>
1936            <xs:enumeration value="false"/>
1937          </xs:restriction>
1938        </xs:simpleType>
1939      </xs:attribute>
1940    </xs:complexType>
1941  </xs:element>
1942
1943
1944
1945
1946
1947
1948  <xs:element name="territoryCoverage">
1949    <xs:complexType>
1950      <xs:attribute name="type" type="xs:NMTOKEN"/>
1951      <xs:attribute name="values" type="xs:NMTOKENS"/>
1952      <xs:attribute name="draft">
1953        <xs:simpleType>
1954          <xs:restriction base="xs:token">
1955            <xs:enumeration value="approved"/>
1956            <xs:enumeration value="contributed"/>
1957            <xs:enumeration value="provisional"/>
1958            <xs:enumeration value="unconfirmed"/>
1959            <xs:enumeration value="true"/>
1960            <xs:enumeration value="false"/>
1961          </xs:restriction>
1962        </xs:simpleType>
1963      </xs:attribute>
1964    </xs:complexType>
1965  </xs:element>
1966
1967
1968
1969
1970
1971
1972  <xs:element name="currencyCoverage">
1973    <xs:complexType>
1974      <xs:attribute name="type" type="xs:NMTOKEN"/>
1975      <xs:attribute name="values" type="xs:NMTOKENS"/>
1976      <xs:attribute name="draft">
1977        <xs:simpleType>
1978          <xs:restriction base="xs:token">
1979            <xs:enumeration value="approved"/>
1980            <xs:enumeration value="contributed"/>
1981            <xs:enumeration value="provisional"/>
1982            <xs:enumeration value="unconfirmed"/>
1983            <xs:enumeration value="true"/>
1984            <xs:enumeration value="false"/>
1985          </xs:restriction>
1986        </xs:simpleType>
1987      </xs:attribute>
1988    </xs:complexType>
1989  </xs:element>
1990
1991
1992
1993
1994
1995
1996  <xs:element name="timezoneCoverage">
1997    <xs:complexType>
1998      <xs:attribute name="type" type="xs:NMTOKEN"/>
1999      <xs:attribute name="values"/>
2000      <xs:attribute name="draft">
2001        <xs:simpleType>
2002          <xs:restriction base="xs:token">
2003            <xs:enumeration value="approved"/>
2004            <xs:enumeration value="contributed"/>
2005            <xs:enumeration value="provisional"/>
2006            <xs:enumeration value="unconfirmed"/>
2007            <xs:enumeration value="true"/>
2008            <xs:enumeration value="false"/>
2009          </xs:restriction>
2010        </xs:simpleType>
2011      </xs:attribute>
2012    </xs:complexType>
2013  </xs:element>
2014
2015
2016  <!-- would be NMTOKENS, but needs to allow / -->
2017
2018
2019
2020
2021  <xs:element name="skipDefaultLocale">
2022    <xs:complexType>
2023      <xs:attribute name="services" type="xs:NMTOKENS"/>
2024    </xs:complexType>
2025  </xs:element>
2026
2027
2028
2029  <xs:element name="defaultContent">
2030    <xs:complexType>
2031      <xs:attribute name="locales" type="xs:NMTOKENS"/>
2032    </xs:complexType>
2033  </xs:element>
2034
2035
2036  <xs:element name="codeMappings">
2037    <xs:complexType>
2038      <xs:sequence>
2039        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageCodes"/>
2040        <xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryCodes"/>
2041        <xs:element maxOccurs="unbounded" minOccurs="0" ref="currencyCodes"/>
2042      </xs:sequence>
2043    </xs:complexType>
2044  </xs:element>
2045  <xs:element name="languageCodes">
2046    <xs:complexType>
2047      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2048      <xs:attribute name="alpha3" type="xs:NMTOKEN" use="required"/>
2049    </xs:complexType>
2050  </xs:element>
2051
2052
2053
2054
2055  <xs:element name="territoryCodes">
2056    <xs:complexType>
2057      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2058      <xs:attribute name="numeric" type="xs:NMTOKEN"/>
2059      <xs:attribute name="alpha3" type="xs:NMTOKEN"/>
2060      <xs:attribute name="fips10" type="xs:NMTOKEN"/>
2061      <xs:attribute name="internet" type="xs:NMTOKENS"/>
2062    </xs:complexType>
2063  </xs:element>
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073  <xs:element name="currencyCodes">
2074    <xs:complexType>
2075      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2076      <xs:attribute name="numeric" type="xs:NMTOKEN" use="required"/>
2077    </xs:complexType>
2078  </xs:element>
2079
2080
2081
2082  <!-- # Parent locales -->
2083  <xs:element name="parentLocales">
2084    <xs:complexType>
2085      <xs:sequence>
2086        <xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocale"/>
2087      </xs:sequence>
2088      <xs:attribute name="component" type="xs:NMTOKENS"/>
2089    </xs:complexType>
2090  </xs:element>
2091
2092  <xs:element name="parentLocale">
2093    <xs:complexType>
2094      <xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
2095      <xs:attribute name="localeRules" type="xs:NMTOKENS"/>
2096      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2097    </xs:complexType>
2098  </xs:element>
2099
2100
2101
2102
2103
2104  <xs:element name="personNamesDefaults">
2105    <xs:complexType>
2106      <xs:choice>
2107        <xs:element ref="alias"/>
2108        <xs:element maxOccurs="unbounded" minOccurs="0" ref="nameOrderLocalesDefault"/>
2109      </xs:choice>
2110    </xs:complexType>
2111  </xs:element>
2112  <xs:element name="nameOrderLocalesDefault">
2113    <xs:complexType mixed="true">
2114      <xs:attribute name="order" use="required">
2115        <xs:simpleType>
2116          <xs:restriction base="xs:token">
2117            <xs:enumeration value="givenFirst"/>
2118            <xs:enumeration value="surnameFirst"/>
2119          </xs:restriction>
2120        </xs:simpleType>
2121      </xs:attribute>
2122      <xs:attribute name="references"/>
2123    </xs:complexType>
2124  </xs:element>
2125
2126  <xs:element name="likelySubtags">
2127    <xs:complexType>
2128      <xs:sequence>
2129        <xs:element maxOccurs="unbounded" minOccurs="0" ref="likelySubtag"/>
2130      </xs:sequence>
2131    </xs:complexType>
2132  </xs:element>
2133  <xs:element name="likelySubtag">
2134    <xs:complexType>
2135      <xs:attribute name="from" type="xs:NMTOKEN" use="required"/>
2136      <xs:attribute name="to" type="xs:NMTOKEN" use="required"/>
2137      <xs:attribute name="origin" type="xs:NMTOKENS"/>
2138    </xs:complexType>
2139  </xs:element>
2140
2141
2142
2143
2144
2145  <xs:element name="metazoneInfo">
2146    <xs:complexType>
2147      <xs:sequence>
2148        <xs:element maxOccurs="unbounded" minOccurs="0" ref="timezone"/>
2149      </xs:sequence>
2150    </xs:complexType>
2151  </xs:element>
2152  <xs:element name="timezone">
2153    <xs:complexType>
2154      <xs:sequence>
2155        <xs:element maxOccurs="unbounded" minOccurs="0" ref="usesMetazone"/>
2156      </xs:sequence>
2157      <xs:attribute name="type" use="required"/>
2158    </xs:complexType>
2159  </xs:element>
2160
2161  <xs:element name="usesMetazone">
2162    <xs:complexType>
2163      <xs:attribute name="from"/>
2164      <xs:attribute name="to"/>
2165      <xs:attribute name="mzone" type="xs:NMTOKEN" use="required"/>
2166    </xs:complexType>
2167  </xs:element>
2168
2169
2170
2171
2172  <xs:element name="plurals">
2173    <xs:complexType>
2174      <xs:sequence>
2175        <xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRules"/>
2176        <xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRanges"/>
2177      </xs:sequence>
2178      <xs:attribute name="type">
2179        <xs:simpleType>
2180          <xs:restriction base="xs:token">
2181            <xs:enumeration value="ordinal"/>
2182            <xs:enumeration value="cardinal"/>
2183          </xs:restriction>
2184        </xs:simpleType>
2185      </xs:attribute>
2186      <xs:attribute name="draft">
2187        <xs:simpleType>
2188          <xs:restriction base="xs:token">
2189            <xs:enumeration value="approved"/>
2190            <xs:enumeration value="contributed"/>
2191            <xs:enumeration value="provisional"/>
2192            <xs:enumeration value="unconfirmed"/>
2193          </xs:restriction>
2194        </xs:simpleType>
2195      </xs:attribute>
2196      <xs:attribute name="references"/>
2197    </xs:complexType>
2198  </xs:element>
2199  <!-- default is cardinal -->
2200
2201
2202
2203  <xs:element name="pluralRules">
2204    <xs:complexType>
2205      <xs:sequence>
2206        <xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRule"/>
2207      </xs:sequence>
2208      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2209      <xs:attribute name="draft">
2210        <xs:simpleType>
2211          <xs:restriction base="xs:token">
2212            <xs:enumeration value="approved"/>
2213            <xs:enumeration value="contributed"/>
2214            <xs:enumeration value="provisional"/>
2215            <xs:enumeration value="unconfirmed"/>
2216          </xs:restriction>
2217        </xs:simpleType>
2218      </xs:attribute>
2219      <xs:attribute name="references"/>
2220    </xs:complexType>
2221  </xs:element>
2222
2223
2224
2225
2226  <xs:element name="pluralRule">
2227    <xs:complexType mixed="true">
2228      <xs:attribute name="count" use="required">
2229        <xs:simpleType>
2230          <xs:restriction base="xs:token">
2231            <xs:enumeration value="zero"/>
2232            <xs:enumeration value="one"/>
2233            <xs:enumeration value="two"/>
2234            <xs:enumeration value="few"/>
2235            <xs:enumeration value="many"/>
2236            <xs:enumeration value="other"/>
2237          </xs:restriction>
2238        </xs:simpleType>
2239      </xs:attribute>
2240      <xs:attribute name="draft">
2241        <xs:simpleType>
2242          <xs:restriction base="xs:token">
2243            <xs:enumeration value="approved"/>
2244            <xs:enumeration value="contributed"/>
2245            <xs:enumeration value="provisional"/>
2246            <xs:enumeration value="unconfirmed"/>
2247          </xs:restriction>
2248        </xs:simpleType>
2249      </xs:attribute>
2250      <xs:attribute name="references"/>
2251    </xs:complexType>
2252  </xs:element>
2253
2254  <!-- 'other' is implicitly everything else -->
2255
2256
2257  <xs:element name="pluralRanges">
2258    <xs:complexType>
2259      <xs:sequence>
2260        <xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRange"/>
2261      </xs:sequence>
2262      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2263      <xs:attribute name="draft">
2264        <xs:simpleType>
2265          <xs:restriction base="xs:token">
2266            <xs:enumeration value="approved"/>
2267            <xs:enumeration value="contributed"/>
2268            <xs:enumeration value="provisional"/>
2269            <xs:enumeration value="unconfirmed"/>
2270          </xs:restriction>
2271        </xs:simpleType>
2272      </xs:attribute>
2273      <xs:attribute name="references"/>
2274    </xs:complexType>
2275  </xs:element>
2276
2277
2278
2279
2280  <xs:element name="pluralRange">
2281    <xs:complexType>
2282      <xs:attribute name="start">
2283        <xs:simpleType>
2284          <xs:restriction base="xs:token">
2285            <xs:enumeration value="zero"/>
2286            <xs:enumeration value="one"/>
2287            <xs:enumeration value="two"/>
2288            <xs:enumeration value="few"/>
2289            <xs:enumeration value="many"/>
2290            <xs:enumeration value="other"/>
2291          </xs:restriction>
2292        </xs:simpleType>
2293      </xs:attribute>
2294      <xs:attribute name="end">
2295        <xs:simpleType>
2296          <xs:restriction base="xs:token">
2297            <xs:enumeration value="zero"/>
2298            <xs:enumeration value="one"/>
2299            <xs:enumeration value="two"/>
2300            <xs:enumeration value="few"/>
2301            <xs:enumeration value="many"/>
2302            <xs:enumeration value="other"/>
2303          </xs:restriction>
2304        </xs:simpleType>
2305      </xs:attribute>
2306      <xs:attribute name="result" use="required">
2307        <xs:simpleType>
2308          <xs:restriction base="xs:token">
2309            <xs:enumeration value="zero"/>
2310            <xs:enumeration value="one"/>
2311            <xs:enumeration value="two"/>
2312            <xs:enumeration value="few"/>
2313            <xs:enumeration value="many"/>
2314            <xs:enumeration value="other"/>
2315          </xs:restriction>
2316        </xs:simpleType>
2317      </xs:attribute>
2318      <xs:attribute name="draft">
2319        <xs:simpleType>
2320          <xs:restriction base="xs:token">
2321            <xs:enumeration value="approved"/>
2322            <xs:enumeration value="contributed"/>
2323            <xs:enumeration value="provisional"/>
2324            <xs:enumeration value="unconfirmed"/>
2325          </xs:restriction>
2326        </xs:simpleType>
2327      </xs:attribute>
2328      <xs:attribute name="references"/>
2329    </xs:complexType>
2330  </xs:element>
2331  <!-- if missing, means *all* -->
2332  <!-- if missing, means *all* -->
2333  <!-- if a whole rule is missing, means *other* -->
2334
2335
2336
2337  <xs:element name="telephoneCodeData">
2338    <xs:complexType>
2339      <xs:sequence>
2340        <xs:element maxOccurs="unbounded" minOccurs="0" ref="codesByTerritory"/>
2341      </xs:sequence>
2342    </xs:complexType>
2343  </xs:element>
2344
2345  <xs:element name="codesByTerritory">
2346    <xs:complexType>
2347      <xs:sequence>
2348        <xs:element maxOccurs="unbounded" ref="telephoneCountryCode"/>
2349      </xs:sequence>
2350      <xs:attribute name="territory" type="xs:NMTOKEN" use="required"/>
2351      <xs:attribute name="draft">
2352        <xs:simpleType>
2353          <xs:restriction base="xs:token">
2354            <xs:enumeration value="approved"/>
2355            <xs:enumeration value="contributed"/>
2356            <xs:enumeration value="provisional"/>
2357            <xs:enumeration value="unconfirmed"/>
2358            <xs:enumeration value="true"/>
2359            <xs:enumeration value="false"/>
2360          </xs:restriction>
2361        </xs:simpleType>
2362      </xs:attribute>
2363      <xs:attribute name="references"/>
2364    </xs:complexType>
2365  </xs:element>
2366
2367
2368
2369
2370
2371
2372  <xs:element name="telephoneCountryCode">
2373    <xs:complexType>
2374      <xs:attribute name="code" type="xs:NMTOKEN" use="required"/>
2375      <xs:attribute name="from" type="xs:NMTOKEN"/>
2376      <xs:attribute name="to" type="xs:NMTOKEN"/>
2377      <xs:attribute name="draft">
2378        <xs:simpleType>
2379          <xs:restriction base="xs:token">
2380            <xs:enumeration value="approved"/>
2381            <xs:enumeration value="contributed"/>
2382            <xs:enumeration value="provisional"/>
2383            <xs:enumeration value="unconfirmed"/>
2384            <xs:enumeration value="true"/>
2385            <xs:enumeration value="false"/>
2386          </xs:restriction>
2387        </xs:simpleType>
2388      </xs:attribute>
2389      <xs:attribute name="references"/>
2390      <xs:attribute name="alt" type="xs:NMTOKENS"/>
2391    </xs:complexType>
2392  </xs:element>
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405  <xs:element name="numberingSystems">
2406    <xs:complexType>
2407      <xs:sequence>
2408        <xs:element maxOccurs="unbounded" minOccurs="0" ref="numberingSystem"/>
2409      </xs:sequence>
2410    </xs:complexType>
2411  </xs:element>
2412  <xs:element name="numberingSystem">
2413    <xs:complexType>
2414      <xs:attribute name="type" use="required">
2415        <xs:simpleType>
2416          <xs:restriction base="xs:token">
2417            <xs:enumeration value="numeric"/>
2418            <xs:enumeration value="algorithmic"/>
2419          </xs:restriction>
2420        </xs:simpleType>
2421      </xs:attribute>
2422      <xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
2423      <xs:attribute name="radix" type="xs:NMTOKEN"/>
2424      <xs:attribute name="digits"/>
2425      <xs:attribute name="rules"/>
2426      <xs:attribute name="draft">
2427        <xs:simpleType>
2428          <xs:restriction base="xs:token">
2429            <xs:enumeration value="approved"/>
2430            <xs:enumeration value="contributed"/>
2431            <xs:enumeration value="provisional"/>
2432            <xs:enumeration value="unconfirmed"/>
2433          </xs:restriction>
2434        </xs:simpleType>
2435      </xs:attribute>
2436    </xs:complexType>
2437  </xs:element>
2438
2439
2440
2441
2442
2443
2444
2445
2446  <xs:element name="bcp47KeywordMappings">
2447    <xs:complexType>
2448      <xs:sequence>
2449        <xs:element minOccurs="0" ref="mapKeys"/>
2450        <xs:element maxOccurs="unbounded" minOccurs="0" ref="mapTypes"/>
2451      </xs:sequence>
2452    </xs:complexType>
2453  </xs:element>
2454
2455  <xs:element name="mapKeys">
2456    <xs:complexType>
2457      <xs:sequence>
2458        <xs:element maxOccurs="unbounded" minOccurs="0" ref="keyMap"/>
2459      </xs:sequence>
2460    </xs:complexType>
2461  </xs:element>
2462
2463  <xs:element name="keyMap">
2464    <xs:complexType>
2465      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2466      <xs:attribute name="bcp47" type="xs:NMTOKEN" use="required"/>
2467    </xs:complexType>
2468  </xs:element>
2469
2470
2471
2472
2473  <xs:element name="mapTypes">
2474    <xs:complexType>
2475      <xs:sequence>
2476        <xs:element maxOccurs="unbounded" minOccurs="0" ref="typeMap"/>
2477      </xs:sequence>
2478      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2479    </xs:complexType>
2480  </xs:element>
2481
2482
2483  <xs:element name="typeMap">
2484    <xs:complexType>
2485      <xs:attribute name="type" use="required"/>
2486      <xs:attribute name="bcp47" type="xs:NMTOKEN" use="required"/>
2487    </xs:complexType>
2488  </xs:element>
2489
2490
2491
2492
2493  <!-- # Gender List support -->
2494  <xs:element name="gender">
2495    <xs:complexType>
2496      <xs:sequence>
2497        <xs:element maxOccurs="unbounded" ref="personList"/>
2498      </xs:sequence>
2499    </xs:complexType>
2500  </xs:element>
2501  <xs:element name="personList">
2502    <xs:complexType>
2503      <xs:attribute name="type" use="required">
2504        <xs:simpleType>
2505          <xs:restriction base="xs:token">
2506            <xs:enumeration value="neutral"/>
2507            <xs:enumeration value="mixedNeutral"/>
2508            <xs:enumeration value="maleTaints"/>
2509          </xs:restriction>
2510        </xs:simpleType>
2511      </xs:attribute>
2512      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2513    </xs:complexType>
2514  </xs:element>
2515
2516
2517  <xs:element name="references">
2518    <xs:complexType>
2519      <xs:sequence>
2520        <xs:element maxOccurs="unbounded" minOccurs="0" ref="reference"/>
2521      </xs:sequence>
2522    </xs:complexType>
2523  </xs:element>
2524
2525  <xs:element name="reference">
2526    <xs:complexType mixed="true">
2527      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2528      <xs:attribute name="uri"/>
2529      <xs:attribute name="draft">
2530        <xs:simpleType>
2531          <xs:restriction base="xs:token">
2532            <xs:enumeration value="approved"/>
2533            <xs:enumeration value="contributed"/>
2534            <xs:enumeration value="provisional"/>
2535            <xs:enumeration value="unconfirmed"/>
2536            <xs:enumeration value="true"/>
2537            <xs:enumeration value="false"/>
2538          </xs:restriction>
2539        </xs:simpleType>
2540      </xs:attribute>
2541      <xs:attribute name="standard">
2542        <xs:simpleType>
2543          <xs:restriction base="xs:token">
2544            <xs:enumeration value="true"/>
2545            <xs:enumeration value="false"/>
2546          </xs:restriction>
2547        </xs:simpleType>
2548      </xs:attribute>
2549      <xs:attribute name="alt" type="xs:NMTOKENS"/>
2550    </xs:complexType>
2551  </xs:element>
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561  <xs:element name="languageMatching">
2562    <xs:complexType>
2563      <xs:sequence>
2564        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageMatches"/>
2565      </xs:sequence>
2566    </xs:complexType>
2567  </xs:element>
2568  <xs:element name="languageMatches">
2569    <xs:complexType>
2570      <xs:sequence>
2571        <xs:element maxOccurs="unbounded" minOccurs="0" ref="paradigmLocales"/>
2572        <xs:element maxOccurs="unbounded" minOccurs="0" ref="matchVariable"/>
2573        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageMatch"/>
2574      </xs:sequence>
2575      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2576    </xs:complexType>
2577  </xs:element>
2578
2579  <xs:element name="paradigmLocales">
2580    <xs:complexType>
2581      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2582    </xs:complexType>
2583  </xs:element>
2584
2585
2586  <xs:element name="matchVariable">
2587    <xs:complexType>
2588      <xs:attribute name="id" use="required"/>
2589      <xs:attribute name="value" use="required"/>
2590    </xs:complexType>
2591  </xs:element>
2592
2593
2594
2595  <xs:element name="languageMatch">
2596    <xs:complexType>
2597      <xs:attribute name="desired" use="required"/>
2598      <xs:attribute name="supported" use="required"/>
2599      <xs:attribute name="percent" type="xs:NMTOKEN"/>
2600      <xs:attribute name="distance" type="xs:NMTOKEN"/>
2601      <xs:attribute name="oneway">
2602        <xs:simpleType>
2603          <xs:restriction base="xs:token">
2604            <xs:enumeration value="true"/>
2605            <xs:enumeration value="false"/>
2606          </xs:restriction>
2607        </xs:simpleType>
2608      </xs:attribute>
2609    </xs:complexType>
2610  </xs:element>
2611
2612
2613
2614
2615
2616
2617
2618
2619  <!-- # Day Periods -->
2620  <xs:element name="dayPeriodRuleSet">
2621    <xs:complexType>
2622      <xs:sequence>
2623        <xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRules"/>
2624      </xs:sequence>
2625      <xs:attribute name="type" type="xs:NMTOKEN"/>
2626      <xs:attribute name="draft">
2627        <xs:simpleType>
2628          <xs:restriction base="xs:token">
2629            <xs:enumeration value="approved"/>
2630            <xs:enumeration value="contributed"/>
2631            <xs:enumeration value="provisional"/>
2632            <xs:enumeration value="unconfirmed"/>
2633          </xs:restriction>
2634        </xs:simpleType>
2635      </xs:attribute>
2636      <xs:attribute name="references"/>
2637    </xs:complexType>
2638  </xs:element>
2639
2640
2641
2642
2643  <xs:element name="dayPeriodRules">
2644    <xs:complexType>
2645      <xs:sequence>
2646        <xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRule"/>
2647      </xs:sequence>
2648      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2649      <xs:attribute name="draft">
2650        <xs:simpleType>
2651          <xs:restriction base="xs:token">
2652            <xs:enumeration value="approved"/>
2653            <xs:enumeration value="contributed"/>
2654            <xs:enumeration value="provisional"/>
2655            <xs:enumeration value="unconfirmed"/>
2656          </xs:restriction>
2657        </xs:simpleType>
2658      </xs:attribute>
2659      <xs:attribute name="references"/>
2660    </xs:complexType>
2661  </xs:element>
2662
2663
2664
2665
2666  <xs:element name="dayPeriodRule">
2667    <xs:complexType>
2668      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2669      <xs:attribute name="at" type="xs:NMTOKEN"/>
2670      <xs:attribute name="after" type="xs:NMTOKEN"/>
2671      <xs:attribute name="before" type="xs:NMTOKEN"/>
2672      <xs:attribute name="from" type="xs:NMTOKEN"/>
2673      <xs:attribute name="to" type="xs:NMTOKEN"/>
2674      <xs:attribute name="draft">
2675        <xs:simpleType>
2676          <xs:restriction base="xs:token">
2677            <xs:enumeration value="approved"/>
2678            <xs:enumeration value="contributed"/>
2679            <xs:enumeration value="provisional"/>
2680            <xs:enumeration value="unconfirmed"/>
2681          </xs:restriction>
2682        </xs:simpleType>
2683      </xs:attribute>
2684      <xs:attribute name="references"/>
2685    </xs:complexType>
2686  </xs:element>
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702  <xs:element name="metaZones">
2703    <xs:complexType>
2704      <xs:sequence>
2705        <xs:element minOccurs="0" ref="metazoneInfo"/>
2706        <xs:element minOccurs="0" ref="mapTimezones"/>
2707        <xs:element minOccurs="0" ref="metazoneIds"/>
2708      </xs:sequence>
2709    </xs:complexType>
2710  </xs:element>
2711  <xs:element name="metazoneIds">
2712    <xs:complexType>
2713      <xs:sequence>
2714        <xs:element maxOccurs="unbounded" minOccurs="0" ref="metazoneId"/>
2715      </xs:sequence>
2716    </xs:complexType>
2717  </xs:element>
2718  <xs:element name="metazoneId">
2719    <xs:complexType>
2720      <xs:attribute name="shortId" type="xs:NMTOKEN" use="required"/>
2721      <xs:attribute name="longId"/>
2722      <xs:attribute default="false" name="deprecated">
2723        <xs:simpleType>
2724          <xs:restriction base="xs:token">
2725            <xs:enumeration value="true"/>
2726            <xs:enumeration value="false"/>
2727          </xs:restriction>
2728        </xs:simpleType>
2729      </xs:attribute>
2730      <xs:attribute name="preferred" type="xs:NMTOKEN"/>
2731      <xs:attribute default="40" name="since"/>
2732    </xs:complexType>
2733  </xs:element>
2734
2735
2736
2737
2738
2739
2740
2741
2742  <xs:element name="primaryZones">
2743    <xs:complexType>
2744      <xs:sequence>
2745        <xs:element maxOccurs="unbounded" minOccurs="0" ref="primaryZone"/>
2746      </xs:sequence>
2747    </xs:complexType>
2748  </xs:element>
2749  <xs:element name="primaryZone">
2750    <xs:complexType mixed="true">
2751      <xs:attribute name="iso3166" type="xs:NMTOKEN" use="required"/>
2752    </xs:complexType>
2753  </xs:element>
2754
2755  <!-- # Time Zones -->
2756  <xs:element name="windowsZones">
2757    <xs:complexType>
2758      <xs:sequence>
2759        <xs:element minOccurs="0" ref="mapTimezones"/>
2760      </xs:sequence>
2761    </xs:complexType>
2762  </xs:element>
2763  <!-- # Coverage levels -->
2764  <xs:element name="coverageLevels">
2765    <xs:complexType>
2766      <xs:sequence>
2767        <xs:element ref="approvalRequirements"/>
2768        <xs:element maxOccurs="unbounded" minOccurs="0" ref="coverageVariable"/>
2769        <xs:element maxOccurs="unbounded" minOccurs="0" ref="coverageLevel"/>
2770        <xs:element maxOccurs="unbounded" minOccurs="0" ref="pathMatch"/>
2771      </xs:sequence>
2772    </xs:complexType>
2773  </xs:element>
2774
2775  <xs:element name="approvalRequirements">
2776    <xs:complexType>
2777      <xs:sequence>
2778        <xs:element maxOccurs="unbounded" minOccurs="0" ref="approvalRequirement"/>
2779      </xs:sequence>
2780    </xs:complexType>
2781  </xs:element>
2782  <xs:element name="approvalRequirement">
2783    <xs:complexType>
2784      <xs:attribute name="votes" use="required"/>
2785      <xs:attribute name="locales" use="required"/>
2786      <xs:attribute name="paths" use="required"/>
2787    </xs:complexType>
2788  </xs:element>
2789
2790
2791
2792
2793  <xs:element name="coverageVariable">
2794    <xs:complexType>
2795      <xs:attribute name="key" use="required"/>
2796      <xs:attribute name="value" use="required"/>
2797    </xs:complexType>
2798  </xs:element>
2799
2800
2801
2802
2803  <xs:element name="coverageLevel">
2804    <xs:complexType>
2805      <xs:attribute name="inLanguage"/>
2806      <xs:attribute name="inScript"/>
2807      <xs:attribute name="inTerritory"/>
2808      <xs:attribute name="value" use="required"/>
2809      <xs:attribute name="match" use="required"/>
2810    </xs:complexType>
2811  </xs:element>
2812
2813
2814
2815
2816
2817
2818
2819  <xs:element name="pathMatch">
2820    <xs:complexType>
2821      <xs:attribute name="id" type="xs:NMTOKENS"/>
2822      <xs:attribute name="match" use="required"/>
2823    </xs:complexType>
2824  </xs:element>
2825
2826
2827
2828  <xs:element name="idValidity">
2829    <xs:complexType>
2830      <xs:sequence>
2831        <xs:element maxOccurs="unbounded" minOccurs="0" ref="id"/>
2832      </xs:sequence>
2833    </xs:complexType>
2834  </xs:element>
2835  <xs:element name="id">
2836    <xs:complexType mixed="true">
2837      <xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
2838      <xs:attribute name="idStatus" type="xs:NMTOKEN" use="required"/>
2839    </xs:complexType>
2840  </xs:element>
2841
2842
2843  <xs:element name="rgScope">
2844    <xs:complexType>
2845      <xs:sequence>
2846        <xs:element maxOccurs="unbounded" minOccurs="0" ref="rgPath"/>
2847      </xs:sequence>
2848    </xs:complexType>
2849  </xs:element>
2850  <xs:element name="rgPath">
2851    <xs:complexType>
2852      <xs:attribute name="path" use="required"/>
2853      <xs:attribute name="draft">
2854        <xs:simpleType>
2855          <xs:restriction base="xs:token">
2856            <xs:enumeration value="approved"/>
2857            <xs:enumeration value="contributed"/>
2858            <xs:enumeration value="provisional"/>
2859            <xs:enumeration value="unconfirmed"/>
2860          </xs:restriction>
2861        </xs:simpleType>
2862      </xs:attribute>
2863    </xs:complexType>
2864  </xs:element>
2865
2866
2867  <xs:element name="languageGroups">
2868    <xs:complexType>
2869      <xs:sequence>
2870        <xs:element maxOccurs="unbounded" minOccurs="0" ref="languageGroup"/>
2871      </xs:sequence>
2872    </xs:complexType>
2873  </xs:element>
2874  <xs:element name="languageGroup">
2875    <xs:complexType mixed="true">
2876      <xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
2877    </xs:complexType>
2878  </xs:element>
2879
2880  <!-- # Grammatical Features -->
2881  <xs:element name="grammaticalData">
2882    <xs:complexType>
2883      <xs:sequence>
2884        <xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalFeatures"/>
2885        <xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalDerivations"/>
2886      </xs:sequence>
2887    </xs:complexType>
2888  </xs:element>
2889  <xs:element name="grammaticalFeatures">
2890    <xs:complexType>
2891      <xs:sequence>
2892        <xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalCase"/>
2893        <xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalGender"/>
2894        <xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalDefiniteness"/>
2895      </xs:sequence>
2896      <xs:attribute name="targets" type="xs:NMTOKENS" use="required"/>
2897      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2898    </xs:complexType>
2899  </xs:element>
2900
2901
2902  <xs:element name="grammaticalCase">
2903    <xs:complexType>
2904      <xs:attribute name="scope" type="xs:NMTOKENS"/>
2905      <xs:attribute name="values" type="xs:NMTOKENS"/>
2906    </xs:complexType>
2907  </xs:element>
2908
2909
2910
2911  <xs:element name="grammaticalGender">
2912    <xs:complexType>
2913      <xs:attribute name="scope" type="xs:NMTOKENS"/>
2914      <xs:attribute name="values" type="xs:NMTOKENS"/>
2915    </xs:complexType>
2916  </xs:element>
2917
2918
2919
2920  <xs:element name="grammaticalDefiniteness">
2921    <xs:complexType>
2922      <xs:attribute name="scope" type="xs:NMTOKENS"/>
2923      <xs:attribute name="values" type="xs:NMTOKENS"/>
2924    </xs:complexType>
2925  </xs:element>
2926
2927
2928
2929  <xs:element name="grammaticalDerivations">
2930    <xs:complexType>
2931      <xs:sequence>
2932        <xs:element maxOccurs="unbounded" minOccurs="0" ref="deriveCompound"/>
2933        <xs:element maxOccurs="unbounded" minOccurs="0" ref="deriveComponent"/>
2934      </xs:sequence>
2935      <xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
2936    </xs:complexType>
2937  </xs:element>
2938
2939  <xs:element name="deriveCompound">
2940    <xs:complexType>
2941      <xs:attribute name="feature" type="xs:NMTOKENS" use="required"/>
2942      <xs:attribute name="structure" type="xs:NMTOKENS" use="required"/>
2943      <xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
2944    </xs:complexType>
2945  </xs:element>
2946
2947
2948  <!-- TODO: add @MATCH function for locale's gender categories and use here -->
2949
2950
2951  <xs:element name="deriveComponent">
2952    <xs:complexType>
2953      <xs:attribute name="feature" type="xs:NMTOKENS" use="required"/>
2954      <xs:attribute name="structure" type="xs:NMTOKENS" use="required"/>
2955      <xs:attribute name="value0" type="xs:NMTOKEN" use="required"/>
2956      <xs:attribute name="value1" type="xs:NMTOKEN" use="required"/>
2957    </xs:complexType>
2958  </xs:element>
2959</xs:schema><!-- TODO: add @MATCH function for locale's plural/case categories and use here --><!-- TODO: add @MATCH function for locale's plural/case categories and use here -->