make/data/cldr/common/dtd/ldmlSupplemental.xsd (2,327 lines of code) (raw):

<?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-2025 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="scriptData"/> <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="48" name="cldrVersion"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="48"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute default="16.0.0" name="unicodeVersion"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="16.0.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="scriptData"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" ref="scriptVariant"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="scriptVariant"> <xs:complexType> <xs:attribute name="type" type="xs:NMTOKEN" use="required"/> <xs:attribute name="id" type="xs:NMTOKEN" use="required"/> <xs:attribute name="base" type="xs:NMTOKENS" use="required"/> </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:attribute name="stdOffset"/> <xs:attribute name="dstOffset"/> </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 -->