blob: 2aeeecf10845f2d9824678e0fc22fc9e0a20cfc6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Note: The .xsd files are a Technology Preview. They are subject to change or removal in future CLDR versions.
Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file validation, use the DTD and CLDR tools.
-->
<!--
Copyright © 1991-2024 Unicode, Inc.
For terms of use, see http://www.unicode.org/copyright.html
SPDX-License-Identifier: Unicode-3.0
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="supplementalData">
<xs:complexType>
<xs:sequence>
<xs:element ref="version"/>
<xs:element minOccurs="0" ref="generation"/>
<xs:element minOccurs="0" ref="cldrVersion"/>
<xs:element minOccurs="0" ref="currencyData"/>
<xs:element minOccurs="0" ref="territoryContainment"/>
<xs:element minOccurs="0" ref="subdivisionContainment"/>
<xs:element minOccurs="0" ref="languageData"/>
<xs:element minOccurs="0" ref="territoryInfo"/>
<xs:element minOccurs="0" ref="postalCodeData"/>
<xs:element minOccurs="0" ref="calendarData"/>
<xs:element minOccurs="0" ref="calendarPreferenceData"/>
<xs:element minOccurs="0" ref="weekData"/>
<xs:element minOccurs="0" ref="timeData"/>
<xs:element minOccurs="0" ref="measurementData"/>
<xs:element minOccurs="0" ref="unitIdComponents"/>
<xs:element minOccurs="0" ref="unitPrefixes"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstants"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantities"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnits"/>
<xs:element minOccurs="0" ref="unitPreferenceData"/>
<xs:element minOccurs="0" ref="timezoneData"/>
<xs:element minOccurs="0" ref="characters"/>
<xs:element minOccurs="0" ref="transforms"/>
<xs:element minOccurs="0" ref="metadata"/>
<xs:element minOccurs="0" ref="codeMappings"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocales"/>
<xs:element minOccurs="0" ref="personNamesDefaults"/>
<xs:element minOccurs="0" ref="likelySubtags"/>
<xs:element minOccurs="0" ref="metazoneInfo"/>
<xs:element minOccurs="0" ref="plurals"/>
<xs:element minOccurs="0" ref="telephoneCodeData"/>
<xs:element minOccurs="0" ref="numberingSystems"/>
<xs:element minOccurs="0" ref="bcp47KeywordMappings"/>
<xs:element minOccurs="0" ref="gender"/>
<xs:element minOccurs="0" ref="references"/>
<xs:element minOccurs="0" ref="languageMatching"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRuleSet"/>
<xs:element minOccurs="0" ref="metaZones"/>
<xs:element minOccurs="0" ref="primaryZones"/>
<xs:element minOccurs="0" ref="windowsZones"/>
<xs:element minOccurs="0" ref="coverageLevels"/>
<xs:element minOccurs="0" ref="idValidity"/>
<xs:element minOccurs="0" ref="rgScope"/>
<xs:element minOccurs="0" ref="languageGroups"/>
<xs:element minOccurs="0" ref="grammaticalData"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="version">
<xs:complexType>
<xs:attribute name="number" use="required"/>
<xs:attribute default="45" name="cldrVersion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="45"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute default="15.1.0" name="unicodeVersion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="15.1.0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="generation">
<xs:complexType>
<xs:attribute name="date" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="cldrVersion">
<xs:complexType>
<xs:attribute name="version" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="currencyData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="fractions"/>
<xs:element maxOccurs="unbounded" ref="region"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="fractions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="info"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="info">
<xs:complexType>
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="digits" type="xs:NMTOKEN"/>
<xs:attribute name="rounding" type="xs:NMTOKEN"/>
<xs:attribute name="cashDigits" type="xs:NMTOKEN"/>
<xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="region">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="currency"/>
</xs:sequence>
<xs:attribute name="iso3166" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="currency">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="alternate"/>
</xs:sequence>
<xs:attribute name="before" type="xs:NMTOKEN"/>
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="from" type="xs:NMTOKEN"/>
<xs:attribute name="to" type="xs:NMTOKEN"/>
<xs:attribute name="tz"/>
<xs:attribute name="to-tz"/>
<xs:attribute name="digits" type="xs:NMTOKEN"/>
<xs:attribute name="rounding" type="xs:NMTOKEN"/>
<xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
<xs:attribute name="tender">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<!-- use from and to instead. -->
<xs:element name="alternate">
<xs:complexType>
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- use from and to instead. -->
<xs:element name="territoryContainment">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="group"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="group">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="contains" type="xs:NMTOKENS"/>
<xs:attribute name="grouping">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="status">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="grouping"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="subdivisionContainment">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="subgroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subgroup">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="subtype" type="xs:NMTOKEN"/>
<xs:attribute name="contains" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="languageData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="language"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="language">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="scripts" type="xs:NMTOKENS"/>
<xs:attribute name="territories" type="xs:NMTOKENS"/>
<xs:attribute name="variants" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="territoryInfo">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="territory"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="territory">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languagePopulation"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="gdp" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="literacyPercent" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="population" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="languagePopulation">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="literacyPercent" type="xs:NMTOKEN"/>
<xs:attribute name="writingPercent" type="xs:NMTOKEN"/>
<xs:attribute name="populationPercent" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="officialStatus">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="de_facto_official"/>
<xs:enumeration value="official"/>
<xs:enumeration value="official_regional"/>
<xs:enumeration value="official_minority"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="postalCodeData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="postCodeRegex"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="postCodeRegex">
<xs:complexType mixed="true">
<xs:attribute name="territoryId" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="calendarData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="calendar"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="calendar">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="calendarSystem"/>
<xs:element minOccurs="0" ref="inheritEras"/>
<xs:element minOccurs="0" ref="eras"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="territories" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<!-- use ordering attribute in calendarPreference element instead. -->
<xs:element name="calendarSystem">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="solar"/>
<xs:enumeration value="lunar"/>
<xs:enumeration value="lunisolar"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="inheritEras">
<xs:complexType>
<xs:attribute name="calendar" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="eras">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="era"/>
</xs:sequence>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="era">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="start"/>
<xs:attribute name="end"/>
<xs:attribute name="code" type="xs:NMTOKEN"/>
<xs:attribute name="aliases" type="xs:NMTOKENS"/>
<xs:attribute name="named">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="calendarPreferenceData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="calendarPreference"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="calendarPreference">
<xs:complexType>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="ordering" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="weekData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="minDays"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="firstDay"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="weekendStart"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="weekendEnd"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="weekOfPreference"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="minDays">
<xs:complexType>
<xs:attribute name="count" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="firstDay">
<xs:complexType>
<xs:attribute name="day" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="sun"/>
<xs:enumeration value="mon"/>
<xs:enumeration value="tue"/>
<xs:enumeration value="wed"/>
<xs:enumeration value="thu"/>
<xs:enumeration value="fri"/>
<xs:enumeration value="sat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="weekendStart">
<xs:complexType>
<xs:attribute name="day" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="sun"/>
<xs:enumeration value="mon"/>
<xs:enumeration value="tue"/>
<xs:enumeration value="wed"/>
<xs:enumeration value="thu"/>
<xs:enumeration value="fri"/>
<xs:enumeration value="sat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="weekendEnd">
<xs:complexType>
<xs:attribute name="day" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="sun"/>
<xs:enumeration value="mon"/>
<xs:enumeration value="tue"/>
<xs:enumeration value="wed"/>
<xs:enumeration value="thu"/>
<xs:enumeration value="fri"/>
<xs:enumeration value="sat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="weekOfPreference">
<xs:complexType>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="ordering" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="timeData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="hours"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="hours">
<xs:complexType>
<xs:attribute name="allowed" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="preferred" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="regions" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="measurementData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="measurementSystem"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="paperSize"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="measurementSystem">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="metric"/>
<xs:enumeration value="US"/>
<xs:enumeration value="UK"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="paperSize">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="A4"/>
<xs:enumeration value="US-Letter"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="territories" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="unitIdComponents">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitIdComponent"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unitIdComponent">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="values" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="unitPrefixes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPrefix"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unitPrefix">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="symbol" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="power10" type="xs:NMTOKEN"/>
<xs:attribute name="power2" type="xs:NMTOKEN"/>
</xs:complexType>
</xs:element>
<!--
<unitPrefix type='quecto' symbol='q' power10='-30'>
<unitPrefix type='kibi' symbol='Ki' power2='10'>
-->
<xs:element name="unitConstants">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstant"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unitConstant">
<xs:complexType>
<xs:attribute name="constant" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="value" use="required"/>
<xs:attribute name="status" type="xs:NMTOKEN"/>
<xs:attribute name="description"/>
</xs:complexType>
</xs:element>
<xs:element name="unitQuantities">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantity"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unitQuantity">
<xs:complexType>
<xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="quantity" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="status" type="xs:NMTOKEN"/>
<xs:attribute name="description"/>
</xs:complexType>
</xs:element>
<xs:element name="convertUnits">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnit"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="convertUnit">
<xs:complexType>
<xs:attribute name="source" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="factor"/>
<xs:attribute name="offset"/>
<xs:attribute name="special" type="xs:NMTOKEN"/>
<xs:attribute name="systems" type="xs:NMTOKENS"/>
<xs:attribute name="description"/>
</xs:complexType>
</xs:element>
<xs:element name="unitPreferenceData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPreferences"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="unitPreferences">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPreference"/>
</xs:sequence>
<xs:attribute name="category" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="usage" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="scope">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="small"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="unitPreference">
<xs:complexType mixed="true">
<xs:attribute name="regions" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="geq" type="xs:NMTOKEN"/>
<xs:attribute name="skeleton"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="timezoneData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="mapTimezones"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneFormatting"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mapTimezones">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="mapZone"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="otherVersion"/>
<xs:attribute name="typeVersion"/>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="mapZone">
<xs:complexType>
<xs:attribute name="type" use="required"/>
<xs:attribute name="other" use="required"/>
<xs:attribute name="territory"/>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="zoneFormatting">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneItem"/>
</xs:sequence>
<xs:attribute name="multizone" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="tzidVersion"/>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="zoneItem">
<xs:complexType>
<xs:attribute name="type" use="required"/>
<xs:attribute name="territory" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="aliases"/>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="characters">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="character-fallback"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="character-fallback">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="character"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="character">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="substitute"/>
</xs:sequence>
<xs:attribute name="value" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="standard"/>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="substitute">
<xs:complexType mixed="true">
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="standard"/>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="transforms">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="transform"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="transform">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="comment"/>
<xs:element ref="tRule"/>
</xs:choice>
<xs:attribute name="source"/>
<xs:attribute name="target"/>
<xs:attribute name="variant"/>
<xs:attribute default="both" name="direction">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="forward"/>
<xs:enumeration value="backward"/>
<xs:enumeration value="both"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="alias"/>
<xs:attribute name="backwardAlias"/>
<xs:attribute default="external" name="visibility">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="internal"/>
<xs:enumeration value="external"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="comment" type="xs:string"/>
<xs:element name="tRule" type="xs:string"/>
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="attributeOrder"/>
<xs:element minOccurs="0" ref="elementOrder"/>
<xs:element minOccurs="0" ref="serialElements"/>
<xs:element minOccurs="0" ref="suppress"/>
<xs:element minOccurs="0" ref="validity"/>
<xs:element minOccurs="0" ref="alias"/>
<xs:element minOccurs="0" ref="deprecated"/>
<xs:element minOccurs="0" ref="distinguishing"/>
<xs:element minOccurs="0" ref="blocking"/>
<xs:element minOccurs="0" ref="coverageAdditions"/>
<xs:element minOccurs="0" ref="skipDefaultLocale"/>
<xs:element minOccurs="0" ref="defaultContent"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="attributeOrder">
<xs:complexType mixed="true">
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="elementOrder">
<xs:complexType mixed="true">
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="serialElements">
<xs:complexType mixed="true">
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="suppress">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="attributes"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="attributes">
<xs:complexType>
<xs:attribute name="element" type="xs:NMTOKENS"/>
<xs:attribute name="attribute" type="xs:NMTOKENS"/>
<xs:attribute name="attributeValue"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="validity">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="variable"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="attributeValues"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="variable">
<xs:complexType mixed="true">
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="id" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="attributeValues">
<xs:complexType mixed="true">
<xs:attribute name="dtds" type="xs:NMTOKEN"/>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="elements" type="xs:NMTOKENS"/>
<xs:attribute name="attributes" type="xs:NMTOKENS"/>
<xs:attribute name="order" type="xs:NMTOKEN"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="alias">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="scriptAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="subdivisionAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="variantAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="zoneAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitAlias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="usageAlias"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="languageAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
<xs:enumeration value="macrolanguage"/>
<xs:enumeration value="legacy"/>
<xs:enumeration value="bibliographic"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="scriptAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="territoryAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="subdivisionAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="variantAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="zoneAlias">
<xs:complexType>
<xs:attribute name="type" use="required"/>
<xs:attribute name="replacement" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
<xs:enumeration value="overlong"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="unitAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="usageAlias">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="replacement" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="reason">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deprecated"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="deprecated">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="deprecatedItems"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="deprecatedItems">
<xs:complexType>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="standard"/>
<xs:enumeration value="supplemental"/>
<xs:enumeration value="ldml"/>
<xs:enumeration value="supplementalData"/>
<xs:enumeration value="ldmlBCP47"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="elements" type="xs:NMTOKENS"/>
<xs:attribute name="attributes" type="xs:NMTOKENS"/>
<xs:attribute name="values"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="distinguishing">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="distinguishingItems"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="distinguishingItems">
<xs:complexType>
<xs:attribute name="exclude">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="elements" type="xs:NMTOKENS"/>
<xs:attribute name="attributes" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="blocking">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="blockingItems"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="blockingItems">
<xs:complexType>
<xs:attribute name="elements" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="coverageAdditions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageCoverage"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="scriptCoverage"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryCoverage"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="currencyCoverage"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="timezoneCoverage"/>
</xs:sequence>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="languageCoverage">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="scriptCoverage">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="territoryCoverage">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="currencyCoverage">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="timezoneCoverage">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="values"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<!-- would be NMTOKENS, but needs to allow / -->
<xs:element name="skipDefaultLocale">
<xs:complexType>
<xs:attribute name="services" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="defaultContent">
<xs:complexType>
<xs:attribute name="locales" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="codeMappings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageCodes"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="territoryCodes"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="currencyCodes"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="languageCodes">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="alpha3" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="territoryCodes">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="numeric" type="xs:NMTOKEN"/>
<xs:attribute name="alpha3" type="xs:NMTOKEN"/>
<xs:attribute name="fips10" type="xs:NMTOKEN"/>
<xs:attribute name="internet" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="currencyCodes">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="numeric" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- # Parent locales -->
<xs:element name="parentLocales">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocale"/>
</xs:sequence>
<xs:attribute name="component" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="parentLocale">
<xs:complexType>
<xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="localeRules" type="xs:NMTOKENS"/>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="personNamesDefaults">
<xs:complexType>
<xs:choice>
<xs:element ref="alias"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="nameOrderLocalesDefault"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="nameOrderLocalesDefault">
<xs:complexType mixed="true">
<xs:attribute name="order" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="givenFirst"/>
<xs:enumeration value="surnameFirst"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="likelySubtags">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="likelySubtag"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="likelySubtag">
<xs:complexType>
<xs:attribute name="from" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="to" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="origin" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="metazoneInfo">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="timezone"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="timezone">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="usesMetazone"/>
</xs:sequence>
<xs:attribute name="type" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="usesMetazone">
<xs:complexType>
<xs:attribute name="from"/>
<xs:attribute name="to"/>
<xs:attribute name="mzone" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="plurals">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRules"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRanges"/>
</xs:sequence>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ordinal"/>
<xs:enumeration value="cardinal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<!-- default is cardinal -->
<xs:element name="pluralRules">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRule"/>
</xs:sequence>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="pluralRule">
<xs:complexType mixed="true">
<xs:attribute name="count" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="zero"/>
<xs:enumeration value="one"/>
<xs:enumeration value="two"/>
<xs:enumeration value="few"/>
<xs:enumeration value="many"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<!-- 'other' is implicitly everything else -->
<xs:element name="pluralRanges">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="pluralRange"/>
</xs:sequence>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="pluralRange">
<xs:complexType>
<xs:attribute name="start">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="zero"/>
<xs:enumeration value="one"/>
<xs:enumeration value="two"/>
<xs:enumeration value="few"/>
<xs:enumeration value="many"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="end">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="zero"/>
<xs:enumeration value="one"/>
<xs:enumeration value="two"/>
<xs:enumeration value="few"/>
<xs:enumeration value="many"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="result" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="zero"/>
<xs:enumeration value="one"/>
<xs:enumeration value="two"/>
<xs:enumeration value="few"/>
<xs:enumeration value="many"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<!-- if missing, means *all* -->
<!-- if missing, means *all* -->
<!-- if a whole rule is missing, means *other* -->
<xs:element name="telephoneCodeData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="codesByTerritory"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="codesByTerritory">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="telephoneCountryCode"/>
</xs:sequence>
<xs:attribute name="territory" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="telephoneCountryCode">
<xs:complexType>
<xs:attribute name="code" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="from" type="xs:NMTOKEN"/>
<xs:attribute name="to" type="xs:NMTOKEN"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="numberingSystems">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="numberingSystem"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="numberingSystem">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="numeric"/>
<xs:enumeration value="algorithmic"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="radix" type="xs:NMTOKEN"/>
<xs:attribute name="digits"/>
<xs:attribute name="rules"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="bcp47KeywordMappings">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="mapKeys"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="mapTypes"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mapKeys">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="keyMap"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="keyMap">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="bcp47" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="mapTypes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="typeMap"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="typeMap">
<xs:complexType>
<xs:attribute name="type" use="required"/>
<xs:attribute name="bcp47" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- # Gender List support -->
<xs:element name="gender">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="personList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="personList">
<xs:complexType>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="neutral"/>
<xs:enumeration value="mixedNeutral"/>
<xs:enumeration value="maleTaints"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="references">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="reference"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reference">
<xs:complexType mixed="true">
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="uri"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="standard">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="alt" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="languageMatching">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageMatches"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="languageMatches">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="paradigmLocales"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="matchVariable"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageMatch"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="paradigmLocales">
<xs:complexType>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="matchVariable">
<xs:complexType>
<xs:attribute name="id" use="required"/>
<xs:attribute name="value" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="languageMatch">
<xs:complexType>
<xs:attribute name="desired" use="required"/>
<xs:attribute name="supported" use="required"/>
<xs:attribute name="percent" type="xs:NMTOKEN"/>
<xs:attribute name="distance" type="xs:NMTOKEN"/>
<xs:attribute name="oneway">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<!-- # Day Periods -->
<xs:element name="dayPeriodRuleSet">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRules"/>
</xs:sequence>
<xs:attribute name="type" type="xs:NMTOKEN"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="dayPeriodRules">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="dayPeriodRule"/>
</xs:sequence>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="dayPeriodRule">
<xs:complexType>
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="at" type="xs:NMTOKEN"/>
<xs:attribute name="after" type="xs:NMTOKEN"/>
<xs:attribute name="before" type="xs:NMTOKEN"/>
<xs:attribute name="from" type="xs:NMTOKEN"/>
<xs:attribute name="to" type="xs:NMTOKEN"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="references"/>
</xs:complexType>
</xs:element>
<xs:element name="metaZones">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="metazoneInfo"/>
<xs:element minOccurs="0" ref="mapTimezones"/>
<xs:element minOccurs="0" ref="metazoneIds"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="metazoneIds">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="metazoneId"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="metazoneId">
<xs:complexType>
<xs:attribute name="shortId" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="longId"/>
<xs:attribute default="false" name="deprecated">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="preferred" type="xs:NMTOKEN"/>
<xs:attribute default="40" name="since"/>
</xs:complexType>
</xs:element>
<xs:element name="primaryZones">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="primaryZone"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="primaryZone">
<xs:complexType mixed="true">
<xs:attribute name="iso3166" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- # Time Zones -->
<xs:element name="windowsZones">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="mapTimezones"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- # Coverage levels -->
<xs:element name="coverageLevels">
<xs:complexType>
<xs:sequence>
<xs:element ref="approvalRequirements"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="coverageVariable"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="coverageLevel"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="pathMatch"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approvalRequirements">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="approvalRequirement"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approvalRequirement">
<xs:complexType>
<xs:attribute name="votes" use="required"/>
<xs:attribute name="locales" use="required"/>
<xs:attribute name="paths" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="coverageVariable">
<xs:complexType>
<xs:attribute name="key" use="required"/>
<xs:attribute name="value" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="coverageLevel">
<xs:complexType>
<xs:attribute name="inLanguage"/>
<xs:attribute name="inScript"/>
<xs:attribute name="inTerritory"/>
<xs:attribute name="value" use="required"/>
<xs:attribute name="match" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="pathMatch">
<xs:complexType>
<xs:attribute name="id" type="xs:NMTOKENS"/>
<xs:attribute name="match" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="idValidity">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="id"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="id">
<xs:complexType mixed="true">
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="idStatus" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="rgScope">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="rgPath"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="rgPath">
<xs:complexType>
<xs:attribute name="path" use="required"/>
<xs:attribute name="draft">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="approved"/>
<xs:enumeration value="contributed"/>
<xs:enumeration value="provisional"/>
<xs:enumeration value="unconfirmed"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="languageGroups">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="languageGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="languageGroup">
<xs:complexType mixed="true">
<xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- # Grammatical Features -->
<xs:element name="grammaticalData">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalFeatures"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalDerivations"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="grammaticalFeatures">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalCase"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalGender"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="grammaticalDefiniteness"/>
</xs:sequence>
<xs:attribute name="targets" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="grammaticalCase">
<xs:complexType>
<xs:attribute name="scope" type="xs:NMTOKENS"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="grammaticalGender">
<xs:complexType>
<xs:attribute name="scope" type="xs:NMTOKENS"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="grammaticalDefiniteness">
<xs:complexType>
<xs:attribute name="scope" type="xs:NMTOKENS"/>
<xs:attribute name="values" type="xs:NMTOKENS"/>
</xs:complexType>
</xs:element>
<xs:element name="grammaticalDerivations">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="deriveCompound"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="deriveComponent"/>
</xs:sequence>
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="deriveCompound">
<xs:complexType>
<xs:attribute name="feature" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="structure" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
<!-- TODO: add @MATCH function for locale's gender categories and use here -->
<xs:element name="deriveComponent">
<xs:complexType>
<xs:attribute name="feature" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="structure" type="xs:NMTOKENS" use="required"/>
<xs:attribute name="value0" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="value1" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
</xs:element>
</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 -->