<!--
Copyright © 1991-2023 Unicode, Inc.
For terms of use, see http://www.unicode.org/copyright.html
SPDX-License-Identifier: Unicode-DFS-2016
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
-->

<!ELEMENT ldml ( identity, ( alias | ( fallback*, localeDisplayNames?, layout?, contextTransforms?, characters?, delimiters?, measurement?, dates?, numbers?, units?, listPatterns?, collations?, posix?, characterLabels?, segmentations?, rbnf?, typographicNames?, personNames?, annotations?, metadata?, references?, special* ) ) ) >
<!ATTLIST ldml version CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST ldml draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT identity ( alias | ( version, generation?, language, script?, territory?, variant?, special* ) ) >
<!ATTLIST identity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->
<!-- # These elements are common to almost all elements defined -->

<!ELEMENT alias ( special* ) >
<!ATTLIST alias source NMTOKEN #REQUIRED >
    <!--@MATCH:literal/locale-->
    <!--@VALUE-->
<!ATTLIST alias path CDATA #IMPLIED >
    <!--@MATCH:regex/\.\..*-->
    <!--@VALUE-->
<!ATTLIST alias alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST alias draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT special ANY >

<!ELEMENT version EMPTY >
<!ATTLIST version number CDATA #REQUIRED >
    <!--@MATCH:regex/\$Revision.*\$-->
    <!--@METADATA-->
<!ATTLIST version cldrVersion CDATA #FIXED "44.1" >
    <!--@MATCH:any-->
    <!--@VALUE-->
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT generation EMPTY >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST generation date CDATA #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST generation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT language ( #PCDATA ) >
<!ATTLIST language type NMTOKEN #REQUIRED >
    <!--@MATCH:validity/locale-->
<!ATTLIST language alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/long, secondary, short, variant, menu-->
<!ATTLIST language draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST language references CDATA #IMPLIED >
    <!--@MATCH:any-->
    <!--@METADATA-->

