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

<!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 "46" >
    <!--@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, official-->
<!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, us, official-->
<!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, us, official-->
<!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-->