<!ELEMENT script ( #PCDATA ) >
<!ATTLIST script type NMTOKEN #REQUIRED >
    <!--@MATCH:validity/script-->
<!ATTLIST script alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/secondary, short, stand-alone, variant-->
<!ATTLIST script draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST script references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT territory ( #PCDATA ) >
<!ATTLIST territory type NMTOKEN #REQUIRED >
    <!--@MATCH:validity/region-->
<!ATTLIST territory alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/short, variant, biot, chagos-->
<!ATTLIST territory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST territory references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT variant ( #PCDATA ) >
<!ATTLIST variant type NMTOKEN #REQUIRED >
    <!--@MATCH:validity/variant-->
<!ATTLIST variant alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/secondary, variant-->
<!ATTLIST variant draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST variant references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->

<!ELEMENT fallback ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST fallback alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST fallback draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST fallback references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT localeDisplayNames ( alias | ( localeDisplayPattern?, languages?, scripts?, territories?, subdivisions?, variants?, keys?, types?, transformNames?, measurementSystemNames?, codePatterns?, special* ) ) >
<!ATTLIST localeDisplayNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT localeDisplayPattern ( alias | ( localePattern*, localeSeparator*, localeKeyTypePattern*, special* ) ) >
<!ATTLIST localeDisplayPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST localeDisplayPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST localeDisplayPattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT localePattern ( #PCDATA ) >
<!ATTLIST localePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST localePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST localePattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT localeSeparator ( #PCDATA ) >
<!ATTLIST localeSeparator alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST localeSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST localeSeparator references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT localeKeyTypePattern ( #PCDATA ) >
<!ATTLIST localeKeyTypePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST localeKeyTypePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST localeKeyTypePattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- # Either 1 alias OR any specials, any order, zero or more language -->

<!ELEMENT languages ( alias | ( language | special )* ) >
<!ATTLIST languages draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST languages standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST languages references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST languages validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- # Either 1 alias OR any specials, any order, zero or more script -->

<!ELEMENT scripts ( alias | ( script | special )* ) >
<!ATTLIST scripts draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scripts standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scripts references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST scripts validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- # Either 1 alias OR any specials, any order, zero or more territory -->

<!ELEMENT territories ( alias | ( territory | special )* ) >
<!ATTLIST territories draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST territories standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST territories references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST territories validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT subdivisions ( alias | ( subdivision | special )* ) >
<!ATTLIST subdivisions draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST subdivisions references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT subdivision ( #PCDATA ) >
<!ATTLIST subdivision type NMTOKEN #REQUIRED >
    <!--@MATCH:or/validity/subdivision||literal/AS, AW, AX, BL, CP, CW, GF, GP, GU, HK, IC, MF, MO, MP, MQ, NC, PF, PM, PR, RE, SX, TA, TF, TW, UM, VI, WF, YT, itsd, no50-->
<!ATTLIST subdivision alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST subdivision draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!-- # Either 1 alias OR any specials, any order, zero or more variant -->

<!ELEMENT variants ( alias | ( variant | special )* ) >
<!ATTLIST variants draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST variants standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST variants references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST variants validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- # Either 1 alias OR any specials, any order, zero or more key -->

<!ELEMENT keys ( alias | ( key | special )* ) >
<!ATTLIST keys draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST keys standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST keys references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST keys validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT key ( #PCDATA ) >
<!ATTLIST key type NMTOKEN #REQUIRED >
    <!--@MATCH:or/bcp47/anykey||literal/t-->
<!ATTLIST key alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST key draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST key references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- # Either 1 alias OR any specials, any order, zero or more type -->

<!ELEMENT types ( alias | ( type | special )* ) >
<!ATTLIST types draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST types standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST types references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST types validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT type ( #PCDATA ) >
<!ATTLIST type key NMTOKEN #REQUIRED >
    <!--@MATCH:bcp47/anykey-->
<!ATTLIST type type NMTOKEN #REQUIRED >
    <!--@MATCH:bcp47/anyvalue-->
<!ATTLIST type alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/short, variant-->
<!ATTLIST type draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST type references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT transformNames ( alias | ( transformName | special )* ) >
    <!--@DEPRECATED-->
<!ATTLIST transformNames draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST transformNames references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT transformName ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST transformName type NMTOKEN #REQUIRED >
    <!--@DEPRECATED-->
<!ATTLIST transformName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST transformName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST transformName references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!-- # Either 1 alias OR any specials, any order, zero or more measurementSystemName -->

<!ELEMENT measurementSystemNames ( alias | ( measurementSystemName | special )* ) >
<!ATTLIST measurementSystemNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystemNames references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST measurementSystemNames validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT measurementSystemName ( #PCDATA ) >
<!ATTLIST measurementSystemName type (US | metric | UK) #REQUIRED >
<!ATTLIST measurementSystemName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST measurementSystemName draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST measurementSystemName references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT codePatterns ( alias | ( codePattern | special )* ) >

<!ELEMENT codePattern ( #PCDATA ) >
<!ATTLIST codePattern type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/language, script, territory-->
<!ATTLIST codePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST codePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST codePattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->
<!-- # layout and orientation are script specific, so validSublocales attribute is not required -->

<!ELEMENT layout ( alias | ( orientation*, inList*, inText*, special* ) ) >
<!ATTLIST layout draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST layout references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT orientation ( alias | ( characterOrder*, lineOrder*, special* ) ) >
<!ATTLIST orientation characters (left-to-right | right-to-left | top-to-bottom | bottom-to-top) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST orientation lines (left-to-right | right-to-left | top-to-bottom | bottom-to-top) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST orientation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST orientation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST orientation standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST orientation references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT characterOrder ( #PCDATA ) >
<!ATTLIST characterOrder alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST characterOrder draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT lineOrder ( #PCDATA ) >
<!ATTLIST lineOrder alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST lineOrder draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT inList ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST inList casing (titlecase-words | titlecase-firstword | lowercase-words | mixed) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST inList alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST inList draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST inList references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT inText ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST inText type (languages | scripts | territories | variants | keys | types | measurementSystemNames | monthWidth | dayWidth | quarterWidth | long | fields | currency) #IMPLIED >
    <!--@DEPRECATED-->
<!ATTLIST inText alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST inText draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST inText references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT contextTransforms ( alias | ( contextTransformUsage*, special* ) ) >
<!ATTLIST contextTransforms alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST contextTransforms draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST contextTransforms references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST contextTransforms validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT contextTransformUsage ( alias | ( contextTransform*, special* ) ) >
<!ATTLIST contextTransformUsage type CDATA #REQUIRED >
    <!--@MATCH:literal/all, calendar-field, currencyName, currencyName-count, day-format-except-narrow, day-standalone-except-narrow, era-abbr, era-name, key, keyValue, languages, metazone-long, metazone-short, month-format-except-narrow, month-standalone-except-narrow, number-spellout, relative, script, territory, typographicNames, zone-exemplarCity, zone-long, zone-short-->
<!ATTLIST contextTransformUsage alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST contextTransformUsage draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST contextTransformUsage references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST contextTransformUsage validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT contextTransform ( #PCDATA ) >
<!ATTLIST contextTransform type (uiListOrMenu | stand-alone) #REQUIRED >
<!ATTLIST contextTransform alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST contextTransform draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST contextTransform references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->

<!ELEMENT characters ( alias | ( exemplarCharacters*, ellipsis*, moreInformation*, stopwords*, indexLabels*, mapping*, parseLenients*, special* ) ) >
<!ATTLIST characters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT exemplarCharacters ( #PCDATA | cp )* >
<!ATTLIST exemplarCharacters type (auxiliary | standard | punctuation | currencySymbol | index | numbers) #IMPLIED >
    <!--@DEPRECATED:currencySymbol-->
<!ATTLIST exemplarCharacters alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST exemplarCharacters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST exemplarCharacters standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST exemplarCharacters references CDATA #IMPLIED >
    <!--@MATCH:any-->
    <!--@METADATA-->
<!ATTLIST exemplarCharacters validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- # This element can occur anywhere there may be localizable data -->

<!ELEMENT cp ( special* ) >
    <!--@DEPRECATED-->
<!ATTLIST cp hex NMTOKEN #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT ellipsis ( #PCDATA ) >
<!ATTLIST ellipsis type (initial | medial | final | word-initial | word-medial | word-final) #REQUIRED >
<!ATTLIST ellipsis alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST ellipsis draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST ellipsis references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT moreInformation ( #PCDATA ) >
<!ATTLIST moreInformation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST moreInformation draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST moreInformation references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT stopwords ( stopwordList* ) >
    <!--@DEPRECATED-->

<!ELEMENT stopwordList ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST stopwordList type NMTOKEN #REQUIRED >
    <!--@DEPRECATED-->
<!ATTLIST stopwordList alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST stopwordList draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST stopwordList references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT indexLabels ( indexSeparator*, compressedIndexSeparator*, indexRangePattern*, indexLabelBefore*, indexLabelAfter*, indexLabel* ) >
    <!--@DEPRECATED-->

<!ELEMENT indexSeparator ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST indexSeparator alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST indexSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST indexSeparator references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT compressedIndexSeparator ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST compressedIndexSeparator alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST compressedIndexSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST compressedIndexSeparator references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT indexRangePattern ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST indexRangePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST indexRangePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST indexRangePattern references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT indexLabelBefore ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST indexLabelBefore alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabelBefore draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabelBefore references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT indexLabelAfter ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST indexLabelAfter alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabelAfter draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabelAfter references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT indexLabel ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST indexLabel indexSource CDATA #IMPLIED >
    <!--@DEPRECATED-->
<!ATTLIST indexLabel priority (1 | 2 | 3) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabel alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabel draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST indexLabel references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT mapping ( special* ) >
    <!--@DEPRECATED-->
<!ATTLIST mapping registry NMTOKEN #REQUIRED >
    <!--@DEPRECATED-->
<!ATTLIST mapping type NMTOKEN #IMPLIED >
    <!-- use choice instead -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST mapping choice NMTOKEN #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST mapping alt NMTOKENS #IMPLIED >
    <!--@DEPRECATED-->
<!ATTLIST mapping draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST mapping standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST mapping references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST mapping validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT parseLenients ( alias | ( parseLenient*, special* ) ) >
<!ATTLIST parseLenients scope (general | number | date) #REQUIRED >
<!ATTLIST parseLenients level (lenient | stricter) #REQUIRED >

<!ELEMENT parseLenient ( #PCDATA ) >
<!ATTLIST parseLenient sample CDATA #REQUIRED >
    <!--@MATCH:any-->
<!ATTLIST parseLenient alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST parseLenient draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->

<!ELEMENT delimiters ( alias | ( quotationStart*, quotationEnd*, alternateQuotationStart*, alternateQuotationEnd*, special* ) ) >
<!ATTLIST delimiters alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST delimiters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST delimiters standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST delimiters references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST delimiters validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT quotationStart ( #PCDATA | cp )* >
<!ATTLIST quotationStart alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quotationStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST quotationStart references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT quotationEnd ( #PCDATA | cp )* >
<!ATTLIST quotationEnd alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quotationEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST quotationEnd references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT alternateQuotationStart ( #PCDATA | cp )* >
<!ATTLIST alternateQuotationStart alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST alternateQuotationStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST alternateQuotationStart references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT alternateQuotationEnd ( #PCDATA | cp )* >
<!ATTLIST alternateQuotationEnd alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST alternateQuotationEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST alternateQuotationEnd references CDATA #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->

<!ELEMENT measurement ( alias | ( measurementSystem*, paperSize*, special* ) ) >
    <!-- use measurementData in supplemental instead -->
    <!--@DEPRECATED-->
<!ATTLIST measurement alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST measurement draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurement standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurement references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurement validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT measurementSystem ( special* ) >
    <!-- use measurementSystem in supplemental instead -->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem type (metric | US | UK) #REQUIRED >
    <!-- use choice instead -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem choice (metric | US | UK) #IMPLIED >
    <!-- really required, but needs to be optional to support type also -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST measurementSystem validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT paperSize ( alias | ( height*, width*, special* ) ) >
    <!-- use paperSize in supplemental instead -->
    <!--@DEPRECATED-->
<!ATTLIST paperSize alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST paperSize draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST paperSize standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST paperSize references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST paperSize validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT height ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST height alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST height draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST height references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT width ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST width alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST width draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST width references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT dates ( alias | ( localizedPatternChars*, dateRangePattern*, calendars?, fields?, timeZoneNames?, special* ) ) >
<!ATTLIST dates alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dates draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dates standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dates references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dates validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT localizedPatternChars ( #PCDATA | cp )* >
    <!--@DEPRECATED-->
<!ATTLIST localizedPatternChars alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST localizedPatternChars draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST localizedPatternChars standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST localizedPatternChars references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST localizedPatternChars validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateRangePattern ( #PCDATA ) >
    <!-- use intervalFormats. -->
    <!--@DEPRECATED-->
<!ATTLIST dateRangePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST dateRangePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateRangePattern standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateRangePattern references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateRangePattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT calendars ( alias | ( default*, calendar*, special* ) ) >
    <!-- use calendarPreferenceData instead of default element -->
<!ATTLIST calendars draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST calendars validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT default ( special* ) >
    <!--@DEPRECATED-->
<!ATTLIST default type NMTOKEN #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST default choice NMTOKEN #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST default alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST default draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST default references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT calendar ( alias | ( months?, monthNames?, monthAbbr?, monthPatterns?, days?, dayNames?, dayAbbr?, quarters?, week?, am*, pm*, dayPeriods?, eras?, cyclicNameSets?, dateFormats?, timeFormats?, dateTimeFormats?, fields*, special* ) ) >
    <!-- use of fields is deprecated here -->
<!ATTLIST calendar type NMTOKEN #REQUIRED >
    <!--@MATCH:bcp47/ca-->
<!ATTLIST calendar alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST calendar draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST calendar standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST calendar references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST calendar validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT months ( alias | ( default*, monthContext*, special* ) ) >
<!ATTLIST months alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST months draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST months standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST months references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST months validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT monthContext ( alias | ( default*, monthWidth*, special* ) ) >
<!ATTLIST monthContext type (format | stand-alone) #REQUIRED >
<!ATTLIST monthContext alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthContext standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthContext references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthContext validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT monthWidth ( alias | ( month*, special* ) ) >
<!ATTLIST monthWidth type (abbreviated | narrow | wide) #REQUIRED >
<!ATTLIST monthWidth alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthWidth standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthWidth references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthWidth validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT month ( #PCDATA | cp )* >
<!ATTLIST month type (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13) #REQUIRED >
<!ATTLIST month yeartype (standard | leap) #IMPLIED >
<!ATTLIST month alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST month draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST month references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT monthNames ( alias | ( month*, special* ) ) >
    <!--@DEPRECATED-->
<!ATTLIST monthNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT monthAbbr ( alias | ( month*, special* ) ) >
    <!--@DEPRECATED-->
<!ATTLIST monthAbbr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT monthPatterns ( alias | ( monthPatternContext*, special* ) ) >
<!ATTLIST monthPatterns alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthPatterns draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthPatterns references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthPatterns validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT monthPatternContext ( alias | ( monthPatternWidth*, special* ) ) >
<!ATTLIST monthPatternContext type (format | stand-alone | numeric) #REQUIRED >
<!ATTLIST monthPatternContext alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthPatternContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthPatternContext references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthPatternContext validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT monthPatternWidth ( alias | ( monthPattern*, special* ) ) >
<!ATTLIST monthPatternWidth type (abbreviated | narrow | wide | all) #REQUIRED >
<!ATTLIST monthPatternWidth alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthPatternWidth draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST monthPatternWidth references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthPatternWidth validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT monthPattern ( #PCDATA ) >
<!ATTLIST monthPattern type (leap | standardAfterLeap | combined) #REQUIRED >
<!ATTLIST monthPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST monthPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST monthPattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT days ( alias | ( default*, dayContext*, special* ) ) >
<!ATTLIST days alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST days draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST days standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST days references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST days validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dayContext ( alias | ( default*, dayWidth*, special* ) ) >
<!ATTLIST dayContext type (format | stand-alone) #REQUIRED >
<!ATTLIST dayContext alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dayContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayContext standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayContext references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dayContext validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dayWidth ( alias | ( day*, special* ) ) >
<!ATTLIST dayWidth type (abbreviated | narrow | short | wide) #REQUIRED >
<!ATTLIST dayWidth alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dayWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayWidth standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayWidth references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dayWidth validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT day ( #PCDATA ) >
<!ATTLIST day type (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
<!ATTLIST day alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST day draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST day references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT dayNames ( alias | ( day*, special* ) ) >
    <!--@DEPRECATED-->
<!ATTLIST dayNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT dayAbbr ( alias | ( day*, special* ) ) >
    <!--@DEPRECATED-->
<!ATTLIST dayAbbr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT quarters ( alias | ( default*, quarterContext*, special* ) ) >
<!ATTLIST quarters alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quarters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST quarters references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST quarters validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT quarterContext ( alias | ( default*, quarterWidth*, special* ) ) >
<!ATTLIST quarterContext type (format | stand-alone) #REQUIRED >
<!ATTLIST quarterContext alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quarterContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST quarterContext references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST quarterContext validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT quarterWidth ( alias | ( quarter*, special* ) ) >
<!ATTLIST quarterWidth type (abbreviated | narrow | wide) #REQUIRED >
<!ATTLIST quarterWidth alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quarterWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST quarterWidth references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST quarterWidth validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT quarter ( #PCDATA ) >
<!ATTLIST quarter type (1 | 2 | 3 | 4) #REQUIRED >
<!ATTLIST quarter alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST quarter draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST quarter references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT week ( alias | ( minDays*, firstDay*, weekendStart*, weekendEnd*, special* ) ) >
    <!-- use supplemental weekData -->
    <!--@DEPRECATED-->
<!ATTLIST week alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST week draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST week standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST week references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST week validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT minDays ( special* ) >
    <!--@DEPRECATED-->
<!ATTLIST minDays count (1 | 2 | 3 | 4 | 5 | 6 | 7) #REQUIRED >
    <!--@DEPRECATED-->
<!ATTLIST minDays alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST minDays draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST minDays references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT firstDay ( special* ) >
    <!-- use supplemental data -->
    <!--@DEPRECATED-->
<!ATTLIST firstDay day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST firstDay alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST firstDay draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST firstDay references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT weekendStart ( special* ) >
    <!-- use supplemental data -->
    <!--@DEPRECATED-->
<!ATTLIST weekendStart day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST weekendStart time CDATA "00:00" >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST weekendStart alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST weekendStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST weekendStart references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT weekendEnd ( special* ) >
    <!-- use supplemental data -->
    <!--@DEPRECATED-->
<!ATTLIST weekendEnd day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST weekendEnd time CDATA "24:00" >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST weekendEnd alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST weekendEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST weekendEnd references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT am ( #PCDATA ) >
    <!-- use dayPeriods -->
    <!--@DEPRECATED-->
<!ATTLIST am alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST am draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST am references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST am validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT pm ( #PCDATA ) >
    <!-- use dayPeriods -->
    <!--@DEPRECATED-->
<!ATTLIST pm alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST pm draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST pm references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST pm validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dayPeriods ( alias | ( dayPeriodContext*, special* ) ) >
<!ATTLIST dayPeriods draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayPeriods references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT dayPeriodContext ( alias | ( dayPeriodWidth*, special* ) ) >
<!ATTLIST dayPeriodContext type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/format, stand-alone-->
<!ATTLIST dayPeriodContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayPeriodContext references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT dayPeriodWidth ( alias | ( dayPeriod*, special* ) ) >
<!ATTLIST dayPeriodWidth type (abbreviated | narrow | wide) #REQUIRED >
<!ATTLIST dayPeriodWidth draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dayPeriodWidth references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT dayPeriod ( #PCDATA ) >
<!ATTLIST dayPeriod type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/afternoon1, afternoon2, am, evening1, evening2, midnight, morning1, morning2, night1, night2, noon, pm-->
<!ATTLIST dayPeriod alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dayPeriod draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dayPeriod references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT eras ( alias | ( eraNames?, eraAbbr?, eraNarrow?, special* ) ) >
<!ATTLIST eras alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST eras draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST eras standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST eras references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST eras validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT eraNames ( alias | ( era*, special* ) ) >
<!ATTLIST eraNames alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST eraNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST eraNames references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST eraNames validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT era ( #PCDATA ) >
<!ATTLIST era type NMTOKEN #REQUIRED >
    <!--@MATCH:range/0~237-->
<!ATTLIST era alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST era draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST era references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT eraAbbr ( alias | ( era*, special* ) ) >
<!ATTLIST eraAbbr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST eraAbbr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST eraAbbr references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST eraAbbr validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT eraNarrow ( alias | ( era*, special* ) ) >
<!ATTLIST eraNarrow alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST eraNarrow draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST eraNarrow references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST eraNarrow validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT cyclicNameSets ( alias | ( cyclicNameSet*, special* ) ) >
<!ATTLIST cyclicNameSets alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST cyclicNameSets draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST cyclicNameSets references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cyclicNameSets validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT cyclicNameSet ( alias | ( cyclicNameContext*, special* ) ) >
<!ATTLIST cyclicNameSet type (years | months | days | dayParts | zodiacs | solarTerms) #REQUIRED >
<!ATTLIST cyclicNameSet alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST cyclicNameSet draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST cyclicNameSet references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cyclicNameSet validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT cyclicNameContext ( alias | ( cyclicNameWidth*, special* ) ) >
<!ATTLIST cyclicNameContext type (format | stand-alone) #REQUIRED >
<!ATTLIST cyclicNameContext alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST cyclicNameContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST cyclicNameContext references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cyclicNameContext validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT cyclicNameWidth ( alias | ( cyclicName*, special* ) ) >
<!ATTLIST cyclicNameWidth type (abbreviated | narrow | wide) #REQUIRED >
<!ATTLIST cyclicNameWidth alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST cyclicNameWidth draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST cyclicNameWidth references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cyclicNameWidth validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT cyclicName ( #PCDATA ) >
<!ATTLIST cyclicName type NMTOKEN #REQUIRED >
    <!--@MATCH:range/1~60-->
<!ATTLIST cyclicName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST cyclicName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cyclicName references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT dateFormats ( alias | ( default*, dateFormatLength*, special* ) ) >
<!ATTLIST dateFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateFormatLength ( alias | ( default*, dateFormat*, special* ) ) >
<!ATTLIST dateFormatLength type (full | long | medium | short) #REQUIRED >
<!ATTLIST dateFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dateFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dateFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateFormat ( alias | ( pattern*, datetimeSkeleton*, displayName*, special* ) ) >
<!ATTLIST dateFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST dateFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dateFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dateFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT pattern ( #PCDATA ) >
<!ATTLIST pattern type NMTOKEN "standard" >
    <!--@MATCH:literal/1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, 1000000000000000, 10000000000000000, 100000000000000000, 1000000000000000000, 10000000000000000000, approximately, atLeast, atMost, range, standard-->
<!ATTLIST pattern numbers CDATA #IMPLIED >
    <!-- TODO: generalize this to be any (M=|d=|y=)?<numberSystem> -->
    <!--@MATCH:literal/M=romanlow, d=hanidays, d=jpan, hanidec, hebr, tibt, y=jpanyear-->
    <!--@VALUE-->
<!ATTLIST pattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
    <!-- Only used for decimalFormats type="1000..." -->
<!ATTLIST pattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/alphaNextToNumber, ascii, noCurrency, variant-->
<!ATTLIST pattern draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST pattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT datetimeSkeleton ( #PCDATA ) >
<!ATTLIST datetimeSkeleton numbers CDATA #IMPLIED >
    <!-- TODO: generalize this to be any (M=|d=)?<numberSystem> -->
    <!--@MATCH:literal/M=romanlow, d=hanidays, hanidec, hebr, y=jpanyear-->
    <!--@VALUE-->
<!ATTLIST datetimeSkeleton alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST datetimeSkeleton draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST datetimeSkeleton references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT displayName ( #PCDATA ) >
<!ATTLIST displayName count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
    <!-- only for currencies -->
<!ATTLIST displayName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST displayName draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST displayName references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT timeFormats ( alias | ( default*, timeFormatLength*, special* ) ) >
<!ATTLIST timeFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT timeFormatLength ( alias | ( default*, timeFormat*, special* ) ) >
<!ATTLIST timeFormatLength type (full | long | medium | short) #REQUIRED >
<!ATTLIST timeFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST timeFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST timeFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT timeFormat ( alias | ( pattern*, datetimeSkeleton*, displayName*, special* ) ) >
<!ATTLIST timeFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST timeFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST timeFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST timeFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateTimeFormats ( alias | ( default*, dateTimeFormatLength*, availableFormats*, appendItems*, intervalFormats*, special* ) ) >
<!ATTLIST dateTimeFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateTimeFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateTimeFormatLength ( alias | ( default*, dateTimeFormat*, special* ) ) >
<!ATTLIST dateTimeFormatLength type (full | long | medium | short) #IMPLIED >
<!ATTLIST dateTimeFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dateTimeFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateTimeFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateTimeFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dateTimeFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateTimeFormat ( alias | ( pattern*, displayName*, special* ) ) >
<!ATTLIST dateTimeFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard, atTime-->
<!ATTLIST dateTimeFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST dateTimeFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateTimeFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST dateTimeFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST dateTimeFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT availableFormats ( alias | ( dateFormatItem*, special* ) ) >
<!ATTLIST availableFormats alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST availableFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST availableFormats references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST availableFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT dateFormatItem ( #PCDATA ) >
<!ATTLIST dateFormatItem id CDATA #REQUIRED >
    <!--@MATCH:regex/((E|EEEE)?(H|HH|h|hh|Bh)(m|ms|mm|mmss)?(Z|z|zzzz|v|vvvv)?)|(ms|mmss)|((G|GGGGG)?(y|yy|yyyy)((M{1,4}((E|EEEE|cccc)?(d|dd))?)|(w|Q|QQQ|QQQQ))?)|(U(M|MMM)d?)|(M{1,4}(((E|EEEE|cccc)?(d|dd))|W)?)|((E|EEEE)?d)|(E|EEEE)-->
<!ATTLIST dateFormatItem count (zero | one | two | few | many | other) #IMPLIED >
<!ATTLIST dateFormatItem alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/ascii, variant-->
<!ATTLIST dateFormatItem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST dateFormatItem references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT appendItems ( alias | ( appendItem*, special* ) ) >
<!ATTLIST appendItems alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST appendItems draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST appendItems references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST appendItems validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT appendItem ( #PCDATA ) >
<!ATTLIST appendItem request CDATA #REQUIRED >
    <!--@MATCH:literal/Day, Day-Of-Week, Era, Hour, Minute, Month, Quarter, Second, Timezone, Week, Year-->
<!ATTLIST appendItem alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST appendItem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST appendItem references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT intervalFormats ( alias | ( intervalFormatFallback*, intervalFormatItem*, special* ) ) >
<!ATTLIST intervalFormats alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST intervalFormats draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST intervalFormats references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST intervalFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT intervalFormatFallback ( #PCDATA ) >
<!ATTLIST intervalFormatFallback alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST intervalFormatFallback draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST intervalFormatFallback references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST intervalFormatFallback validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT intervalFormatItem ( alias | ( greatestDifference*, special* ) ) >
<!ATTLIST intervalFormatItem id NMTOKEN #REQUIRED >
    <!--@MATCH:regex/((H|h|Bh)m?(v|vvvv)?)|((G|GGGGG)?(y|yyyy)((M|MMM|MMMM)((E|EEEE)?d)?)?)|((M|MMM|MMMM)((E|EEEE)?d)?)|d-->
<!ATTLIST intervalFormatItem alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST intervalFormatItem draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST intervalFormatItem references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST intervalFormatItem validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT greatestDifference ( #PCDATA ) >
<!ATTLIST greatestDifference id NMTOKEN #REQUIRED >
    <!--@MATCH:literal/B, G, H, M, a, d, h, m, y-->
<!ATTLIST greatestDifference alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST greatestDifference draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST greatestDifference references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST greatestDifference validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT fields ( alias | ( field*, special* ) ) >
<!ATTLIST fields alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST fields draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST fields standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST fields references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST fields validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT field ( alias | ( displayName*, relative*, relativeTime*, relativePeriod*, special* ) ) >
<!ATTLIST field type (era | era-short | era-narrow | year | year-short | year-narrow | quarter | quarter-short | quarter-narrow | month | month-short | month-narrow | week | week-short | week-narrow | weekOfMonth | weekOfMonth-short | weekOfMonth-narrow | day | day-short | day-narrow | dayOfYear | dayOfYear-short | dayOfYear-narrow | weekday | weekday-short | weekday-narrow | weekdayOfMonth | weekdayOfMonth-short | weekdayOfMonth-narrow | sun | sun-short | sun-narrow | mon | mon-short | mon-narrow | tue | tue-short | tue-narrow | wed | wed-short | wed-narrow | thu | thu-short | thu-narrow | fri | fri-short | fri-narrow | sat | sat-short | sat-narrow | dayperiod | dayperiod-short | dayperiod-narrow | hour | hour-short | hour-narrow | minute | minute-short | minute-narrow | second | second-short | second-narrow | zone | zone-short | zone-narrow) #REQUIRED >
<!ATTLIST field alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST field draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST field standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST field references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST field validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT relative ( #PCDATA ) >
<!ATTLIST relative type NMTOKEN #REQUIRED >
    <!-- TODO: determine whether to allow 3 -->
    <!--@MATCH:range/-2~3-->
<!ATTLIST relative alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST relative draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST relative references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST relative validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT relativeTime ( alias | ( relativeTimePattern*, special* ) ) >
<!ATTLIST relativeTime type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/future, past-->
<!ATTLIST relativeTime alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST relativeTime draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST relativeTime references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST relativeTime validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT relativeTimePattern ( #PCDATA ) >
<!ATTLIST relativeTimePattern count (zero | one | two | few | many | other) #REQUIRED >
<!ATTLIST relativeTimePattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST relativeTimePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST relativeTimePattern references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST relativeTimePattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT relativePeriod ( #PCDATA ) >
<!ATTLIST relativePeriod alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST relativePeriod draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT timeZoneNames ( alias | ( hourFormat*, hoursFormat*, gmtFormat*, gmtZeroFormat*, regionFormat*, fallbackFormat*, fallbackRegionFormat*, abbreviationFallback*, preferenceOrdering*, singleCountries*, default*, zone*, metazone*, special* ) ) >
<!ATTLIST timeZoneNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST timeZoneNames validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT hourFormat ( #PCDATA ) >
<!ATTLIST hourFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST hourFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST hourFormat references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT hoursFormat ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST hoursFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST hoursFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST hoursFormat references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT gmtFormat ( #PCDATA ) >
<!ATTLIST gmtFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST gmtFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST gmtFormat references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT gmtZeroFormat ( #PCDATA ) >
<!ATTLIST gmtZeroFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST gmtZeroFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST gmtZeroFormat references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT regionFormat ( #PCDATA ) >
<!ATTLIST regionFormat type (standard | daylight) #IMPLIED >
<!ATTLIST regionFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST regionFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST regionFormat references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT fallbackFormat ( #PCDATA ) >
<!ATTLIST fallbackFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST fallbackFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST fallbackFormat references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT fallbackRegionFormat ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST fallbackRegionFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST fallbackRegionFormat draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST fallbackRegionFormat references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT abbreviationFallback EMPTY >
    <!--@DEPRECATED-->
<!ATTLIST abbreviationFallback type (GMT | standard) #IMPLIED >
    <!-- use choice instead -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST abbreviationFallback choice (GMT | standard) #IMPLIED >
    <!-- really required, but needs to be optional to support type also -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST abbreviationFallback alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST abbreviationFallback draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST abbreviationFallback references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT preferenceOrdering EMPTY >
    <!-- use metazones instead -->
    <!--@DEPRECATED-->
<!ATTLIST preferenceOrdering type CDATA #IMPLIED >
    <!-- use choice instead -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST preferenceOrdering choice CDATA #IMPLIED >
    <!-- really required, but needs to be optional to support type also -->
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST preferenceOrdering alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST preferenceOrdering draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST preferenceOrdering references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT singleCountries EMPTY >
    <!--@DEPRECATED-->
<!ATTLIST singleCountries list CDATA #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST singleCountries alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST singleCountries draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST singleCountries references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT zone ( alias | ( long*, short*, commonlyUsed*, exemplarCity*, special* ) ) >
<!ATTLIST zone type CDATA #REQUIRED >
    <!--@MATCH:bcp47/tz-->
<!ATTLIST zone alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST zone draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST zone standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST zone references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST zone validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT long ( alias | ( generic*, standard*, daylight*, special* ) ) >
<!ATTLIST long alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST long draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST long references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST long validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT generic ( #PCDATA ) >
<!ATTLIST generic alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST generic draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST generic references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT standard ( #PCDATA ) >
<!ATTLIST standard alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST standard draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST standard references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT daylight ( #PCDATA ) >
<!ATTLIST daylight alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST daylight draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST daylight references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT short ( alias | ( generic*, standard*, daylight*, special* ) ) >
<!ATTLIST short alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST short draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST short references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST short validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT commonlyUsed ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST commonlyUsed used (true | false) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST commonlyUsed alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST commonlyUsed draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST commonlyUsed references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT exemplarCity ( #PCDATA ) >
<!ATTLIST exemplarCity alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/formal, secondary-->
<!ATTLIST exemplarCity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST exemplarCity references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT metazone ( alias | ( long*, short*, commonlyUsed*, special* ) ) >
<!ATTLIST metazone type CDATA #REQUIRED >
    <!--@MATCH:metazone-->
<!ATTLIST metazone alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST metazone draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST metazone standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST metazone references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST metazone validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT numbers ( alias | ( defaultNumberingSystem*, otherNumberingSystems*, minimumGroupingDigits*, symbols*, decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, miscPatterns*, minimalPairs*, special* ) ) >
<!ATTLIST numbers alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST numbers draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST numbers standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST numbers references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST numbers validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT defaultNumberingSystem ( #PCDATA ) >
<!ATTLIST defaultNumberingSystem alt NMTOKENS #IMPLIED >
    <!--@MATCH:bcp47/nu-->
<!ATTLIST defaultNumberingSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST defaultNumberingSystem references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT otherNumberingSystems ( alias | ( native*, traditional*, finance*, special* ) ) >
<!ATTLIST otherNumberingSystems alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST otherNumberingSystems draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT native ( #PCDATA ) >
<!ATTLIST native alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST native draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->

<!ELEMENT traditional ( #PCDATA ) >
<!ATTLIST traditional alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST traditional draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->

<!ELEMENT finance ( #PCDATA ) >
<!ATTLIST finance alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST finance draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->

<!ELEMENT minimumGroupingDigits ( #PCDATA ) >
<!ATTLIST minimumGroupingDigits alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST minimumGroupingDigits draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST minimumGroupingDigits references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT symbols ( alias | ( decimal*, group*, list*, percentSign*, nativeZeroDigit*, patternDigit*, plusSign*, minusSign*, approximatelySign*, exponential*, superscriptingExponent*, perMille*, infinity*, nan*, currencyDecimal*, currencyGroup*, timeSeparator*, special* ) ) >
<!ATTLIST symbols alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST symbols draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST symbols standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST symbols references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST symbols validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST symbols numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT decimal ( #PCDATA ) >
<!ATTLIST decimal alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST decimal draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST decimal references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST decimal numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT group ( #PCDATA ) >
<!ATTLIST group alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST group draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST group references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST group numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT list ( #PCDATA ) >
<!ATTLIST list alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST list draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST list references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST list numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT percentSign ( #PCDATA ) >
<!ATTLIST percentSign alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST percentSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST percentSign references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST percentSign numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT nativeZeroDigit ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST nativeZeroDigit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST nativeZeroDigit draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST nativeZeroDigit references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST nativeZeroDigit numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT patternDigit ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST patternDigit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST patternDigit draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST patternDigit references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST patternDigit numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT plusSign ( #PCDATA ) >
<!ATTLIST plusSign alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST plusSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST plusSign references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST plusSign numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT minusSign ( #PCDATA ) >
<!ATTLIST minusSign alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST minusSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST minusSign references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST minusSign numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT approximatelySign ( #PCDATA ) >
<!ATTLIST approximatelySign alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST approximatelySign draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST approximatelySign references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT exponential ( #PCDATA ) >
<!ATTLIST exponential alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST exponential draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST exponential references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST exponential numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT superscriptingExponent ( #PCDATA ) >
<!ATTLIST superscriptingExponent alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST superscriptingExponent draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST superscriptingExponent references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT perMille ( #PCDATA ) >
<!ATTLIST perMille alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST perMille draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST perMille references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST perMille numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT infinity ( #PCDATA ) >
<!ATTLIST infinity alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST infinity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST infinity references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST infinity numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT nan ( #PCDATA ) >
<!ATTLIST nan alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST nan draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST nan references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST nan numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT currencyDecimal ( #PCDATA ) >
<!ATTLIST currencyDecimal alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyDecimal draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST currencyDecimal references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currencyDecimal numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT currencyGroup ( #PCDATA ) >
<!ATTLIST currencyGroup alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyGroup draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST currencyGroup references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currencyGroup numberSystem CDATA #IMPLIED >
    <!--@DEPRECATED-->

<!ELEMENT timeSeparator ( #PCDATA ) >
<!ATTLIST timeSeparator alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST timeSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST timeSeparator references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT decimalFormats ( alias | ( default*, decimalFormatLength*, special* ) ) >
<!ATTLIST decimalFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormats numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT decimalFormatLength ( alias | ( default*, decimalFormat*, special* ) ) >
<!ATTLIST decimalFormatLength type (full | long | medium | short) #IMPLIED >
<!ATTLIST decimalFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST decimalFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST decimalFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT decimalFormat ( alias | ( pattern*, special* ) ) >
<!ATTLIST decimalFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST decimalFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST decimalFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST decimalFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST decimalFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT scientificFormats ( alias | ( default*, scientificFormatLength*, special* ) ) >
<!ATTLIST scientificFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormats numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT scientificFormatLength ( alias | ( default*, scientificFormat*, special* ) ) >
<!ATTLIST scientificFormatLength type (full | long | medium | short) #IMPLIED >
<!ATTLIST scientificFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST scientificFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST scientificFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT scientificFormat ( alias | ( pattern*, special* ) ) >
<!ATTLIST scientificFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST scientificFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST scientificFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST scientificFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST scientificFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT percentFormats ( alias | ( default*, percentFormatLength*, special* ) ) >
<!ATTLIST percentFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormats numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT percentFormatLength ( alias | ( default*, percentFormat*, special* ) ) >
<!ATTLIST percentFormatLength type (full | long | medium | short) #IMPLIED >
<!ATTLIST percentFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST percentFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST percentFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT percentFormat ( alias | ( pattern*, special* ) ) >
<!ATTLIST percentFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST percentFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST percentFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST percentFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST percentFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT currencyFormats ( alias | ( default*, currencySpacing*, currencyFormatLength*, currencyPatternAppendISO*, unitPattern*, special* ) ) >
<!ATTLIST currencyFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormats validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormats numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT currencySpacing ( alias | ( beforeCurrency*, afterCurrency*, special* ) ) >

<!ELEMENT beforeCurrency ( alias | ( currencyMatch*, surroundingMatch*, insertBetween*, special* ) ) >

<!ELEMENT currencyMatch ( #PCDATA ) >
<!ATTLIST currencyMatch alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyMatch draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST currencyMatch references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT surroundingMatch ( #PCDATA ) >
<!ATTLIST surroundingMatch alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST surroundingMatch draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST surroundingMatch references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT insertBetween ( #PCDATA ) >
<!ATTLIST insertBetween alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST insertBetween draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST insertBetween references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT afterCurrency ( alias | ( currencyMatch*, surroundingMatch*, insertBetween*, special* ) ) >

<!ELEMENT currencyFormatLength ( alias | ( default*, currencyFormat*, special* ) ) >
<!ATTLIST currencyFormatLength type (full | long | medium | short) #IMPLIED >
<!ATTLIST currencyFormatLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormatLength standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormatLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currencyFormatLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT currencyFormat ( alias | ( pattern*, special* ) ) >
<!ATTLIST currencyFormat type NMTOKEN "standard" >
    <!--@MATCH:literal/accounting, standard-->
<!ATTLIST currencyFormat alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormat standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencyFormat references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currencyFormat validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT currencyPatternAppendISO ( #PCDATA ) >
<!ATTLIST currencyPatternAppendISO alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currencyPatternAppendISO draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currencyPatternAppendISO references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT unitPattern ( #PCDATA ) >
<!ATTLIST unitPattern count (0 | 1 | zero | one | two | few | many | other) #REQUIRED >
<!ATTLIST unitPattern case NMTOKENS #IMPLIED >
    <!--@MATCH:literal/ablative, accusative, comitative, dative, ergative, genitive, instrumental, locative, locativecopulative, nominative, oblique, prepositional, sociative, vocative, elative, illative, partitive, terminative, translative-->
<!ATTLIST unitPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST unitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST unitPattern references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST unitPattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT currencies ( alias | ( default?, currency*, special* ) ) >
<!ATTLIST currencies draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currencies validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT currency ( alias | ( ( ( pattern+, displayName*, symbol* ) | ( displayName+, symbol*, pattern* ) | ( symbol+, pattern* ) )?, decimal*, group*, special* ) ) >

<!-- # warning: pattern appears twice in the above. The first is for consistency with all other cases of
    pattern + displayName; the second is for backwards compatibility -->
<!ATTLIST currency type NMTOKEN "standard" >
    <!--@MATCH:validity/currency-->
<!ATTLIST currency alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST currency draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST currency references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST currency validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT symbol ( #PCDATA ) >
<!ATTLIST symbol choice (true | false) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST symbol alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/formal, narrow, variant-->
<!ATTLIST symbol draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST symbol references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT miscPatterns ( alias | ( default*, pattern*, special* ) ) >
<!ATTLIST miscPatterns draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST miscPatterns numberSystem CDATA #IMPLIED >
    <!--@MATCH:bcp47/nu-->

<!ELEMENT minimalPairs ( alias | ( pluralMinimalPairs*, ordinalMinimalPairs*, caseMinimalPairs*, genderMinimalPairs*, special* ) ) >
<!ATTLIST minimalPairs alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST minimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT pluralMinimalPairs ( #PCDATA ) >
<!ATTLIST pluralMinimalPairs count NMTOKEN #REQUIRED >
    <!--@MATCH:literal/few, many, one, other, two, zero-->
<!ATTLIST pluralMinimalPairs alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST pluralMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT ordinalMinimalPairs ( #PCDATA ) >
<!ATTLIST ordinalMinimalPairs ordinal NMTOKEN #REQUIRED >
    <!--@MATCH:literal/few, many, one, other, two, zero-->
<!ATTLIST ordinalMinimalPairs alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST ordinalMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT caseMinimalPairs ( #PCDATA ) >
<!ATTLIST caseMinimalPairs case NMTOKEN #REQUIRED >
    <!--@MATCH:literal/ablative, accusative, comitative, dative, ergative, genitive, instrumental, locative, locativecopulative, nominative, oblique, prepositional, sociative, vocative, elative, illative, partitive, terminative, translative-->
<!ATTLIST caseMinimalPairs alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST caseMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT genderMinimalPairs ( #PCDATA ) >
<!ATTLIST genderMinimalPairs gender NMTOKEN #REQUIRED >
    <!--@MATCH:literal/animate, common, feminine, inanimate, masculine, neuter, personal-->
<!ATTLIST genderMinimalPairs alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST genderMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->

<!ELEMENT units ( alias | ( unit*, unitLength*, durationUnit*, special* ) ) >
<!ATTLIST units alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST units draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST units references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST units validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT unit ( alias | ( gender*, displayName*, unitPattern*, perUnitPattern*, special* ) ) >
<!ATTLIST unit type NMTOKEN #REQUIRED >
    <!--@MATCH:validity/unit-->
<!ATTLIST unit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST unit draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST unit references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST unit validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT gender ( #PCDATA ) >
<!ATTLIST gender alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/animate, common, feminine, inanimate, masculine, neuter, personal-->
<!ATTLIST gender draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT perUnitPattern ( #PCDATA ) >
<!ATTLIST perUnitPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST perUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST perUnitPattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT unitLength ( alias | ( compoundUnit*, unit*, coordinateUnit*, special* ) ) >
<!ATTLIST unitLength type (long | short | narrow) #REQUIRED >
<!ATTLIST unitLength alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST unitLength draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST unitLength references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST unitLength validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT compoundUnit ( alias | ( compoundUnitPattern1*, compoundUnitPattern*, unitPrefixPattern*, special* ) ) >
<!ATTLIST compoundUnit type NMTOKEN #REQUIRED >
    <!--@MATCH:or/regex/10p-?[0-9]{1,2}||regex/1024p[1-8]||literal/per, times, power2, power3-->
<!ATTLIST compoundUnit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST compoundUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST compoundUnit references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST compoundUnit validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT compoundUnitPattern1 ( #PCDATA ) >
<!ATTLIST compoundUnitPattern1 count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
<!ATTLIST compoundUnitPattern1 gender NMTOKENS #IMPLIED >
    <!--@MATCH:literal/animate, common, feminine, inanimate, masculine, neuter, personal-->
<!ATTLIST compoundUnitPattern1 case NMTOKENS #IMPLIED >
    <!--@MATCH:literal/ablative, accusative, comitative, dative, ergative, genitive, instrumental, locative, locativecopulative, nominative, oblique, prepositional, sociative, vocative-->
<!ATTLIST compoundUnitPattern1 alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST compoundUnitPattern1 draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST compoundUnitPattern1 references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT compoundUnitPattern ( #PCDATA ) >
<!ATTLIST compoundUnitPattern case NMTOKENS #IMPLIED >
    <!--@MATCH:literal/ablative, accusative, comitative, dative, ergative, genitive, instrumental, locative, locativecopulative, nominative, oblique, prepositional, sociative, vocative-->
<!ATTLIST compoundUnitPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST compoundUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST compoundUnitPattern references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST compoundUnitPattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT unitPrefixPattern ( #PCDATA ) >
<!ATTLIST unitPrefixPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST unitPrefixPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST unitPrefixPattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT coordinateUnit ( alias | ( displayName*, coordinateUnitPattern*, special* ) ) >
<!ATTLIST coordinateUnit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST coordinateUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT coordinateUnitPattern ( #PCDATA ) >
<!ATTLIST coordinateUnitPattern type (north | east | south | west) #REQUIRED >
<!ATTLIST coordinateUnitPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST coordinateUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT durationUnit ( alias | ( durationUnitPattern*, special* ) ) >
<!ATTLIST durationUnit type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/hm, hms, ms-->
<!ATTLIST durationUnit alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST durationUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST durationUnit references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT durationUnitPattern ( #PCDATA ) >
<!ATTLIST durationUnitPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST durationUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST durationUnitPattern references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST durationUnitPattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT listPatterns ( alias | ( listPattern*, special* ) ) >
<!ATTLIST listPatterns alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST listPatterns draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST listPatterns references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST listPatterns validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT listPattern ( alias | ( listPatternPart*, special* ) ) >
<!ATTLIST listPattern type NMTOKEN #IMPLIED >
    <!--@MATCH:literal/or, or-narrow, or-short, standard-narrow, standard-short, unit, unit-narrow, unit-short-->
<!ATTLIST listPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST listPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST listPattern references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST listPattern validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT listPatternPart ( #PCDATA ) >
<!ATTLIST listPatternPart type (start | middle | end | 2 | 3) #REQUIRED >
<!ATTLIST listPatternPart alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST listPatternPart draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST listPatternPart references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST listPatternPart validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT collations ( alias | ( defaultCollation?, default*, collation*, special* ) ) >
<!ATTLIST collations version NMTOKEN #IMPLIED >
    <!--@METADATA-->
<!ATTLIST collations draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!-- should be DEPRECATED, but needs some cleanup first -->
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST collations validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT defaultCollation ( #PCDATA ) >
<!ATTLIST defaultCollation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST defaultCollation draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT collation ( alias | ( base?, import*, settings?, suppress_contractions?, optimize?, ( cr* | rules? ), special* ) ) >
<!ATTLIST collation type NMTOKEN "standard" >
    <!--@MATCH:or/bcp47/co||regex/private-.*||literal/digits-after-->
<!ATTLIST collation visibility (internal | external) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST collation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/proposed, short, variant-->
<!ATTLIST collation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST collation standard CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST collation references CDATA #IMPLIED >
    <!--@MATCH:any-->
    <!--@METADATA-->
<!ATTLIST collation validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT base ( alias | special ) >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT import EMPTY >
    <!-- deprecated, see CLDR ticket #8289 -->
    <!--@DEPRECATED-->
<!ATTLIST import source CDATA #REQUIRED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST import type CDATA #IMPLIED >
    <!--@DEPRECATED-->
<!ATTLIST import draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST import references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT settings ( special* ) >
    <!-- deprecated, see CLDR ticket #8289 -->
    <!--@ORDERED-->
    <!--@DEPRECATED-->
<!ATTLIST settings strength (primary | secondary | tertiary | quaternary | identical) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings alternate (non-ignorable | shifted) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings backwards (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings normalization (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings caseLevel (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings caseFirst (upper | lower | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings hiraganaQuarternary (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings hiraganaQuaternary (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings maxVariable (space | punct | symbol | currency) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings numeric (on | off) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings private (true | false) #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings variableTop CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST settings reorder NMTOKENS #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT suppress_contractions ( #PCDATA | cp )* >
    <!-- deprecated, see CLDR ticket #8289 -->
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT optimize ( #PCDATA | cp )* >
    <!-- deprecated, see CLDR ticket #8289 -->
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT cr ( #PCDATA ) >
<!ATTLIST cr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant, proposed, short-->
<!ATTLIST cr draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST cr references CDATA #IMPLIED >
    <!--@MATCH:any-->
    <!--@METADATA-->

<!-- # Use the cr element instead, with ICU syntax. -->

<!ELEMENT rules ( alias | ( ( reset | import ), ( reset | import | p | pc | s | sc | t | tc | q | qc | i | ic | x )* ) ) >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT reset ( #PCDATA | cp | first_variable | last_variable | first_tertiary_ignorable | last_tertiary_ignorable | first_secondary_ignorable | last_secondary_ignorable | first_primary_ignorable | last_primary_ignorable | first_non_ignorable | last_non_ignorable | first_trailing | last_trailing )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->
<!ATTLIST reset before NMTOKEN #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT first_variable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_variable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT first_tertiary_ignorable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_tertiary_ignorable EMPTY >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT first_secondary_ignorable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_secondary_ignorable EMPTY >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT first_primary_ignorable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_primary_ignorable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT first_non_ignorable EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_non_ignorable EMPTY >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT first_trailing EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT last_trailing EMPTY >
    <!--@DEPRECATED-->

<!ELEMENT p ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT pc ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT s ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT sc ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT t ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT tc ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT q ( #PCDATA | cp | last_variable )* >
    <!--@DEPRECATED-->

<!ELEMENT qc ( #PCDATA | cp | last_variable )* >
    <!--@DEPRECATED-->

<!ELEMENT i ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT ic ( #PCDATA | cp | last_variable )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT x ( context?, ( p | pc | s | sc | t | tc | q | qc | i | ic )*, extend? ) >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT context ( #PCDATA | cp )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!ELEMENT extend ( #PCDATA | cp )* >
    <!--@ORDERED-->
    <!--@DEPRECATED-->

<!-- ######################################################### -->

<!ELEMENT posix ( alias | ( messages*, special* ) ) >
<!ATTLIST posix draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST posix references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST posix validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT messages ( alias | ( yesstr*, nostr*, yesexpr*, noexpr*, special* ) ) >
<!ATTLIST messages alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST messages draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST messages references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST messages validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT yesstr ( #PCDATA ) >
<!ATTLIST yesstr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST yesstr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST yesstr references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT nostr ( #PCDATA ) >
<!ATTLIST nostr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST nostr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST nostr references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT yesexpr ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST yesexpr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST yesexpr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST yesexpr references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT noexpr ( #PCDATA ) >
    <!--@DEPRECATED-->
<!ATTLIST noexpr alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST noexpr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST noexpr references CDATA #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT characterLabels ( alias | ( characterLabelPattern*, characterLabel*, special* ) ) >

<!ELEMENT characterLabelPattern ( #PCDATA ) >
<!ATTLIST characterLabelPattern type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/all, category-list, compatibility, enclosed, extended, facing-left, facing-right, historic, miscellaneous, other, scripts, strokes, subscript, superscript-->
<!ATTLIST characterLabelPattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED >
    <!-- count only used for certain patterns" -->
<!ATTLIST characterLabelPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST characterLabelPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT characterLabel ( #PCDATA ) >
<!ATTLIST characterLabel type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/activities, african_scripts, american_scripts, animal, animals_nature, arrows, body, box_drawing, braille, building, bullets_stars, consonantal_jamo, currency_symbols, dash_connector, digits, dingbats, divination_symbols, downwards_arrows, downwards_upwards_arrows, east_asian_scripts, emoji, european_scripts, female, flag, flags, food_drink, format, format_whitespace, full_width_form_variant, geometric_shapes, half_width_form_variant, han_characters, han_radicals, hanja, hanzi_simplified, hanzi_traditional, heart, historic_scripts, ideographic_desc_characters, japanese_kana, kanbun, kanji, keycap, leftwards_arrows, leftwards_rightwards_arrows, letterlike_symbols, limited_use, male, math_symbols, middle_eastern_scripts, miscellaneous, modern_scripts, modifier, musical_symbols, nature, nonspacing, numbers, objects, other, paired, person, phonetic_alphabet, pictographs, place, plant, punctuation, rightwards_arrows, sign_standard_symbols, small_form_variant, smiley, smileys_people, south_asian_scripts, southeast_asian_scripts, spacing, sport, symbols, technical_symbols, tone_marks, travel, travel_places, upwards_arrows, variant_forms, vocalic_jamo, weather, western_asian_scripts, whitespace-->
<!ATTLIST characterLabel alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST characterLabel draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT segmentations ( alias | ( segmentation*, special* ) ) >
<!ATTLIST segmentations alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST segmentations draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST segmentations references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST segmentations validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT segmentation ( alias | ( variables?, segmentRules?, exceptions?, suppressions? ) | special* ) >
<!ATTLIST segmentation type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/GraphemeClusterBreak, LineBreak, SentenceBreak, WordBreak-->
<!ATTLIST segmentation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST segmentation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST segmentation references CDATA #IMPLIED >
    <!--@METADATA-->
<!ATTLIST segmentation validSubLocales CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->

<!ELEMENT variables ( alias | ( variable*, special* ) ) >

<!ELEMENT variable ( #PCDATA ) >
    <!--@ORDERED-->
<!ATTLIST variable id CDATA #REQUIRED >
    <!--@MATCH:regex/\$[a-zA-Z0-9_]+-->
<!ATTLIST variable alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST variable draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST variable references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT segmentRules ( alias | ( rule*, special* ) ) >

<!ELEMENT rule ( #PCDATA ) >
<!ATTLIST rule id NMTOKEN #REQUIRED >
    <!--@MATCH:range/0.0~9999.0-->
<!ATTLIST rule alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST rule draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->
<!ATTLIST rule references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT exceptions ( exception* ) >
    <!-- use suppressions instead -->
    <!--@DEPRECATED-->

<!ELEMENT exception ( #PCDATA ) >
    <!--@ORDERED-->
    <!--@DEPRECATED-->
<!ATTLIST exception draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT suppressions ( alias | ( suppression*, special* ) ) >
<!ATTLIST suppressions type NMTOKEN "standard" >
    <!--@MATCH:literal/standard-->
<!ATTLIST suppressions draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT suppression ( #PCDATA ) >
    <!--@ORDERED-->
<!ATTLIST suppression alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST suppression draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT rbnf ( alias | ( rulesetGrouping*, special* ) ) >

<!ELEMENT rulesetGrouping ( alias | ( ruleset*, special* ) ) >
<!ATTLIST rulesetGrouping type NMTOKEN #REQUIRED >
    <!--@MATCH:literal/NumberingSystemRules, OrdinalRules, SpelloutRules-->
<!ATTLIST rulesetGrouping draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT ruleset ( alias | ( rbnfrule*, special* ) ) >
    <!--@ORDERED-->
<!ATTLIST ruleset type NMTOKEN #REQUIRED >
    <!--@MATCH:regex/(ord-M-)?[\-0-9a-z]+-->
<!ATTLIST ruleset access (public | private) #IMPLIED >
    <!--@VALUE-->
<!ATTLIST ruleset allowsParsing (true | false) #IMPLIED >
    <!--@VALUE-->
<!ATTLIST ruleset draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT rbnfrule ( #PCDATA ) >
    <!--@ORDERED-->
<!ATTLIST rbnfrule value CDATA #REQUIRED >
    <!--@MATCH:or/range/-1.0E20~1.0E20||literal/-x, 0, 0.x, NaN, -Inf, Inf, x,x, x.x-->
    <!--@VALUE-->
<!ATTLIST rbnfrule radix CDATA #IMPLIED >
    <!--@MATCH:literal/1,000, 100, 1000, 100000, 5, 20, 400, 8000, 160,000, 3,200,000, 64,000,000-->
    <!--@VALUE-->
<!ATTLIST rbnfrule decexp CDATA #IMPLIED >
    <!--@VALUE-->
<!ATTLIST rbnfrule alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST rbnfrule draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED:true, false-->

<!ELEMENT typographicNames ( alias | ( axisName*, styleName*, featureName*, special* ) ) >

<!ELEMENT axisName ( #PCDATA ) >
<!ATTLIST axisName type (ital | opsz | slnt | wdth | wght) #REQUIRED >
<!ATTLIST axisName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST axisName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT styleName ( #PCDATA ) >
<!ATTLIST styleName type (ital | opsz | slnt | wdth | wght) #REQUIRED >
<!ATTLIST styleName subtype NMTOKEN #REQUIRED >
    <!--@MATCH:literal/-12, 0, 1, 100, 112.5, 12, 125, 144, 150, 18, 200, 24, 300, 350, 380, 400, 50, 500, 600, 62.5, 700, 72, 75, 8, 800, 87.5, 900, 950-->
<!ATTLIST styleName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/compressed, demi, extended, heavy, narrow, short, ultra, ultrablack, ultraheavy, wide-->
<!ATTLIST styleName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT featureName ( #PCDATA ) >
<!ATTLIST featureName type (afrc | cpsp | dlig | frac | lnum | onum | ordn | pnum | smcp | tnum | zero) #REQUIRED >
<!ATTLIST featureName alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/short, variant-->
<!ATTLIST featureName draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT personNames ( alias | ( nameOrderLocales*, parameterDefault*, nativeSpaceReplacement*, foreignSpaceReplacement*, initialPattern*, personName*, sampleName*, special* ) ) >

<!ELEMENT nameOrderLocales ( #PCDATA ) >
<!ATTLIST nameOrderLocales order (givenFirst | surnameFirst) #REQUIRED >
<!ATTLIST nameOrderLocales alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST nameOrderLocales draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST nameOrderLocales references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT parameterDefault ( #PCDATA ) >
<!ATTLIST parameterDefault parameter (length | formality) #REQUIRED >
<!ATTLIST parameterDefault alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST parameterDefault draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST parameterDefault references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT nativeSpaceReplacement ( #PCDATA ) >
<!ATTLIST nativeSpaceReplacement xml:space (default | preserve) "preserve" >
    <!--@METADATA-->
<!ATTLIST nativeSpaceReplacement alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST nativeSpaceReplacement draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST nativeSpaceReplacement references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT foreignSpaceReplacement ( #PCDATA ) >
<!ATTLIST foreignSpaceReplacement xml:space (default | preserve) "preserve" >
    <!--@METADATA-->
<!ATTLIST foreignSpaceReplacement alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST foreignSpaceReplacement draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST foreignSpaceReplacement references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT initialPattern ( #PCDATA ) >
<!ATTLIST initialPattern type (initial | initialSequence) #REQUIRED >
<!ATTLIST initialPattern alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST initialPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST initialPattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT personName ( alias | ( namePattern+, special* ) ) >
<!ATTLIST personName order NMTOKENS #IMPLIED >
    <!--@MATCH:literal/givenFirst, surnameFirst, sorting-->
<!ATTLIST personName length NMTOKENS #IMPLIED >
    <!--@MATCH:literal/long, medium, short-->
<!ATTLIST personName usage NMTOKENS #IMPLIED >
    <!--@MATCH:literal/referring, addressing, monogram-->
<!ATTLIST personName formality NMTOKENS #IMPLIED >
    <!--@MATCH:literal/formal, informal-->

<!ELEMENT namePattern ( #PCDATA ) >
<!ATTLIST namePattern alt (1 | 2) #IMPLIED >
<!ATTLIST namePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST namePattern references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT sampleName ( alias | ( nameField+, special* ) ) >
<!ATTLIST sampleName item NMTOKENS #REQUIRED >
    <!--@MATCH:literal/nativeG, nativeGS, nativeGGS, nativeFull, foreignG, foreignGS, foreignGGS, foreignFull-->

<!ELEMENT nameField ( #PCDATA ) >
<!ATTLIST nameField type CDATA #REQUIRED >
    <!--@MATCH:literal/title, given, given-informal, given2, surname, surname-prefix, surname-core, surname2, generation, credentials-->
<!ATTLIST nameField alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST nameField draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->
<!ATTLIST nameField references CDATA #IMPLIED >
    <!--@METADATA-->

<!ELEMENT annotations ( alias | ( annotation*, special* ) ) >

<!ELEMENT annotation ( #PCDATA ) >
<!ATTLIST annotation cp CDATA #REQUIRED >
    <!--@MATCH:any-->
<!ATTLIST annotation tts CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST annotation type (tts) #IMPLIED >
<!ATTLIST annotation alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST annotation draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!-- ######################################################### -->
<!-- # This element contains metadata for Survey Tool internal use (optimization, etc). -->

<!ELEMENT metadata ( alias | ( casingData?, special* ) ) >
    <!--@METADATA-->

<!ELEMENT casingData ( alias | ( casingItem*, special* ) ) >
    <!--@METADATA-->

<!ELEMENT casingItem ( #PCDATA ) >
<!ATTLIST casingItem type CDATA #REQUIRED >
    <!--@MATCH:any-->
<!ATTLIST casingItem override (true | false) #IMPLIED >
    <!--@VALUE-->
<!ATTLIST casingItem forceError (true | false) #IMPLIED >
    <!--@VALUE-->
<!ATTLIST casingItem alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
<!ATTLIST casingItem draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
    <!--@METADATA-->

<!ELEMENT references ( reference* ) >
    <!--@METADATA-->
    <!--@DEPRECATED-->

<!ELEMENT reference ( #PCDATA ) >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST reference type NMTOKEN #REQUIRED >
    <!--@DEPRECATED-->
<!ATTLIST reference uri CDATA #IMPLIED >
    <!--@VALUE-->
    <!--@DEPRECATED-->
<!ATTLIST reference alt NMTOKENS #IMPLIED >
    <!--@MATCH:literal/variant-->
    <!--@DEPRECATED-->
<!ATTLIST reference draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
<!ATTLIST reference standard (true | false) #IMPLIED >
    <!--@METADATA-->
    <!--@DEPRECATED-->
