[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search
 

Ignore:
Location:
trunk/common/dtd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/common/dtd/ldml.dtd

    r14962 r14962  
    11<!-- 
    2 Copyright © 2003-2016 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
     2Copyright © 2003-2018 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
    33 
    44Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. 
     
    1010--> 
    1111 
    12 <!ELEMENT ldml ( identity, ( alias | ( fallback*, localeDisplayNames?, layout?, contextTransforms?, characters?, delimiters?, measurement?, dates?, numbers?, units?, listPatterns?, collations?, posix?, characterLabels?, segmentations?, rbnf?, annotations?, metadata?, references?, special* ) ) ) > 
     12<!ELEMENT ldml ( identity, ( alias | ( fallback*, localeDisplayNames?, layout?, contextTransforms?, characters?, delimiters?, measurement?, dates?, numbers?, units?, listPatterns?, collations?, posix?, characterLabels?, segmentations?, rbnf?, typographicNames?, annotations?, metadata?, references?, special* ) ) ) > 
    1313<!ATTLIST ldml version CDATA #IMPLIED > 
    1414    <!--@METADATA--> 
     
    3030<!ELEMENT alias ( special* ) > 
    3131<!ATTLIST alias source NMTOKEN #REQUIRED > 
     32    <!--@MATCH:literal/locale--> 
    3233    <!--@VALUE--> 
    3334<!ATTLIST alias path CDATA #IMPLIED > 
     35    <!--@MATCH:regex/\.\..*--> 
    3436    <!--@VALUE--> 
    3537<!ATTLIST alias alt NMTOKENS #IMPLIED > 
     38    <!--@MATCH:literal/variant--> 
    3639<!ATTLIST alias draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    3740    <!--@METADATA--> 
     
    4245<!ELEMENT version EMPTY > 
    4346<!ATTLIST version number CDATA #REQUIRED > 
    44     <!--@METADATA--> 
    45 <!ATTLIST version cldrVersion CDATA #FIXED "31" > 
     47    <!--@MATCH:regex/\$Revision.*\$--> 
     48    <!--@METADATA--> 
     49<!ATTLIST version cldrVersion CDATA #FIXED "35" > 
     50    <!--@MATCH:any--> 
    4651    <!--@VALUE--> 
    4752<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    6166<!ELEMENT language ( #PCDATA ) > 
    6267<!ATTLIST language type NMTOKEN #REQUIRED > 
     68    <!--@MATCH:validity/locale--> 
    6369<!ATTLIST language alt NMTOKENS #IMPLIED > 
     70    <!--@MATCH:literal/long, secondary, short, variant--> 
    6471<!ATTLIST language draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    6572    <!--@METADATA--> 
     
    7077<!ELEMENT script ( #PCDATA ) > 
    7178<!ATTLIST script type NMTOKEN #REQUIRED > 
     79    <!--@MATCH:validity/script--> 
    7280<!ATTLIST script alt NMTOKENS #IMPLIED > 
     81    <!--@MATCH:literal/secondary, short, stand-alone, variant--> 
    7382<!ATTLIST script draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    7483    <!--@METADATA--> 
     
    7988<!ELEMENT territory ( #PCDATA ) > 
    8089<!ATTLIST territory type NMTOKEN #REQUIRED > 
     90    <!--@MATCH:validity/region--> 
    8191<!ATTLIST territory alt NMTOKENS #IMPLIED > 
     92    <!--@MATCH:literal/short, variant--> 
    8293<!ATTLIST territory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    8394    <!--@METADATA--> 
     
    8899<!ELEMENT variant ( #PCDATA ) > 
    89100<!ATTLIST variant type NMTOKEN #REQUIRED > 
     101    <!--@MATCH:validity/variant--> 
    90102<!ATTLIST variant alt NMTOKENS #IMPLIED > 
     103    <!--@MATCH:literal/secondary, variant--> 
    91104<!ATTLIST variant draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    92105    <!--@METADATA--> 
     
    100113    <!--@DEPRECATED--> 
    101114<!ATTLIST fallback alt NMTOKENS #IMPLIED > 
     115    <!--@MATCH:literal/variant--> 
    102116    <!--@DEPRECATED--> 
    103117<!ATTLIST fallback draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    115129<!ELEMENT localeDisplayPattern ( alias | ( localePattern*, localeSeparator*, localeKeyTypePattern*, special* ) ) > 
    116130<!ATTLIST localeDisplayPattern alt NMTOKENS #IMPLIED > 
     131    <!--@MATCH:literal/variant--> 
    117132<!ATTLIST localeDisplayPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    118133    <!--@METADATA--> 
     
    123138<!ELEMENT localePattern ( #PCDATA ) > 
    124139<!ATTLIST localePattern alt NMTOKENS #IMPLIED > 
     140    <!--@MATCH:literal/variant--> 
    125141<!ATTLIST localePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    126142    <!--@METADATA--> 
     
    130146<!ELEMENT localeSeparator ( #PCDATA ) > 
    131147<!ATTLIST localeSeparator alt NMTOKENS #IMPLIED > 
     148    <!--@MATCH:literal/variant--> 
    132149<!ATTLIST localeSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    133150    <!--@METADATA--> 
     
    137154<!ELEMENT localeKeyTypePattern ( #PCDATA ) > 
    138155<!ATTLIST localeKeyTypePattern alt NMTOKENS #IMPLIED > 
     156    <!--@MATCH:literal/variant--> 
    139157<!ATTLIST localeKeyTypePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    140158    <!--@METADATA--> 
     
    196214<!ELEMENT subdivision ( #PCDATA ) > 
    197215<!ATTLIST subdivision type NMTOKEN #REQUIRED > 
     216    <!--@MATCH:validity/subdivision--> 
    198217<!ATTLIST subdivision alt NMTOKENS #IMPLIED > 
     218    <!--@MATCH:literal/variant--> 
    199219<!ATTLIST subdivision draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    200220    <!--@METADATA--> 
     
    232252<!ELEMENT key ( #PCDATA ) > 
    233253<!ATTLIST key type NMTOKEN #REQUIRED > 
     254    <!--@MATCH:bcp47/anykey--> 
    234255<!ATTLIST key alt NMTOKENS #IMPLIED > 
     256    <!--@MATCH:literal/variant--> 
    235257<!ATTLIST key draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    236258    <!--@METADATA--> 
     
    256278<!ELEMENT type ( #PCDATA ) > 
    257279<!ATTLIST type key NMTOKEN #REQUIRED > 
     280    <!--@MATCH:bcp47/anykey--> 
    258281<!ATTLIST type type NMTOKEN #REQUIRED > 
     282    <!--@MATCH:bcp47/anyvalue--> 
    259283<!ATTLIST type alt NMTOKENS #IMPLIED > 
     284    <!--@MATCH:literal/short, variant--> 
    260285<!ATTLIST type draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    261286    <!--@METADATA--> 
     
    278303    <!--@DEPRECATED--> 
    279304<!ATTLIST transformName alt NMTOKENS #IMPLIED > 
     305    <!--@MATCH:literal/variant--> 
    280306    <!--@DEPRECATED--> 
    281307<!ATTLIST transformName draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    301327<!ATTLIST measurementSystemName type (US | metric | UK) #REQUIRED > 
    302328<!ATTLIST measurementSystemName alt NMTOKENS #IMPLIED > 
     329    <!--@MATCH:literal/variant--> 
    303330<!ATTLIST measurementSystemName draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    304331    <!--@METADATA--> 
     
    311338<!ELEMENT codePattern ( #PCDATA ) > 
    312339<!ATTLIST codePattern type NMTOKEN #REQUIRED > 
     340    <!--@MATCH:literal/language, script, territory--> 
    313341<!ATTLIST codePattern alt NMTOKENS #IMPLIED > 
     342    <!--@MATCH:literal/variant--> 
    314343<!ATTLIST codePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    315344    <!--@METADATA--> 
     
    335364    <!--@DEPRECATED--> 
    336365<!ATTLIST orientation alt NMTOKENS #IMPLIED > 
     366    <!--@MATCH:literal/variant--> 
    337367<!ATTLIST orientation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    338368    <!--@METADATA--> 
     
    346376<!ELEMENT characterOrder ( #PCDATA ) > 
    347377<!ATTLIST characterOrder alt NMTOKENS #IMPLIED > 
     378    <!--@MATCH:literal/variant--> 
    348379<!ATTLIST characterOrder draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    349380    <!--@METADATA--> 
     
    351382<!ELEMENT lineOrder ( #PCDATA ) > 
    352383<!ATTLIST lineOrder alt NMTOKENS #IMPLIED > 
     384    <!--@MATCH:literal/variant--> 
    353385<!ATTLIST lineOrder draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    354386    <!--@METADATA--> 
     
    360392    <!--@DEPRECATED--> 
    361393<!ATTLIST inList alt NMTOKENS #IMPLIED > 
     394    <!--@MATCH:literal/variant--> 
    362395    <!--@DEPRECATED--> 
    363396<!ATTLIST inList draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    373406    <!--@DEPRECATED--> 
    374407<!ATTLIST inText alt NMTOKENS #IMPLIED > 
     408    <!--@MATCH:literal/variant--> 
    375409    <!--@DEPRECATED--> 
    376410<!ATTLIST inText draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    385419<!ELEMENT contextTransforms ( alias | ( contextTransformUsage*, special* ) ) > 
    386420<!ATTLIST contextTransforms alt NMTOKENS #IMPLIED > 
     421    <!--@MATCH:literal/variant--> 
    387422<!ATTLIST contextTransforms draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    388423    <!--@METADATA--> 
     
    396431<!ELEMENT contextTransformUsage ( alias | ( contextTransform*, special* ) ) > 
    397432<!ATTLIST contextTransformUsage type CDATA #REQUIRED > 
     433    <!--@MATCH:literal/calendar-field, currencyName, day-format-except-narrow, day-standalone-except-narrow, era-abbr, era-name, keyValue, languages, month-format-except-narrow, month-standalone-except-narrow, number-spellout, relative, script, typographicNames--> 
    398434<!ATTLIST contextTransformUsage alt NMTOKENS #IMPLIED > 
     435    <!--@MATCH:literal/variant--> 
    399436<!ATTLIST contextTransformUsage draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    400437    <!--@METADATA--> 
     
    409446<!ATTLIST contextTransform type (uiListOrMenu | stand-alone) #REQUIRED > 
    410447<!ATTLIST contextTransform alt NMTOKENS #IMPLIED > 
     448    <!--@MATCH:literal/variant--> 
    411449<!ATTLIST contextTransform draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    412450    <!--@METADATA--> 
     
    422460 
    423461<!ELEMENT exemplarCharacters ( #PCDATA | cp )* > 
    424 <!ATTLIST exemplarCharacters type (auxiliary | standard | punctuation | currencySymbol | index) #IMPLIED > 
     462<!ATTLIST exemplarCharacters type (auxiliary | standard | punctuation | currencySymbol | index | numbers) #IMPLIED > 
    425463    <!--@DEPRECATED:currencySymbol--> 
    426464<!ATTLIST exemplarCharacters alt NMTOKENS #IMPLIED > 
     465    <!--@MATCH:literal/variant--> 
    427466<!ATTLIST exemplarCharacters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    428467    <!--@METADATA--> 
     
    447486<!ATTLIST ellipsis type (initial | medial | final | word-initial | word-medial | word-final) #IMPLIED > 
    448487<!ATTLIST ellipsis alt NMTOKENS #IMPLIED > 
     488    <!--@MATCH:literal/variant--> 
    449489<!ATTLIST ellipsis draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    450490    <!--@METADATA--> 
     
    454494<!ELEMENT moreInformation ( #PCDATA ) > 
    455495<!ATTLIST moreInformation alt NMTOKENS #IMPLIED > 
     496    <!--@MATCH:literal/variant--> 
    456497<!ATTLIST moreInformation draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    457498    <!--@METADATA--> 
     
    467508    <!--@DEPRECATED--> 
    468509<!ATTLIST stopwordList alt NMTOKENS #IMPLIED > 
     510    <!--@MATCH:literal/variant--> 
    469511    <!--@DEPRECATED--> 
    470512<!ATTLIST stopwordList draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    481523    <!--@DEPRECATED--> 
    482524<!ATTLIST indexSeparator alt NMTOKENS #IMPLIED > 
     525    <!--@MATCH:literal/variant--> 
    483526    <!--@DEPRECATED--> 
    484527<!ATTLIST indexSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    492535    <!--@DEPRECATED--> 
    493536<!ATTLIST compressedIndexSeparator alt NMTOKENS #IMPLIED > 
     537    <!--@MATCH:literal/variant--> 
    494538    <!--@DEPRECATED--> 
    495539<!ATTLIST compressedIndexSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    503547    <!--@DEPRECATED--> 
    504548<!ATTLIST indexRangePattern alt NMTOKENS #IMPLIED > 
     549    <!--@MATCH:literal/variant--> 
    505550    <!--@DEPRECATED--> 
    506551<!ATTLIST indexRangePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    514559    <!--@DEPRECATED--> 
    515560<!ATTLIST indexLabelBefore alt NMTOKENS #IMPLIED > 
     561    <!--@MATCH:literal/variant--> 
    516562    <!--@DEPRECATED--> 
    517563<!ATTLIST indexLabelBefore draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    525571    <!--@DEPRECATED--> 
    526572<!ATTLIST indexLabelAfter alt NMTOKENS #IMPLIED > 
     573    <!--@MATCH:literal/variant--> 
    527574    <!--@DEPRECATED--> 
    528575<!ATTLIST indexLabelAfter draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    541588    <!--@DEPRECATED--> 
    542589<!ATTLIST indexLabel alt NMTOKENS #IMPLIED > 
     590    <!--@MATCH:literal/variant--> 
    543591    <!--@DEPRECATED--> 
    544592<!ATTLIST indexLabel draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    581629<!ELEMENT parseLenient ( #PCDATA ) > 
    582630<!ATTLIST parseLenient sample CDATA #REQUIRED > 
     631    <!--@MATCH:any--> 
    583632<!ATTLIST parseLenient alt NMTOKENS #IMPLIED > 
     633    <!--@MATCH:literal/variant--> 
    584634<!ATTLIST parseLenient draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    585635    <!--@METADATA--> 
     
    589639<!ELEMENT delimiters ( alias | ( quotationStart*, quotationEnd*, alternateQuotationStart*, alternateQuotationEnd*, special* ) ) > 
    590640<!ATTLIST delimiters alt NMTOKENS #IMPLIED > 
     641    <!--@MATCH:literal/variant--> 
    591642<!ATTLIST delimiters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    592643    <!--@METADATA--> 
     
    603654<!ELEMENT quotationStart ( #PCDATA | cp )* > 
    604655<!ATTLIST quotationStart alt NMTOKENS #IMPLIED > 
     656    <!--@MATCH:literal/variant--> 
    605657<!ATTLIST quotationStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    606658    <!--@METADATA--> 
     
    610662<!ELEMENT quotationEnd ( #PCDATA | cp )* > 
    611663<!ATTLIST quotationEnd alt NMTOKENS #IMPLIED > 
     664    <!--@MATCH:literal/variant--> 
    612665<!ATTLIST quotationEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    613666    <!--@METADATA--> 
     
    617670<!ELEMENT alternateQuotationStart ( #PCDATA | cp )* > 
    618671<!ATTLIST alternateQuotationStart alt NMTOKENS #IMPLIED > 
     672    <!--@MATCH:literal/variant--> 
    619673<!ATTLIST alternateQuotationStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    620674    <!--@METADATA--> 
     
    624678<!ELEMENT alternateQuotationEnd ( #PCDATA | cp )* > 
    625679<!ATTLIST alternateQuotationEnd alt NMTOKENS #IMPLIED > 
     680    <!--@MATCH:literal/variant--> 
    626681<!ATTLIST alternateQuotationEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    627682    <!--@METADATA--> 
     
    635690    <!--@DEPRECATED--> 
    636691<!ATTLIST measurement alt NMTOKENS #IMPLIED > 
     692    <!--@MATCH:literal/variant--> 
    637693    <!--@DEPRECATED--> 
    638694<!ATTLIST measurement draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    661717    <!--@DEPRECATED--> 
    662718<!ATTLIST measurementSystem alt NMTOKENS #IMPLIED > 
     719    <!--@MATCH:literal/variant--> 
    663720    <!--@DEPRECATED--> 
    664721<!ATTLIST measurementSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    679736    <!--@DEPRECATED--> 
    680737<!ATTLIST paperSize alt NMTOKENS #IMPLIED > 
     738    <!--@MATCH:literal/variant--> 
    681739    <!--@DEPRECATED--> 
    682740<!ATTLIST paperSize draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    696754    <!--@DEPRECATED--> 
    697755<!ATTLIST height alt NMTOKENS #IMPLIED > 
     756    <!--@MATCH:literal/variant--> 
    698757    <!--@DEPRECATED--> 
    699758<!ATTLIST height draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    707766    <!--@DEPRECATED--> 
    708767<!ATTLIST width alt NMTOKENS #IMPLIED > 
     768    <!--@MATCH:literal/variant--> 
    709769    <!--@DEPRECATED--> 
    710770<!ATTLIST width draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    719779<!ELEMENT dates ( alias | ( localizedPatternChars*, dateRangePattern*, calendars?, fields?, timeZoneNames?, special* ) ) > 
    720780<!ATTLIST dates alt NMTOKENS #IMPLIED > 
     781    <!--@MATCH:literal/variant--> 
    721782<!ATTLIST dates draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    722783    <!--@METADATA--> 
     
    734795    <!--@DEPRECATED--> 
    735796<!ATTLIST localizedPatternChars alt NMTOKENS #IMPLIED > 
     797    <!--@MATCH:literal/variant--> 
    736798    <!--@DEPRECATED--> 
    737799<!ATTLIST localizedPatternChars draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    752814    <!--@DEPRECATED--> 
    753815<!ATTLIST dateRangePattern alt NMTOKENS #IMPLIED > 
     816    <!--@MATCH:literal/variant--> 
    754817    <!--@DEPRECATED--> 
    755818<!ATTLIST dateRangePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    784847    <!--@DEPRECATED--> 
    785848<!ATTLIST default alt NMTOKENS #IMPLIED > 
     849    <!--@MATCH:literal/variant--> 
    786850    <!--@DEPRECATED--> 
    787851<!ATTLIST default draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    795859    <!-- use of fields is deprecated here --> 
    796860<!ATTLIST calendar type NMTOKEN #REQUIRED > 
     861    <!--@MATCH:bcp47/ca--> 
    797862<!ATTLIST calendar alt NMTOKENS #IMPLIED > 
     863    <!--@MATCH:literal/variant--> 
    798864<!ATTLIST calendar draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    799865    <!--@METADATA--> 
     
    810876<!ELEMENT months ( alias | ( default*, monthContext*, special* ) ) > 
    811877<!ATTLIST months alt NMTOKENS #IMPLIED > 
     878    <!--@MATCH:literal/variant--> 
    812879<!ATTLIST months draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    813880    <!--@METADATA--> 
     
    825892<!ATTLIST monthContext type (format | stand-alone) #REQUIRED > 
    826893<!ATTLIST monthContext alt NMTOKENS #IMPLIED > 
     894    <!--@MATCH:literal/variant--> 
    827895<!ATTLIST monthContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    828896    <!--@METADATA--> 
     
    840908<!ATTLIST monthWidth type (abbreviated | narrow | wide) #REQUIRED > 
    841909<!ATTLIST monthWidth alt NMTOKENS #IMPLIED > 
     910    <!--@MATCH:literal/variant--> 
    842911<!ATTLIST monthWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    843912    <!--@METADATA--> 
     
    856925<!ATTLIST month yeartype (standard | leap) #IMPLIED > 
    857926<!ATTLIST month alt NMTOKENS #IMPLIED > 
     927    <!--@MATCH:literal/variant--> 
    858928<!ATTLIST month draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    859929    <!--@METADATA--> 
     
    875945<!ELEMENT monthPatterns ( alias | ( monthPatternContext*, special* ) ) > 
    876946<!ATTLIST monthPatterns alt NMTOKENS #IMPLIED > 
     947    <!--@MATCH:literal/variant--> 
    877948<!ATTLIST monthPatterns draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    878949    <!--@METADATA--> 
     
    887958<!ATTLIST monthPatternContext type (format | stand-alone | numeric) #REQUIRED > 
    888959<!ATTLIST monthPatternContext alt NMTOKENS #IMPLIED > 
     960    <!--@MATCH:literal/variant--> 
    889961<!ATTLIST monthPatternContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    890962    <!--@METADATA--> 
     
    899971<!ATTLIST monthPatternWidth type (abbreviated | narrow | wide | all) #REQUIRED > 
    900972<!ATTLIST monthPatternWidth alt NMTOKENS #IMPLIED > 
     973    <!--@MATCH:literal/variant--> 
    901974<!ATTLIST monthPatternWidth draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    902975    <!--@METADATA--> 
     
    911984<!ATTLIST monthPattern type (leap | standardAfterLeap | combined) #REQUIRED > 
    912985<!ATTLIST monthPattern alt NMTOKENS #IMPLIED > 
     986    <!--@MATCH:literal/variant--> 
    913987<!ATTLIST monthPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    914988    <!--@METADATA--> 
     
    918992<!ELEMENT days ( alias | ( default*, dayContext*, special* ) ) > 
    919993<!ATTLIST days alt NMTOKENS #IMPLIED > 
     994    <!--@MATCH:literal/variant--> 
    920995<!ATTLIST days draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    921996    <!--@METADATA--> 
     
    9331008<!ATTLIST dayContext type (format | stand-alone) #REQUIRED > 
    9341009<!ATTLIST dayContext alt NMTOKENS #IMPLIED > 
     1010    <!--@MATCH:literal/variant--> 
    9351011<!ATTLIST dayContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    9361012    <!--@METADATA--> 
     
    9481024<!ATTLIST dayWidth type (abbreviated | narrow | short | wide) #REQUIRED > 
    9491025<!ATTLIST dayWidth alt NMTOKENS #IMPLIED > 
     1026    <!--@MATCH:literal/variant--> 
    9501027<!ATTLIST dayWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    9511028    <!--@METADATA--> 
     
    9631040<!ATTLIST day type (sun | mon | tue | wed | thu | fri | sat) #REQUIRED > 
    9641041<!ATTLIST day alt NMTOKENS #IMPLIED > 
     1042    <!--@MATCH:literal/variant--> 
    9651043<!ATTLIST day draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    9661044    <!--@METADATA--> 
     
    9831061<!ELEMENT quarters ( alias | ( default*, quarterContext*, special* ) ) > 
    9841062<!ATTLIST quarters alt NMTOKENS #IMPLIED > 
     1063    <!--@MATCH:literal/variant--> 
    9851064<!ATTLIST quarters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    9861065    <!--@METADATA--> 
     
    9951074<!ATTLIST quarterContext type (format | stand-alone) #REQUIRED > 
    9961075<!ATTLIST quarterContext alt NMTOKENS #IMPLIED > 
     1076    <!--@MATCH:literal/variant--> 
    9971077<!ATTLIST quarterContext draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    9981078    <!--@METADATA--> 
     
    10071087<!ATTLIST quarterWidth type (abbreviated | narrow | wide) #REQUIRED > 
    10081088<!ATTLIST quarterWidth alt NMTOKENS #IMPLIED > 
     1089    <!--@MATCH:literal/variant--> 
    10091090<!ATTLIST quarterWidth draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    10101091    <!--@METADATA--> 
     
    10191100<!ATTLIST quarter type (1 | 2 | 3 | 4) #REQUIRED > 
    10201101<!ATTLIST quarter alt NMTOKENS #IMPLIED > 
     1102    <!--@MATCH:literal/variant--> 
    10211103<!ATTLIST quarter draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    10221104    <!--@METADATA--> 
     
    10291111    <!--@DEPRECATED--> 
    10301112<!ATTLIST week alt NMTOKENS #IMPLIED > 
     1113    <!--@MATCH:literal/variant--> 
    10311114    <!--@DEPRECATED--> 
    10321115<!ATTLIST week draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    10481131    <!--@DEPRECATED--> 
    10491132<!ATTLIST minDays alt NMTOKENS #IMPLIED > 
     1133    <!--@MATCH:literal/variant--> 
    10501134    <!--@DEPRECATED--> 
    10511135<!ATTLIST minDays draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    10631147    <!--@DEPRECATED--> 
    10641148<!ATTLIST firstDay alt NMTOKENS #IMPLIED > 
     1149    <!--@MATCH:literal/variant--> 
    10651150    <!--@DEPRECATED--> 
    10661151<!ATTLIST firstDay draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    10811166    <!--@DEPRECATED--> 
    10821167<!ATTLIST weekendStart alt NMTOKENS #IMPLIED > 
     1168    <!--@MATCH:literal/variant--> 
    10831169    <!--@DEPRECATED--> 
    10841170<!ATTLIST weekendStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    10991185    <!--@DEPRECATED--> 
    11001186<!ATTLIST weekendEnd alt NMTOKENS #IMPLIED > 
     1187    <!--@MATCH:literal/variant--> 
    11011188    <!--@DEPRECATED--> 
    11021189<!ATTLIST weekendEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    11111198    <!--@DEPRECATED--> 
    11121199<!ATTLIST am alt NMTOKENS #IMPLIED > 
     1200    <!--@MATCH:literal/variant--> 
    11131201    <!--@DEPRECATED--> 
    11141202<!ATTLIST am draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    11261214    <!--@DEPRECATED--> 
    11271215<!ATTLIST pm alt NMTOKENS #IMPLIED > 
     1216    <!--@MATCH:literal/variant--> 
    11281217    <!--@DEPRECATED--> 
    11291218<!ATTLIST pm draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    11461235<!ELEMENT dayPeriodContext ( alias | ( dayPeriodWidth*, special* ) ) > 
    11471236<!ATTLIST dayPeriodContext type NMTOKEN #REQUIRED > 
     1237    <!--@MATCH:literal/format, stand-alone--> 
    11481238<!ATTLIST dayPeriodContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    11491239    <!--@METADATA--> 
     
    11621252<!ELEMENT dayPeriod ( #PCDATA ) > 
    11631253<!ATTLIST dayPeriod type NMTOKEN #REQUIRED > 
     1254    <!--@MATCH:literal/afternoon1, afternoon2, am, evening1, evening2, midnight, morning1, morning2, night1, night2, noon, pm--> 
    11641255<!ATTLIST dayPeriod alt NMTOKENS #IMPLIED > 
     1256    <!--@MATCH:literal/variant--> 
    11651257<!ATTLIST dayPeriod draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    11661258    <!--@METADATA--> 
     
    11701262<!ELEMENT eras ( alias | ( eraNames?, eraAbbr?, eraNarrow?, special* ) ) > 
    11711263<!ATTLIST eras alt NMTOKENS #IMPLIED > 
     1264    <!--@MATCH:literal/variant--> 
    11721265<!ATTLIST eras draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    11731266    <!--@METADATA--> 
     
    11841277<!ELEMENT eraNames ( alias | ( era*, special* ) ) > 
    11851278<!ATTLIST eraNames alt NMTOKENS #IMPLIED > 
     1279    <!--@MATCH:literal/variant--> 
    11861280<!ATTLIST eraNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    11871281    <!--@METADATA--> 
     
    11951289<!ELEMENT era ( #PCDATA ) > 
    11961290<!ATTLIST era type NMTOKEN #REQUIRED > 
     1291    <!--@MATCH:range/0~237--> 
    11971292<!ATTLIST era alt NMTOKENS #IMPLIED > 
     1293    <!--@MATCH:literal/variant--> 
    11981294<!ATTLIST era draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    11991295    <!--@METADATA--> 
     
    12041300<!ELEMENT eraAbbr ( alias | ( era*, special* ) ) > 
    12051301<!ATTLIST eraAbbr alt NMTOKENS #IMPLIED > 
     1302    <!--@MATCH:literal/variant--> 
    12061303<!ATTLIST eraAbbr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    12071304    <!--@METADATA--> 
     
    12151312<!ELEMENT eraNarrow ( alias | ( era*, special* ) ) > 
    12161313<!ATTLIST eraNarrow alt NMTOKENS #IMPLIED > 
     1314    <!--@MATCH:literal/variant--> 
    12171315<!ATTLIST eraNarrow draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    12181316    <!--@METADATA--> 
     
    12261324<!ELEMENT cyclicNameSets ( alias | ( cyclicNameSet*, special* ) ) > 
    12271325<!ATTLIST cyclicNameSets alt NMTOKENS #IMPLIED > 
     1326    <!--@MATCH:literal/variant--> 
    12281327<!ATTLIST cyclicNameSets draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    12291328    <!--@METADATA--> 
     
    12381337<!ATTLIST cyclicNameSet type (years | months | days | dayParts | zodiacs | solarTerms) #REQUIRED > 
    12391338<!ATTLIST cyclicNameSet alt NMTOKENS #IMPLIED > 
     1339    <!--@MATCH:literal/variant--> 
    12401340<!ATTLIST cyclicNameSet draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    12411341    <!--@METADATA--> 
     
    12501350<!ATTLIST cyclicNameContext type (format | stand-alone) #REQUIRED > 
    12511351<!ATTLIST cyclicNameContext alt NMTOKENS #IMPLIED > 
     1352    <!--@MATCH:literal/variant--> 
    12521353<!ATTLIST cyclicNameContext draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    12531354    <!--@METADATA--> 
     
    12621363<!ATTLIST cyclicNameWidth type (abbreviated | narrow | wide) #REQUIRED > 
    12631364<!ATTLIST cyclicNameWidth alt NMTOKENS #IMPLIED > 
     1365    <!--@MATCH:literal/variant--> 
    12641366<!ATTLIST cyclicNameWidth draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    12651367    <!--@METADATA--> 
     
    12731375<!ELEMENT cyclicName ( #PCDATA ) > 
    12741376<!ATTLIST cyclicName type NMTOKEN #REQUIRED > 
     1377    <!--@MATCH:range/1~60--> 
    12751378<!ATTLIST cyclicName alt NMTOKENS #IMPLIED > 
     1379    <!--@MATCH:literal/variant--> 
    12761380<!ATTLIST cyclicName draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    12771381    <!--@METADATA--> 
     
    12901394<!ATTLIST dateFormatLength type (full | long | medium | short) #REQUIRED > 
    12911395<!ATTLIST dateFormatLength alt NMTOKENS #IMPLIED > 
     1396    <!--@MATCH:literal/variant--> 
    12921397<!ATTLIST dateFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    12931398    <!--@METADATA--> 
     
    13041409<!ELEMENT dateFormat ( alias | ( pattern*, displayName*, special* ) ) > 
    13051410<!ATTLIST dateFormat type NMTOKEN "standard" > 
     1411    <!--@MATCH:literal/standard--> 
    13061412<!ATTLIST dateFormat alt NMTOKENS #IMPLIED > 
     1413    <!--@MATCH:literal/variant--> 
    13071414<!ATTLIST dateFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13081415    <!--@METADATA--> 
     
    13191426<!ELEMENT pattern ( #PCDATA ) > 
    13201427<!ATTLIST pattern type NMTOKEN "standard" > 
     1428    <!--@MATCH:literal/1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000, 100000000000, 1000000000000, 10000000000000, 100000000000000, approximately, atLeast, atMost, range, standard--> 
    13211429<!ATTLIST pattern numbers CDATA #IMPLIED > 
     1430    <!-- TODO: generalize this to be any (M=|d=)?<numberSystem> --> 
     1431    <!--@MATCH:literal/M=romanlow, d=hanidays, hanidec, hebr, y=jpanyear--> 
    13221432    <!--@VALUE--> 
    13231433<!ATTLIST pattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED > 
    13241434    <!-- Only used for decimalFormats type="1000..." --> 
    13251435<!ATTLIST pattern alt NMTOKENS #IMPLIED > 
     1436    <!--@MATCH:literal/variant--> 
    13261437<!ATTLIST pattern draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13271438    <!--@METADATA--> 
     
    13341445    <!-- only for currencies --> 
    13351446<!ATTLIST displayName alt NMTOKENS #IMPLIED > 
     1447    <!--@MATCH:literal/variant--> 
    13361448<!ATTLIST displayName draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13371449    <!--@METADATA--> 
     
    13511463<!ATTLIST timeFormatLength type (full | long | medium | short) #REQUIRED > 
    13521464<!ATTLIST timeFormatLength alt NMTOKENS #IMPLIED > 
     1465    <!--@MATCH:literal/variant--> 
    13531466<!ATTLIST timeFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13541467    <!--@METADATA--> 
     
    13651478<!ELEMENT timeFormat ( alias | ( pattern*, displayName*, special* ) ) > 
    13661479<!ATTLIST timeFormat type NMTOKEN "standard" > 
     1480    <!--@MATCH:literal/standard--> 
    13671481<!ATTLIST timeFormat alt NMTOKENS #IMPLIED > 
     1482    <!--@MATCH:literal/variant--> 
    13681483<!ATTLIST timeFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13691484    <!--@METADATA--> 
     
    13891504<!ATTLIST dateTimeFormatLength type (full | long | medium | short) #IMPLIED > 
    13901505<!ATTLIST dateTimeFormatLength alt NMTOKENS #IMPLIED > 
     1506    <!--@MATCH:literal/variant--> 
    13911507<!ATTLIST dateTimeFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    13921508    <!--@METADATA--> 
     
    14031519<!ELEMENT dateTimeFormat ( alias | ( pattern*, displayName*, special* ) ) > 
    14041520<!ATTLIST dateTimeFormat type NMTOKEN "standard" > 
     1521    <!--@MATCH:literal/standard--> 
    14051522<!ATTLIST dateTimeFormat alt NMTOKENS #IMPLIED > 
     1523    <!--@MATCH:literal/variant--> 
    14061524<!ATTLIST dateTimeFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    14071525    <!--@METADATA--> 
     
    14181536<!ELEMENT availableFormats ( alias | ( dateFormatItem*, special* ) ) > 
    14191537<!ATTLIST availableFormats alt NMTOKENS #IMPLIED > 
     1538    <!--@MATCH:literal/variant--> 
    14201539<!ATTLIST availableFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    14211540    <!--@METADATA--> 
     
    14291548<!ELEMENT dateFormatItem ( #PCDATA ) > 
    14301549<!ATTLIST dateFormatItem id CDATA #REQUIRED > 
     1550    <!-- TODO rationalize this list --> 
     1551    <!--@MATCH:literal/Bh, Bhm, Bhms, E, EBhm, EBhms, EEEEd, EHm, EHms, Ed, Ehm, Ehms, Gy, GyM, GyMMM, GyMMMEEEEd, GyMMMEd, GyMMMM, GyMMMMEd, GyMMMMd, GyMMMd, GyMd, H, HHmm, HHmmZ, HHmmss, Hm, HmZ, Hmm, Hms, Hmsv, Hmsvvvv, Hmv, M, MEEEEd, MEd, MMM, MMMEEEEd, MMMEd, MMMM, MMMMEEEEd, MMMMEd, MMMMW, MMMMd, MMMMdd, MMMd, MMMdd, MMd, MMdd, Md, Mdd, UM, UMMM, UMMMd, UMd, d, h, hhmm, hhmmss, hm, hms, hmsv, hmsvvvv, hmv, mmss, ms, y, yM, yMEEEEd, yMEd, yMM, yMMM, yMMMEEEEd, yMMMEd, yMMMM, yMMMMEEEEd, yMMMMEd, yMMMMccccd, yMMMMd, yMMMd, yMMdd, yMd, yQ, yQQQ, yQQQQ, yw, yyyy, yyyyM, yyyyMEEEEd, yyyyMEd, yyyyMM, yyyyMMM, yyyyMMMEEEEd, yyyyMMMEd, yyyyMMMM, yyyyMMMMEd, yyyyMMMMccccd, yyyyMMMMd, yyyyMMMd, yyyyMMdd, yyyyMd, yyyyQQQ, yyyyQQQQ--> 
    14311552<!ATTLIST dateFormatItem count (zero | one | two | few | many | other) #IMPLIED > 
    14321553<!ATTLIST dateFormatItem alt NMTOKENS #IMPLIED > 
     1554    <!--@MATCH:literal/variant--> 
    14331555<!ATTLIST dateFormatItem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    14341556    <!--@METADATA--> 
     
    14391561<!ELEMENT appendItems ( alias | ( appendItem*, special* ) ) > 
    14401562<!ATTLIST appendItems alt NMTOKENS #IMPLIED > 
     1563    <!--@MATCH:literal/variant--> 
    14411564<!ATTLIST appendItems draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    14421565    <!--@METADATA--> 
     
    14501573<!ELEMENT appendItem ( #PCDATA ) > 
    14511574<!ATTLIST appendItem request CDATA #REQUIRED > 
     1575    <!--@MATCH:literal/Day, Day-Of-Week, Era, Hour, Minute, Month, Quarter, Second, Timezone, Week, Year--> 
    14521576<!ATTLIST appendItem alt NMTOKENS #IMPLIED > 
     1577    <!--@MATCH:literal/variant--> 
    14531578<!ATTLIST appendItem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    14541579    <!--@METADATA--> 
     
    14591584<!ELEMENT intervalFormats ( alias | ( intervalFormatFallback*, intervalFormatItem*, special* ) ) > 
    14601585<!ATTLIST intervalFormats alt NMTOKENS #IMPLIED > 
     1586    <!--@MATCH:literal/variant--> 
    14611587<!ATTLIST intervalFormats draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    14621588    <!--@METADATA--> 
     
    14701596<!ELEMENT intervalFormatFallback ( #PCDATA ) > 
    14711597<!ATTLIST intervalFormatFallback alt NMTOKENS #IMPLIED > 
     1598    <!--@MATCH:literal/variant--> 
    14721599<!ATTLIST intervalFormatFallback draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    14731600    <!--@METADATA--> 
     
    14801607<!ELEMENT intervalFormatItem ( alias | ( greatestDifference*, special* ) ) > 
    14811608<!ATTLIST intervalFormatItem id NMTOKEN #REQUIRED > 
     1609    <!-- TODO: check to see if this should be minimized --> 
     1610    <!--@MATCH:literal/Bh, Bhm, Gy, GyM, GyMEd, GyMMM, GyMMMEd, GyMMMd, GyMd, H, Hm, Hmv, Hv, M, MEd, MMM, MMMEEEEd, MMMEd, MMMM, MMMMEd, MMMMd, MMMd, Md, d, h, hm, hmv, hv, y, yM, yMEd, yMMM, yMMMEEEEd, yMMMEd, yMMMM, yMMMMEEEEd, yMMMMEd, yMMMMd, yMMMd, yMd--> 
    14821611<!ATTLIST intervalFormatItem alt NMTOKENS #IMPLIED > 
     1612    <!--@MATCH:literal/variant--> 
    14831613<!ATTLIST intervalFormatItem draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    14841614    <!--@METADATA--> 
     
    14921622<!ELEMENT greatestDifference ( #PCDATA ) > 
    14931623<!ATTLIST greatestDifference id NMTOKEN #REQUIRED > 
     1624    <!--@MATCH:literal/B, G, H, M, a, d, h, m, y--> 
    14941625<!ATTLIST greatestDifference alt NMTOKENS #IMPLIED > 
     1626    <!--@MATCH:literal/variant--> 
    14951627<!ATTLIST greatestDifference draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    14961628    <!--@METADATA--> 
     
    15031635<!ELEMENT fields ( alias | ( field*, special* ) ) > 
    15041636<!ATTLIST fields alt NMTOKENS #IMPLIED > 
     1637    <!--@MATCH:literal/variant--> 
    15051638<!ATTLIST fields draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    15061639    <!--@METADATA--> 
     
    15181651<!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) #IMPLIED > 
    15191652<!ATTLIST field alt NMTOKENS #IMPLIED > 
     1653    <!--@MATCH:literal/variant--> 
    15201654<!ATTLIST field draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    15211655    <!--@METADATA--> 
     
    15321666<!ELEMENT relative ( #PCDATA ) > 
    15331667<!ATTLIST relative type NMTOKEN #IMPLIED > 
     1668    <!-- TODO: determine whether to allow 3 --> 
     1669    <!--@MATCH:range/-2~3--> 
    15341670<!ATTLIST relative alt NMTOKENS #IMPLIED > 
     1671    <!--@MATCH:literal/variant--> 
    15351672<!ATTLIST relative draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    15361673    <!--@METADATA--> 
     
    15441681<!ELEMENT relativeTime ( alias | ( relativeTimePattern*, special* ) ) > 
    15451682<!ATTLIST relativeTime type NMTOKEN #REQUIRED > 
     1683    <!--@MATCH:literal/future, past--> 
    15461684<!ATTLIST relativeTime alt NMTOKENS #IMPLIED > 
     1685    <!--@MATCH:literal/variant--> 
    15471686<!ATTLIST relativeTime draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    15481687    <!--@METADATA--> 
     
    15571696<!ATTLIST relativeTimePattern count (zero | one | two | few | many | other) #REQUIRED > 
    15581697<!ATTLIST relativeTimePattern alt NMTOKENS #IMPLIED > 
     1698    <!--@MATCH:literal/variant--> 
    15591699<!ATTLIST relativeTimePattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    15601700    <!--@METADATA--> 
     
    15671707<!ELEMENT relativePeriod ( #PCDATA ) > 
    15681708<!ATTLIST relativePeriod alt NMTOKENS #IMPLIED > 
     1709    <!--@MATCH:literal/variant--> 
    15691710<!ATTLIST relativePeriod draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    15701711    <!--@METADATA--> 
     
    15801721<!ELEMENT hourFormat ( #PCDATA ) > 
    15811722<!ATTLIST hourFormat alt NMTOKENS #IMPLIED > 
     1723    <!--@MATCH:literal/variant--> 
    15821724<!ATTLIST hourFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    15831725    <!--@METADATA--> 
     
    15891731    <!--@DEPRECATED--> 
    15901732<!ATTLIST hoursFormat alt NMTOKENS #IMPLIED > 
     1733    <!--@MATCH:literal/variant--> 
    15911734    <!--@DEPRECATED--> 
    15921735<!ATTLIST hoursFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    15991742<!ELEMENT gmtFormat ( #PCDATA ) > 
    16001743<!ATTLIST gmtFormat alt NMTOKENS #IMPLIED > 
     1744    <!--@MATCH:literal/variant--> 
    16011745<!ATTLIST gmtFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    16021746    <!--@METADATA--> 
     
    16071751<!ELEMENT gmtZeroFormat ( #PCDATA ) > 
    16081752<!ATTLIST gmtZeroFormat alt NMTOKENS #IMPLIED > 
     1753    <!--@MATCH:literal/variant--> 
    16091754<!ATTLIST gmtZeroFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    16101755    <!--@METADATA--> 
     
    16161761<!ATTLIST regionFormat type (standard | daylight) #IMPLIED > 
    16171762<!ATTLIST regionFormat alt NMTOKENS #IMPLIED > 
     1763    <!--@MATCH:literal/variant--> 
    16181764<!ATTLIST regionFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    16191765    <!--@METADATA--> 
     
    16241770<!ELEMENT fallbackFormat ( #PCDATA ) > 
    16251771<!ATTLIST fallbackFormat alt NMTOKENS #IMPLIED > 
     1772    <!--@MATCH:literal/variant--> 
    16261773<!ATTLIST fallbackFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    16271774    <!--@METADATA--> 
     
    16331780    <!--@DEPRECATED--> 
    16341781<!ATTLIST fallbackRegionFormat alt NMTOKENS #IMPLIED > 
     1782    <!--@MATCH:literal/variant--> 
    16351783    <!--@DEPRECATED--> 
    16361784<!ATTLIST fallbackRegionFormat draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    16521800    <!--@DEPRECATED--> 
    16531801<!ATTLIST abbreviationFallback alt NMTOKENS #IMPLIED > 
     1802    <!--@MATCH:literal/variant--> 
    16541803    <!--@DEPRECATED--> 
    16551804<!ATTLIST abbreviationFallback draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    16721821    <!--@DEPRECATED--> 
    16731822<!ATTLIST preferenceOrdering alt NMTOKENS #IMPLIED > 
     1823    <!--@MATCH:literal/variant--> 
    16741824    <!--@DEPRECATED--> 
    16751825<!ATTLIST preferenceOrdering draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    16861836    <!--@DEPRECATED--> 
    16871837<!ATTLIST singleCountries alt NMTOKENS #IMPLIED > 
     1838    <!--@MATCH:literal/variant--> 
    16881839    <!--@DEPRECATED--> 
    16891840<!ATTLIST singleCountries draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    16961847<!ELEMENT zone ( alias | ( long*, short*, commonlyUsed*, exemplarCity*, special* ) ) > 
    16971848<!ATTLIST zone type CDATA #REQUIRED > 
     1849    <!--@MATCH:bcp47/tz--> 
    16981850<!ATTLIST zone alt NMTOKENS #IMPLIED > 
     1851    <!--@MATCH:literal/variant--> 
    16991852<!ATTLIST zone draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17001853    <!--@METADATA--> 
     
    17111864<!ELEMENT long ( alias | ( generic*, standard*, daylight*, special* ) ) > 
    17121865<!ATTLIST long alt NMTOKENS #IMPLIED > 
     1866    <!--@MATCH:literal/variant--> 
    17131867<!ATTLIST long draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17141868    <!--@METADATA--> 
     
    17221876<!ELEMENT generic ( #PCDATA ) > 
    17231877<!ATTLIST generic alt NMTOKENS #IMPLIED > 
     1878    <!--@MATCH:literal/variant--> 
    17241879<!ATTLIST generic draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17251880    <!--@METADATA--> 
     
    17301885<!ELEMENT standard ( #PCDATA ) > 
    17311886<!ATTLIST standard alt NMTOKENS #IMPLIED > 
     1887    <!--@MATCH:literal/variant--> 
    17321888<!ATTLIST standard draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17331889    <!--@METADATA--> 
     
    17381894<!ELEMENT daylight ( #PCDATA ) > 
    17391895<!ATTLIST daylight alt NMTOKENS #IMPLIED > 
     1896    <!--@MATCH:literal/variant--> 
    17401897<!ATTLIST daylight draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17411898    <!--@METADATA--> 
     
    17461903<!ELEMENT short ( alias | ( generic*, standard*, daylight*, special* ) ) > 
    17471904<!ATTLIST short alt NMTOKENS #IMPLIED > 
     1905    <!--@MATCH:literal/variant--> 
    17481906<!ATTLIST short draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17491907    <!--@METADATA--> 
     
    17611919    <!--@DEPRECATED--> 
    17621920<!ATTLIST commonlyUsed alt NMTOKENS #IMPLIED > 
     1921    <!--@MATCH:literal/variant--> 
    17631922    <!--@DEPRECATED--> 
    17641923<!ATTLIST commonlyUsed draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    17711930<!ELEMENT exemplarCity ( #PCDATA ) > 
    17721931<!ATTLIST exemplarCity alt NMTOKENS #IMPLIED > 
     1932    <!--@MATCH:literal/formal, secondary--> 
    17731933<!ATTLIST exemplarCity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17741934    <!--@METADATA--> 
     
    17791939<!ELEMENT metazone ( alias | ( long*, short*, commonlyUsed*, special* ) ) > 
    17801940<!ATTLIST metazone type CDATA #REQUIRED > 
     1941    <!--@MATCH:metazone--> 
    17811942<!ATTLIST metazone alt NMTOKENS #IMPLIED > 
     1943    <!--@MATCH:literal/variant--> 
    17821944<!ATTLIST metazone draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17831945    <!--@METADATA--> 
     
    17961958<!ELEMENT numbers ( alias | ( defaultNumberingSystem*, otherNumberingSystems*, minimumGroupingDigits*, symbols*, decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, miscPatterns*, minimalPairs*, special* ) ) > 
    17971959<!ATTLIST numbers alt NMTOKENS #IMPLIED > 
     1960    <!--@MATCH:literal/variant--> 
    17981961<!ATTLIST numbers draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    17991962    <!--@METADATA--> 
     
    18101973<!ELEMENT defaultNumberingSystem ( #PCDATA ) > 
    18111974<!ATTLIST defaultNumberingSystem alt NMTOKENS #IMPLIED > 
     1975    <!--@MATCH:bcp47/nu--> 
    18121976<!ATTLIST defaultNumberingSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18131977    <!--@METADATA--> 
     
    18181982<!ELEMENT otherNumberingSystems ( alias | ( native*, traditional*, finance*, special* ) ) > 
    18191983<!ATTLIST otherNumberingSystems alt NMTOKENS #IMPLIED > 
     1984    <!--@MATCH:literal/variant--> 
    18201985<!ATTLIST otherNumberingSystems draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18211986    <!--@METADATA--> 
     
    18241989<!ELEMENT native ( #PCDATA ) > 
    18251990<!ATTLIST native alt NMTOKENS #IMPLIED > 
     1991    <!--@MATCH:literal/variant--> 
    18261992<!ATTLIST native draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18271993    <!--@METADATA--> 
     
    18301996<!ELEMENT traditional ( #PCDATA ) > 
    18311997<!ATTLIST traditional alt NMTOKENS #IMPLIED > 
     1998    <!--@MATCH:literal/variant--> 
    18321999<!ATTLIST traditional draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18332000    <!--@METADATA--> 
     
    18362003<!ELEMENT finance ( #PCDATA ) > 
    18372004<!ATTLIST finance alt NMTOKENS #IMPLIED > 
     2005    <!--@MATCH:literal/variant--> 
    18382006<!ATTLIST finance draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18392007    <!--@METADATA--> 
     
    18422010<!ELEMENT minimumGroupingDigits ( #PCDATA ) > 
    18432011<!ATTLIST minimumGroupingDigits alt NMTOKENS #IMPLIED > 
     2012    <!--@MATCH:literal/variant--> 
    18442013<!ATTLIST minimumGroupingDigits draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    18452014    <!--@METADATA--> 
     
    18492018<!ELEMENT symbols ( alias | ( decimal*, group*, list*, percentSign*, nativeZeroDigit*, patternDigit*, plusSign*, minusSign*, exponential*, superscriptingExponent*, perMille*, infinity*, nan*, currencyDecimal*, currencyGroup*, timeSeparator*, special* ) ) > 
    18502019<!ATTLIST symbols alt NMTOKENS #IMPLIED > 
     2020    <!--@MATCH:literal/variant--> 
    18512021<!ATTLIST symbols draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18522022    <!--@METADATA--> 
     
    18612031    <!--@DEPRECATED--> 
    18622032<!ATTLIST symbols numberSystem CDATA #IMPLIED > 
     2033    <!--@MATCH:bcp47/nu--> 
    18632034 
    18642035<!ELEMENT decimal ( #PCDATA ) > 
    18652036<!ATTLIST decimal alt NMTOKENS #IMPLIED > 
     2037    <!--@MATCH:literal/variant--> 
    18662038<!ATTLIST decimal draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18672039    <!--@METADATA--> 
     
    18742046<!ELEMENT group ( #PCDATA ) > 
    18752047<!ATTLIST group alt NMTOKENS #IMPLIED > 
     2048    <!--@MATCH:literal/variant--> 
    18762049<!ATTLIST group draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18772050    <!--@METADATA--> 
     
    18842057<!ELEMENT list ( #PCDATA ) > 
    18852058<!ATTLIST list alt NMTOKENS #IMPLIED > 
     2059    <!--@MATCH:literal/variant--> 
    18862060<!ATTLIST list draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18872061    <!--@METADATA--> 
     
    18942068<!ELEMENT percentSign ( #PCDATA ) > 
    18952069<!ATTLIST percentSign alt NMTOKENS #IMPLIED > 
     2070    <!--@MATCH:literal/variant--> 
    18962071<!ATTLIST percentSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    18972072    <!--@METADATA--> 
     
    19052080    <!--@DEPRECATED--> 
    19062081<!ATTLIST nativeZeroDigit alt NMTOKENS #IMPLIED > 
     2082    <!--@MATCH:literal/variant--> 
    19072083    <!--@DEPRECATED--> 
    19082084<!ATTLIST nativeZeroDigit draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    19182094    <!--@DEPRECATED--> 
    19192095<!ATTLIST patternDigit alt NMTOKENS #IMPLIED > 
     2096    <!--@MATCH:literal/variant--> 
    19202097    <!--@DEPRECATED--> 
    19212098<!ATTLIST patternDigit draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    19302107<!ELEMENT plusSign ( #PCDATA ) > 
    19312108<!ATTLIST plusSign alt NMTOKENS #IMPLIED > 
     2109    <!--@MATCH:literal/variant--> 
    19322110<!ATTLIST plusSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19332111    <!--@METADATA--> 
     
    19402118<!ELEMENT minusSign ( #PCDATA ) > 
    19412119<!ATTLIST minusSign alt NMTOKENS #IMPLIED > 
     2120    <!--@MATCH:literal/variant--> 
    19422121<!ATTLIST minusSign draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19432122    <!--@METADATA--> 
     
    19502129<!ELEMENT exponential ( #PCDATA ) > 
    19512130<!ATTLIST exponential alt NMTOKENS #IMPLIED > 
     2131    <!--@MATCH:literal/variant--> 
    19522132<!ATTLIST exponential draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19532133    <!--@METADATA--> 
     
    19602140<!ELEMENT superscriptingExponent ( #PCDATA ) > 
    19612141<!ATTLIST superscriptingExponent alt NMTOKENS #IMPLIED > 
     2142    <!--@MATCH:literal/variant--> 
    19622143<!ATTLIST superscriptingExponent draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    19632144    <!--@METADATA--> 
     
    19672148<!ELEMENT perMille ( #PCDATA ) > 
    19682149<!ATTLIST perMille alt NMTOKENS #IMPLIED > 
     2150    <!--@MATCH:literal/variant--> 
    19692151<!ATTLIST perMille draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19702152    <!--@METADATA--> 
     
    19772159<!ELEMENT infinity ( #PCDATA ) > 
    19782160<!ATTLIST infinity alt NMTOKENS #IMPLIED > 
     2161    <!--@MATCH:literal/variant--> 
    19792162<!ATTLIST infinity draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19802163    <!--@METADATA--> 
     
    19872170<!ELEMENT nan ( #PCDATA ) > 
    19882171<!ATTLIST nan alt NMTOKENS #IMPLIED > 
     2172    <!--@MATCH:literal/variant--> 
    19892173<!ATTLIST nan draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    19902174    <!--@METADATA--> 
     
    19972181<!ELEMENT currencyDecimal ( #PCDATA ) > 
    19982182<!ATTLIST currencyDecimal alt NMTOKENS #IMPLIED > 
     2183    <!--@MATCH:literal/variant--> 
    19992184<!ATTLIST currencyDecimal draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20002185    <!--@METADATA--> 
     
    20072192<!ELEMENT currencyGroup ( #PCDATA ) > 
    20082193<!ATTLIST currencyGroup alt NMTOKENS #IMPLIED > 
     2194    <!--@MATCH:literal/variant--> 
    20092195<!ATTLIST currencyGroup draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20102196    <!--@METADATA--> 
     
    20172203<!ELEMENT timeSeparator ( #PCDATA ) > 
    20182204<!ATTLIST timeSeparator alt NMTOKENS #IMPLIED > 
     2205    <!--@MATCH:literal/variant--> 
    20192206<!ATTLIST timeSeparator draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    20202207    <!--@METADATA--> 
     
    20302217    <!--@DEPRECATED--> 
    20312218<!ATTLIST decimalFormats numberSystem CDATA #IMPLIED > 
     2219    <!--@MATCH:bcp47/nu--> 
    20322220 
    20332221<!ELEMENT decimalFormatLength ( alias | ( default*, decimalFormat*, special* ) ) > 
    20342222<!ATTLIST decimalFormatLength type (full | long | medium | short) #IMPLIED > 
    20352223<!ATTLIST decimalFormatLength alt NMTOKENS #IMPLIED > 
     2224    <!--@MATCH:literal/variant--> 
    20362225<!ATTLIST decimalFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20372226    <!--@METADATA--> 
     
    20482237<!ELEMENT decimalFormat ( alias | ( pattern*, special* ) ) > 
    20492238<!ATTLIST decimalFormat type NMTOKEN "standard" > 
     2239    <!--@MATCH:literal/standard--> 
    20502240<!ATTLIST decimalFormat alt NMTOKENS #IMPLIED > 
     2241    <!--@MATCH:literal/variant--> 
    20512242<!ATTLIST decimalFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20522243    <!--@METADATA--> 
     
    20692260    <!--@DEPRECATED--> 
    20702261<!ATTLIST scientificFormats numberSystem CDATA #IMPLIED > 
     2262    <!--@MATCH:bcp47/nu--> 
    20712263 
    20722264<!ELEMENT scientificFormatLength ( alias | ( default*, scientificFormat*, special* ) ) > 
    20732265<!ATTLIST scientificFormatLength type (full | long | medium | short) #IMPLIED > 
    20742266<!ATTLIST scientificFormatLength alt NMTOKENS #IMPLIED > 
     2267    <!--@MATCH:literal/variant--> 
    20752268<!ATTLIST scientificFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20762269    <!--@METADATA--> 
     
    20872280<!ELEMENT scientificFormat ( alias | ( pattern*, special* ) ) > 
    20882281<!ATTLIST scientificFormat type NMTOKEN "standard" > 
     2282    <!--@MATCH:literal/standard--> 
    20892283<!ATTLIST scientificFormat alt NMTOKENS #IMPLIED > 
     2284    <!--@MATCH:literal/variant--> 
    20902285<!ATTLIST scientificFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    20912286    <!--@METADATA--> 
     
    21082303    <!--@DEPRECATED--> 
    21092304<!ATTLIST percentFormats numberSystem CDATA #IMPLIED > 
     2305    <!--@MATCH:bcp47/nu--> 
    21102306 
    21112307<!ELEMENT percentFormatLength ( alias | ( default*, percentFormat*, special* ) ) > 
    21122308<!ATTLIST percentFormatLength type (full | long | medium | short) #IMPLIED > 
    21132309<!ATTLIST percentFormatLength alt NMTOKENS #IMPLIED > 
     2310    <!--@MATCH:literal/variant--> 
    21142311<!ATTLIST percentFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21152312    <!--@METADATA--> 
     
    21262323<!ELEMENT percentFormat ( alias | ( pattern*, special* ) ) > 
    21272324<!ATTLIST percentFormat type NMTOKEN "standard" > 
     2325    <!--@MATCH:literal/standard--> 
    21282326<!ATTLIST percentFormat alt NMTOKENS #IMPLIED > 
     2327    <!--@MATCH:literal/variant--> 
    21292328<!ATTLIST percentFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21302329    <!--@METADATA--> 
     
    21472346    <!--@DEPRECATED--> 
    21482347<!ATTLIST currencyFormats numberSystem CDATA #IMPLIED > 
     2348    <!--@MATCH:bcp47/nu--> 
    21492349 
    21502350<!ELEMENT currencySpacing ( alias | ( beforeCurrency*, afterCurrency*, special* ) ) > 
     
    21542354<!ELEMENT currencyMatch ( #PCDATA ) > 
    21552355<!ATTLIST currencyMatch alt NMTOKENS #IMPLIED > 
     2356    <!--@MATCH:literal/variant--> 
    21562357<!ATTLIST currencyMatch draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21572358    <!--@METADATA--> 
     
    21622363<!ELEMENT surroundingMatch ( #PCDATA ) > 
    21632364<!ATTLIST surroundingMatch alt NMTOKENS #IMPLIED > 
     2365    <!--@MATCH:literal/variant--> 
    21642366<!ATTLIST surroundingMatch draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21652367    <!--@METADATA--> 
     
    21702372<!ELEMENT insertBetween ( #PCDATA ) > 
    21712373<!ATTLIST insertBetween alt NMTOKENS #IMPLIED > 
     2374    <!--@MATCH:literal/variant--> 
    21722375<!ATTLIST insertBetween draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21732376    <!--@METADATA--> 
     
    21812384<!ATTLIST currencyFormatLength type (full | long | medium | short) #IMPLIED > 
    21822385<!ATTLIST currencyFormatLength alt NMTOKENS #IMPLIED > 
     2386    <!--@MATCH:literal/variant--> 
    21832387<!ATTLIST currencyFormatLength draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21842388    <!--@METADATA--> 
     
    21952399<!ELEMENT currencyFormat ( alias | ( pattern*, special* ) ) > 
    21962400<!ATTLIST currencyFormat type NMTOKEN "standard" > 
     2401    <!--@MATCH:literal/accounting, standard--> 
    21972402<!ATTLIST currencyFormat alt NMTOKENS #IMPLIED > 
     2403    <!--@MATCH:literal/variant--> 
    21982404<!ATTLIST currencyFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    21992405    <!--@METADATA--> 
     
    22112417<!ATTLIST unitPattern count (0 | 1 | zero | one | two | few | many | other) #REQUIRED > 
    22122418<!ATTLIST unitPattern alt NMTOKENS #IMPLIED > 
     2419    <!--@MATCH:literal/variant--> 
    22132420<!ATTLIST unitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22142421    <!--@METADATA--> 
     
    22322439    pattern + displayName; the second is for backwards compatibility --> 
    22332440<!ATTLIST currency type NMTOKEN "standard" > 
     2441    <!--@MATCH:validity/currency--> 
    22342442<!ATTLIST currency alt NMTOKENS #IMPLIED > 
     2443    <!--@MATCH:literal/variant--> 
    22352444<!ATTLIST currency draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    22362445    <!--@METADATA--> 
     
    22472456    <!--@DEPRECATED--> 
    22482457<!ATTLIST symbol alt NMTOKENS #IMPLIED > 
     2458    <!--@MATCH:literal/formal, narrow, variant--> 
    22492459<!ATTLIST symbol draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    22502460    <!--@METADATA--> 
     
    22582468    <!--@DEPRECATED--> 
    22592469<!ATTLIST miscPatterns numberSystem CDATA #IMPLIED > 
     2470    <!--@MATCH:bcp47/nu--> 
    22602471 
    22612472<!ELEMENT minimalPairs ( alias | ( pluralMinimalPairs*, ordinalMinimalPairs*, special* ) ) > 
    22622473<!ATTLIST minimalPairs alt NMTOKENS #IMPLIED > 
     2474    <!--@MATCH:literal/variant--> 
    22632475<!ATTLIST minimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22642476    <!--@METADATA--> 
     
    22672479<!ELEMENT pluralMinimalPairs ( #PCDATA ) > 
    22682480<!ATTLIST pluralMinimalPairs count NMTOKEN #IMPLIED > 
     2481    <!--@MATCH:literal/few, many, one, other, two, zero--> 
    22692482<!ATTLIST pluralMinimalPairs alt NMTOKENS #IMPLIED > 
     2483    <!--@MATCH:literal/variant--> 
    22702484<!ATTLIST pluralMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22712485    <!--@METADATA--> 
     
    22732487<!ELEMENT ordinalMinimalPairs ( #PCDATA ) > 
    22742488<!ATTLIST ordinalMinimalPairs ordinal NMTOKEN #IMPLIED > 
     2489    <!--@MATCH:literal/few, many, one, other, two, zero--> 
    22752490<!ATTLIST ordinalMinimalPairs alt NMTOKENS #IMPLIED > 
     2491    <!--@MATCH:literal/variant--> 
    22762492<!ATTLIST ordinalMinimalPairs draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22772493    <!--@METADATA--> 
     
    22812497<!ELEMENT units ( alias | ( unit*, unitLength*, durationUnit*, special* ) ) > 
    22822498<!ATTLIST units alt NMTOKENS #IMPLIED > 
     2499    <!--@MATCH:literal/variant--> 
    22832500<!ATTLIST units draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22842501    <!--@METADATA--> 
     
    22922509<!ELEMENT unit ( alias | ( displayName*, unitPattern*, perUnitPattern*, special* ) ) > 
    22932510<!ATTLIST unit type NMTOKEN #REQUIRED > 
     2511    <!--@MATCH:validity/unit--> 
    22942512<!ATTLIST unit alt NMTOKENS #IMPLIED > 
     2513    <!--@MATCH:literal/variant--> 
    22952514<!ATTLIST unit draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    22962515    <!--@METADATA--> 
     
    23042523<!ELEMENT perUnitPattern ( #PCDATA ) > 
    23052524<!ATTLIST perUnitPattern alt NMTOKENS #IMPLIED > 
     2525    <!--@MATCH:literal/variant--> 
    23062526<!ATTLIST perUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23072527    <!--@METADATA--> 
     
    23122532<!ATTLIST unitLength type (long | short | narrow) #REQUIRED > 
    23132533<!ATTLIST unitLength alt NMTOKENS #IMPLIED > 
     2534    <!--@MATCH:literal/variant--> 
    23142535<!ATTLIST unitLength draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23152536    <!--@METADATA--> 
     
    23232544<!ELEMENT compoundUnit ( alias | ( compoundUnitPattern*, special* ) ) > 
    23242545<!ATTLIST compoundUnit type NMTOKEN #REQUIRED > 
     2546    <!--@MATCH:literal/per--> 
    23252547<!ATTLIST compoundUnit alt NMTOKENS #IMPLIED > 
     2548    <!--@MATCH:literal/variant--> 
    23262549<!ATTLIST compoundUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23272550    <!--@METADATA--> 
     
    23352558<!ELEMENT compoundUnitPattern ( #PCDATA ) > 
    23362559<!ATTLIST compoundUnitPattern alt NMTOKENS #IMPLIED > 
     2560    <!--@MATCH:literal/variant--> 
    23372561<!ATTLIST compoundUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23382562    <!--@METADATA--> 
     
    23432567    <!--@DEPRECATED--> 
    23442568 
    2345 <!ELEMENT coordinateUnit ( alias | ( coordinateUnitPattern*, special* ) ) > 
     2569<!ELEMENT coordinateUnit ( alias | ( displayName*, coordinateUnitPattern*, special* ) ) > 
    23462570<!ATTLIST coordinateUnit alt NMTOKENS #IMPLIED > 
     2571    <!--@MATCH:literal/variant--> 
    23472572<!ATTLIST coordinateUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23482573    <!--@METADATA--> 
     
    23522577<!ATTLIST coordinateUnitPattern type (north | east | south | west) #REQUIRED > 
    23532578<!ATTLIST coordinateUnitPattern alt NMTOKENS #IMPLIED > 
     2579    <!--@MATCH:literal/variant--> 
    23542580<!ATTLIST coordinateUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23552581    <!--@METADATA--> 
     
    23572583<!ELEMENT durationUnit ( alias | ( durationUnitPattern*, special* ) ) > 
    23582584<!ATTLIST durationUnit type NMTOKEN #REQUIRED > 
     2585    <!--@MATCH:literal/hm, hms, ms--> 
    23592586<!ATTLIST durationUnit alt NMTOKENS #IMPLIED > 
     2587    <!--@MATCH:literal/variant--> 
    23602588<!ATTLIST durationUnit draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23612589    <!--@METADATA--> 
     
    23662594<!ELEMENT durationUnitPattern ( #PCDATA ) > 
    23672595<!ATTLIST durationUnitPattern alt NMTOKENS #IMPLIED > 
     2596    <!--@MATCH:literal/variant--> 
    23682597<!ATTLIST durationUnitPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23692598    <!--@METADATA--> 
     
    23762605<!ELEMENT listPatterns ( alias | ( listPattern*, special* ) ) > 
    23772606<!ATTLIST listPatterns alt NMTOKENS #IMPLIED > 
     2607    <!--@MATCH:literal/variant--> 
    23782608<!ATTLIST listPatterns draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23792609    <!--@METADATA--> 
     
    23872617<!ELEMENT listPattern ( alias | ( listPatternPart*, special* ) ) > 
    23882618<!ATTLIST listPattern type NMTOKEN #IMPLIED > 
     2619    <!--@MATCH:literal/or, or-narrow, or-short, standard-narrow, standard-short, unit, unit-narrow, unit-short--> 
    23892620<!ATTLIST listPattern alt NMTOKENS #IMPLIED > 
     2621    <!--@MATCH:literal/variant--> 
    23902622<!ATTLIST listPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    23912623    <!--@METADATA--> 
     
    24002632<!ATTLIST listPatternPart type (start | middle | end | 2 | 3) #REQUIRED > 
    24012633<!ATTLIST listPatternPart alt NMTOKENS #IMPLIED > 
     2634    <!--@MATCH:literal/variant--> 
    24022635<!ATTLIST listPatternPart draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    24032636    <!--@METADATA--> 
     
    24232656<!ELEMENT defaultCollation ( #PCDATA ) > 
    24242657<!ATTLIST defaultCollation alt NMTOKENS #IMPLIED > 
     2658    <!--@MATCH:literal/variant--> 
    24252659<!ATTLIST defaultCollation draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    24262660    <!--@METADATA--> 
     
    24282662<!ELEMENT collation ( alias | ( base?, import*, settings?, suppress_contractions?, optimize?, ( cr* | rules? ), special* ) ) > 
    24292663<!ATTLIST collation type NMTOKEN "standard" > 
     2664    <!--@MATCH:or/bcp47/co||regex/private-.*||literal/digits-after--> 
    24302665<!ATTLIST collation visibility (internal | external) #IMPLIED > 
    24312666    <!--@VALUE--> 
    24322667    <!--@DEPRECATED--> 
    24332668<!ATTLIST collation alt NMTOKENS #IMPLIED > 
     2669    <!--@MATCH:literal/proposed, short, variant--> 
    24342670<!ATTLIST collation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    24352671    <!--@METADATA--> 
     
    24382674    <!--@DEPRECATED--> 
    24392675<!ATTLIST collation references CDATA #IMPLIED > 
     2676    <!--@MATCH:any--> 
    24402677    <!--@METADATA--> 
    24412678<!ATTLIST collation validSubLocales CDATA #IMPLIED > 
     
    25182755<!ELEMENT cr ( #PCDATA ) > 
    25192756<!ATTLIST cr alt NMTOKENS #IMPLIED > 
     2757    <!--@MATCH:literal/variant--> 
    25202758<!ATTLIST cr draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    25212759    <!--@METADATA--> 
     
    26392877<!ELEMENT messages ( alias | ( yesstr*, nostr*, yesexpr*, noexpr*, special* ) ) > 
    26402878<!ATTLIST messages alt NMTOKENS #IMPLIED > 
     2879    <!--@MATCH:literal/variant--> 
    26412880<!ATTLIST messages draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    26422881    <!--@METADATA--> 
     
    26502889<!ELEMENT yesstr ( #PCDATA ) > 
    26512890<!ATTLIST yesstr alt NMTOKENS #IMPLIED > 
     2891    <!--@MATCH:literal/variant--> 
    26522892<!ATTLIST yesstr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    26532893    <!--@METADATA--> 
     
    26582898<!ELEMENT nostr ( #PCDATA ) > 
    26592899<!ATTLIST nostr alt NMTOKENS #IMPLIED > 
     2900    <!--@MATCH:literal/variant--> 
    26602901<!ATTLIST nostr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    26612902    <!--@METADATA--> 
     
    26672908    <!--@DEPRECATED--> 
    26682909<!ATTLIST yesexpr alt NMTOKENS #IMPLIED > 
     2910    <!--@MATCH:literal/variant--> 
    26692911    <!--@DEPRECATED--> 
    26702912<!ATTLIST yesexpr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    26782920    <!--@DEPRECATED--> 
    26792921<!ATTLIST noexpr alt NMTOKENS #IMPLIED > 
     2922    <!--@MATCH:literal/variant--> 
    26802923    <!--@DEPRECATED--> 
    26812924<!ATTLIST noexpr draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    26902933<!ELEMENT characterLabelPattern ( #PCDATA ) > 
    26912934<!ATTLIST characterLabelPattern type NMTOKEN #REQUIRED > 
     2935    <!--@MATCH:literal/all, category-list, compatibility, enclosed, extended, historic, miscellaneous, other, scripts, strokes--> 
    26922936<!ATTLIST characterLabelPattern count (0 | 1 | zero | one | two | few | many | other) #IMPLIED > 
    26932937    <!-- count only used for certain patterns" --> 
    26942938<!ATTLIST characterLabelPattern alt NMTOKENS #IMPLIED > 
     2939    <!--@MATCH:literal/variant--> 
    26952940<!ATTLIST characterLabelPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    26962941    <!--@METADATA--> 
     
    26982943<!ELEMENT characterLabel ( #PCDATA ) > 
    26992944<!ATTLIST characterLabel type NMTOKEN #REQUIRED > 
     2945    <!--@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--> 
    27002946<!ATTLIST characterLabel alt NMTOKENS #IMPLIED > 
     2947    <!--@MATCH:literal/variant--> 
    27012948<!ATTLIST characterLabel draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    27022949    <!--@METADATA--> 
     
    27042951<!ELEMENT segmentations ( alias | ( segmentation*, special* ) ) > 
    27052952<!ATTLIST segmentations alt NMTOKENS #IMPLIED > 
     2953    <!--@MATCH:literal/variant--> 
    27062954<!ATTLIST segmentations draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    27072955    <!--@METADATA--> 
     
    27152963<!ELEMENT segmentation ( alias | ( variables?, segmentRules?, exceptions?, suppressions? ) | special* ) > 
    27162964<!ATTLIST segmentation type NMTOKEN #REQUIRED > 
     2965    <!--@MATCH:literal/GraphemeClusterBreak, LineBreak, SentenceBreak, WordBreak--> 
    27172966<!ATTLIST segmentation alt NMTOKENS #IMPLIED > 
     2967    <!--@MATCH:literal/variant--> 
    27182968<!ATTLIST segmentation draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    27192969    <!--@METADATA--> 
     
    27302980    <!--@ORDERED--> 
    27312981<!ATTLIST variable id CDATA #REQUIRED > 
     2982    <!--@MATCH:regex/\$[a-zA-Z0-9_]+--> 
    27322983<!ATTLIST variable alt NMTOKENS #IMPLIED > 
     2984    <!--@MATCH:literal/variant--> 
    27332985<!ATTLIST variable draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    27342986    <!--@METADATA--> 
     
    27412993<!ELEMENT rule ( #PCDATA ) > 
    27422994<!ATTLIST rule id NMTOKEN #REQUIRED > 
     2995    <!--@MATCH:range/0.0~9999.0--> 
    27432996<!ATTLIST rule alt NMTOKENS #IMPLIED > 
     2997    <!--@MATCH:literal/variant--> 
    27442998<!ATTLIST rule draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    27452999    <!--@METADATA--> 
     
    27613015<!ELEMENT suppressions ( alias | ( suppression*, special* ) ) > 
    27623016<!ATTLIST suppressions type NMTOKEN "standard" > 
     3017    <!--@MATCH:literal/standard--> 
    27633018<!ATTLIST suppressions draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    27643019    <!--@METADATA--> 
     
    27683023    <!--@ORDERED--> 
    27693024<!ATTLIST suppression alt NMTOKENS #IMPLIED > 
     3025    <!--@MATCH:literal/variant--> 
    27703026<!ATTLIST suppression draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    27713027    <!--@METADATA--> 
     
    27753031<!ELEMENT rulesetGrouping ( alias | ( ruleset*, special* ) ) > 
    27763032<!ATTLIST rulesetGrouping type NMTOKEN #REQUIRED > 
     3033    <!--@MATCH:literal/NumberingSystemRules, OrdinalRules, SpelloutRules--> 
    27773034<!ATTLIST rulesetGrouping draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    27783035    <!--@METADATA--> 
     
    27823039    <!--@ORDERED--> 
    27833040<!ATTLIST ruleset type NMTOKEN #REQUIRED > 
     3041    <!--@MATCH:regex/(ord-M-)?[\-0-9a-z]+--> 
    27843042<!ATTLIST ruleset access (public | private) #IMPLIED > 
    27853043    <!--@VALUE--> 
     
    27933051    <!--@ORDERED--> 
    27943052<!ATTLIST rbnfrule value CDATA #REQUIRED > 
     3053    <!--@MATCH:or/range/-1.0E20~1.0E20||literal/-x, 0, 0.x, NaN, -Inf, Inf, x,x, x.x--> 
    27953054    <!--@VALUE--> 
    27963055<!ATTLIST rbnfrule radix CDATA #IMPLIED > 
     3056    <!--@MATCH:literal/1,000, 100, 1000, 100000, 20--> 
    27973057    <!--@VALUE--> 
    27983058<!ATTLIST rbnfrule decexp CDATA #IMPLIED > 
    27993059    <!--@VALUE--> 
    28003060<!ATTLIST rbnfrule alt NMTOKENS #IMPLIED > 
     3061    <!--@MATCH:literal/variant--> 
    28013062<!ATTLIST rbnfrule draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    28023063    <!--@METADATA--> 
    28033064    <!--@DEPRECATED:true, false--> 
     3065 
     3066<!ELEMENT typographicNames ( alias | ( axisName*, styleName*, featureName*, special* ) ) > 
     3067 
     3068<!ELEMENT axisName ( #PCDATA ) > 
     3069<!ATTLIST axisName type (ital | opsz | slnt | wdth | wght) #REQUIRED > 
     3070<!ATTLIST axisName alt NMTOKENS #IMPLIED > 
     3071    <!--@MATCH:literal/variant--> 
     3072<!ATTLIST axisName draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     3073    <!--@METADATA--> 
     3074 
     3075<!ELEMENT styleName ( #PCDATA ) > 
     3076<!ATTLIST styleName type (ital | opsz | slnt | wdth | wght) #REQUIRED > 
     3077<!ATTLIST styleName subtype NMTOKEN #REQUIRED > 
     3078    <!--@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--> 
     3079<!ATTLIST styleName alt NMTOKENS #IMPLIED > 
     3080    <!--@MATCH:literal/compressed, demi, extended, heavy, narrow, short, ultra, ultrablack, ultraheavy, wide--> 
     3081<!ATTLIST styleName draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     3082    <!--@METADATA--> 
     3083 
     3084<!ELEMENT featureName ( #PCDATA ) > 
     3085<!ATTLIST featureName type (afrc | cpsp | dlig | frac | lnum | onum | ordn | pnum | smcp | tnum | zero) #REQUIRED > 
     3086<!ATTLIST featureName alt NMTOKENS #IMPLIED > 
     3087    <!--@MATCH:literal/short, variant--> 
     3088<!ATTLIST featureName draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     3089    <!--@METADATA--> 
    28043090 
    28053091<!ELEMENT annotations ( alias | ( annotation*, special* ) ) > 
     
    28073093<!ELEMENT annotation ( #PCDATA ) > 
    28083094<!ATTLIST annotation cp CDATA #REQUIRED > 
     3095    <!--@MATCH:any--> 
    28093096<!ATTLIST annotation tts CDATA #IMPLIED > 
    28103097    <!--@VALUE--> 
     
    28123099<!ATTLIST annotation type (tts) #IMPLIED > 
    28133100<!ATTLIST annotation alt NMTOKENS #IMPLIED > 
     3101    <!--@MATCH:literal/variant--> 
    28143102<!ATTLIST annotation draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    28153103    <!--@METADATA--> 
     
    28263114<!ELEMENT casingItem ( #PCDATA ) > 
    28273115<!ATTLIST casingItem type CDATA #REQUIRED > 
     3116    <!--@MATCH:any--> 
    28283117<!ATTLIST casingItem override (true | false) #IMPLIED > 
    28293118    <!--@VALUE--> 
     
    28313120    <!--@VALUE--> 
    28323121<!ATTLIST casingItem alt NMTOKENS #IMPLIED > 
     3122    <!--@MATCH:literal/variant--> 
    28333123<!ATTLIST casingItem draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    28343124    <!--@METADATA--> 
     
    28473137    <!--@DEPRECATED--> 
    28483138<!ATTLIST reference alt NMTOKENS #IMPLIED > 
     3139    <!--@MATCH:literal/variant--> 
    28493140    <!--@DEPRECATED--> 
    28503141<!ATTLIST reference draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
  • trunk/common/dtd/ldmlBCP47.dtd

    r14962 r14962  
    11<!-- 
    2 Copyright © 2003-2016 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
     2Copyright © 2003-2018 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
    33 
    44Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. 
     
    1515    <!--@METADATA--> 
    1616<!ATTLIST version number CDATA #REQUIRED > 
     17        <!--@MATCH:regex/\$Revision.*\$--> 
    1718    <!--@METADATA--> 
    18 <!ATTLIST version cldrVersion CDATA #FIXED "31" > 
     19<!ATTLIST version cldrVersion CDATA #FIXED "35" > 
     20        <!--@MATCH:version--> 
    1921    <!--@VALUE--> 
    2022 
     
    3638<!ELEMENT key ( type* ) > 
    3739<!ATTLIST key extension NMTOKEN #IMPLIED > 
     40        <!--@MATCH:any--> 
    3841<!ATTLIST key name NMTOKEN #REQUIRED > 
     42        <!--@MATCH:regex/[a-z0-9]{2}--> 
    3943<!ATTLIST key description CDATA #IMPLIED > 
     44        <!--@MATCH:any--> 
    4045    <!--@VALUE--> 
    4146<!ATTLIST key deprecated (true | false) "false" > 
     
    4449    <!--@VALUE--> 
    4550<!ATTLIST key alias NMTOKEN #IMPLIED > 
     51        <!--@MATCH:any--> 
    4652    <!--@VALUE--> 
    4753<!ATTLIST key valueType (single | multiple | incremental | any) #IMPLIED > 
    4854    <!--@VALUE--> 
    4955<!ATTLIST key since CDATA #IMPLIED > 
     56        <!--@MATCH:version--> 
    5057    <!--@METADATA--> 
    5158 
    5259<!ELEMENT type EMPTY > 
    5360<!ATTLIST type name NMTOKEN #REQUIRED > 
     61        <!--@MATCH:any--> 
    5462<!ATTLIST type description CDATA #REQUIRED > 
     63        <!--@MATCH:any--> 
    5564    <!--@VALUE--> 
    5665<!ATTLIST type deprecated (true | false) "false" > 
    5766    <!--@VALUE--> 
    5867<!ATTLIST type preferred NMTOKEN #IMPLIED > 
     68        <!--@MATCH:bcp47/anyvalue--> 
    5969    <!--@VALUE--> 
    6070<!ATTLIST type alias CDATA #IMPLIED > 
     71        <!--@MATCH:any--> 
    6172    <!--@VALUE--> 
    6273<!ATTLIST type since CDATA #IMPLIED > 
     74        <!--@MATCH:version--> 
    6375    <!--@METADATA--> 
    6476 
  • trunk/common/dtd/ldmlSupplemental.dtd

    r14962 r14962  
    11<!-- 
    2 Copyright © 2003-2016 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
     2Copyright © 2003-2018 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 
    33 
    44Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. 
     
    1111--> 
    1212 
    13 <!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope? ) > 
     13<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups? ) > 
    1414 
    1515<!ELEMENT version EMPTY > 
    1616    <!--@METADATA--> 
    1717<!ATTLIST version number CDATA #REQUIRED > 
    18     <!--@METADATA--> 
    19 <!ATTLIST version cldrVersion CDATA #FIXED "31" > 
    20     <!--@VALUE--> 
    21 <!ATTLIST version unicodeVersion CDATA #FIXED "9.0.0" > 
     18        <!--@MATCH:any--> 
     19    <!--@METADATA--> 
     20<!ATTLIST version cldrVersion CDATA #FIXED "35" > 
     21        <!--@MATCH:version--> 
     22    <!--@VALUE--> 
     23<!ATTLIST version unicodeVersion CDATA #FIXED "12.0.0" > 
     24        <!--@MATCH:version--> 
    2225    <!--@VALUE--> 
    2326 
     
    4750<!ELEMENT info EMPTY > 
    4851<!ATTLIST info iso4217 NMTOKEN #REQUIRED > 
     52        <!--@MATCH:or/validity/currency||literal/DEFAULT--> 
    4953<!ATTLIST info digits NMTOKEN #IMPLIED > 
     54        <!--@MATCH:range/0~5--> 
    5055    <!--@VALUE--> 
    5156<!ATTLIST info rounding NMTOKEN #IMPLIED > 
     57        <!--@MATCH:range/0~5--> 
    5258    <!--@VALUE--> 
    5359<!ATTLIST info cashDigits NMTOKEN #IMPLIED > 
     60        <!--@MATCH:range/0~100--> 
    5461    <!--@VALUE--> 
    5562<!ATTLIST info cashRounding NMTOKEN #IMPLIED > 
     63        <!--@MATCH:literal/0, 5, 50--> 
    5664    <!--@VALUE--> 
    5765<!ATTLIST info draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    6371<!ELEMENT region ( currency* ) > 
    6472<!ATTLIST region iso3166 NMTOKEN #REQUIRED > 
     73        <!--@MATCH:validity/region--> 
    6574<!ATTLIST region draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    6675    <!--@METADATA--> 
     
    7382    <!--@DEPRECATED--> 
    7483<!ATTLIST currency from NMTOKEN #IMPLIED > 
     84        <!--@MATCH:time/yyyy-MM-dd--> 
    7585<!ATTLIST currency to NMTOKEN #IMPLIED > 
     86        <!--@MATCH:time/yyyy-MM-dd--> 
    7687<!ATTLIST currency iso4217 NMTOKEN #REQUIRED > 
     88        <!--@MATCH:validity/currency--> 
    7789<!ATTLIST currency digits NMTOKEN #IMPLIED > 
    7890    <!--@VALUE--> 
     
    99111<!ELEMENT group EMPTY > 
    100112<!ATTLIST group type NMTOKEN #REQUIRED > 
     113        <!--@MATCH:validity/region--> 
    101114<!ATTLIST group contains NMTOKENS #IMPLIED > 
     115        <!--@MATCH:set/validity/region--> 
    102116    <!--@VALUE--> 
    103117<!ATTLIST group grouping (true | false) #IMPLIED > 
     
    114128<!ELEMENT subgroup EMPTY > 
    115129<!ATTLIST subgroup type NMTOKEN #REQUIRED > 
     130        <!--@MATCH:or/validity/region||validity/subdivision--> 
    116131<!ATTLIST subgroup subtype NMTOKEN #IMPLIED > 
    117132    <!--@DEPRECATED--> 
    118133<!ATTLIST subgroup contains NMTOKENS #IMPLIED > 
     134        <!--@MATCH:set/validity/subdivision--> 
    119135    <!--@VALUE--> 
    120136 
     
    123139<!ELEMENT language EMPTY > 
    124140<!ATTLIST language type NMTOKEN #REQUIRED > 
     141        <!--@MATCH:set/validity/language--> 
    125142<!ATTLIST language scripts NMTOKENS #IMPLIED > 
     143        <!--@MATCH:set/validity/script--> 
    126144    <!--@VALUE--> 
    127145<!ATTLIST language territories NMTOKENS #IMPLIED > 
     146        <!--@MATCH:set/validity/region--> 
    128147    <!--@VALUE--> 
    129148<!ATTLIST language variants NMTOKENS #IMPLIED > 
     
    135154    <!--@METADATA--> 
    136155<!ATTLIST language alt NMTOKENS #IMPLIED > 
     156    <!--@MATCH:literal/secondary, variant--> 
    137157 
    138158<!ELEMENT territoryInfo ( territory* ) > 
     
    143163    <!--@METADATA--> 
    144164<!ATTLIST territoryInfo alt NMTOKENS #IMPLIED > 
     165    <!--@MATCH:literal/variant--> 
    145166 
    146167<!ELEMENT territory ( languagePopulation* ) > 
    147168<!ATTLIST territory type NMTOKEN #REQUIRED > 
     169        <!--@MATCH:validity/region--> 
    148170<!ATTLIST territory gdp NMTOKEN #REQUIRED > 
     171        <!--@MATCH:range/0~100000000000000--> 
    149172    <!--@VALUE--> 
    150173<!ATTLIST territory literacyPercent NMTOKEN #REQUIRED > 
     174        <!--@MATCH:range/0.0~100.0--> 
    151175    <!--@VALUE--> 
    152176<!ATTLIST territory population NMTOKEN #REQUIRED > 
     177        <!--@MATCH:range/0~10000000000--> 
    153178    <!--@VALUE--> 
    154179<!ATTLIST territory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    156181    <!--@DEPRECATED--> 
    157182<!ATTLIST territory references CDATA #IMPLIED > 
     183        <!--@MATCH:any--> 
    158184    <!--@METADATA--> 
    159185<!ATTLIST territory alt NMTOKENS #IMPLIED > 
     186    <!--@MATCH:literal/variant--> 
    160187 
    161188<!ELEMENT languagePopulation EMPTY > 
    162189<!ATTLIST languagePopulation type NMTOKEN #REQUIRED > 
     190        <!--@MATCH:validity/locale--> 
    163191<!ATTLIST languagePopulation literacyPercent NMTOKEN #IMPLIED > 
     192        <!--@MATCH:range/0~100--> 
    164193    <!--@VALUE--> 
    165194<!ATTLIST languagePopulation writingPercent NMTOKEN #IMPLIED > 
     195        <!--@MATCH:range/0~100--> 
    166196    <!--@VALUE--> 
    167197<!ATTLIST languagePopulation populationPercent NMTOKEN #REQUIRED > 
     198        <!--@MATCH:range/0.0~100.0--> 
    168199    <!--@VALUE--> 
    169200<!ATTLIST languagePopulation officialStatus (de_facto_official | official | official_regional | official_minority) #IMPLIED > 
     
    173204    <!--@DEPRECATED:true, false--> 
    174205<!ATTLIST languagePopulation references CDATA #IMPLIED > 
     206        <!--@MATCH:any--> 
    175207    <!--@METADATA--> 
    176208<!ATTLIST languagePopulation alt NMTOKENS #IMPLIED > 
     209    <!--@MATCH:literal/variant--> 
    177210 
    178211<!ELEMENT postalCodeData ( postCodeRegex* ) > 
     
    191224<!ELEMENT calendar ( calendarSystem?, eras? ) > 
    192225<!ATTLIST calendar type NMTOKEN #REQUIRED > 
     226        <!--@MATCH:bcp47/ca--> 
    193227<!ATTLIST calendar territories NMTOKENS #IMPLIED > 
    194228    <!-- use ordering attribute in calendarPreference element instead. --> 
     
    201235    <!--@METADATA--> 
    202236<!ATTLIST calendar alt NMTOKENS #IMPLIED > 
     237    <!--@MATCH:literal/variant--> 
    203238 
    204239<!ELEMENT calendarSystem EMPTY > 
     
    214249<!ELEMENT era EMPTY > 
    215250<!ATTLIST era type NMTOKEN #REQUIRED > 
     251        <!--@MATCH:range/0~250--> 
    216252<!ATTLIST era start CDATA #IMPLIED > 
     253        <!--@MATCH:time/yyyy-MM-dd--> 
    217254    <!--@VALUE--> 
    218255<!ATTLIST era end CDATA #IMPLIED > 
     256        <!--@MATCH:time/yyyy-MM-dd--> 
     257    <!--@VALUE--> 
     258<!ATTLIST era named (true | false) #IMPLIED > 
    219259    <!--@VALUE--> 
    220260 
     
    223263<!ELEMENT calendarPreference EMPTY > 
    224264<!ATTLIST calendarPreference territories NMTOKENS #REQUIRED > 
     265        <!--@MATCH:set/validity/region--> 
    225266<!ATTLIST calendarPreference ordering NMTOKENS #REQUIRED > 
     267        <!--@MATCH:set/bcp47/ca--> 
    226268    <!--@VALUE--> 
    227269 
     
    231273<!ATTLIST minDays count (1 | 2 | 3 | 4 | 5 | 6 | 7) #REQUIRED > 
    232274<!ATTLIST minDays territories NMTOKENS #REQUIRED > 
     275        <!--@MATCH:set/validity/region--> 
    233276    <!--@VALUE--> 
    234277<!ATTLIST minDays draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    238281    <!--@METADATA--> 
    239282<!ATTLIST minDays alt NMTOKENS #IMPLIED > 
     283    <!--@MATCH:literal/variant--> 
    240284 
    241285<!ELEMENT firstDay EMPTY > 
    242286<!ATTLIST firstDay day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED > 
    243287<!ATTLIST firstDay territories NMTOKENS #REQUIRED > 
     288        <!--@MATCH:set/validity/region--> 
    244289    <!--@VALUE--> 
    245290<!ATTLIST firstDay draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    247292    <!--@DEPRECATED:true, false--> 
    248293<!ATTLIST firstDay references CDATA #IMPLIED > 
     294        <!--@MATCH:any--> 
    249295    <!--@METADATA--> 
    250296<!ATTLIST firstDay alt NMTOKENS #IMPLIED > 
     297    <!--@MATCH:literal/variant--> 
    251298 
    252299<!ELEMENT weekendStart EMPTY > 
    253300<!ATTLIST weekendStart day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED > 
    254301<!ATTLIST weekendStart territories NMTOKENS #REQUIRED > 
     302        <!--@MATCH:set/validity/region--> 
    255303    <!--@VALUE--> 
    256304<!ATTLIST weekendStart draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    260308    <!--@METADATA--> 
    261309<!ATTLIST weekendStart alt NMTOKENS #IMPLIED > 
     310    <!--@MATCH:literal/variant--> 
    262311 
    263312<!ELEMENT weekendEnd EMPTY > 
    264313<!ATTLIST weekendEnd day (sun | mon | tue | wed | thu | fri | sat) #REQUIRED > 
    265314<!ATTLIST weekendEnd territories NMTOKENS #REQUIRED > 
     315        <!--@MATCH:set/validity/region--> 
    266316    <!--@VALUE--> 
    267317<!ATTLIST weekendEnd draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    271321    <!--@METADATA--> 
    272322<!ATTLIST weekendEnd alt NMTOKENS #IMPLIED > 
     323    <!--@MATCH:literal/variant--> 
    273324 
    274325<!ELEMENT weekOfPreference EMPTY > 
    275326<!ATTLIST weekOfPreference locales NMTOKENS #REQUIRED > 
     327        <!--@MATCH:set/validity/locale--> 
    276328<!ATTLIST weekOfPreference ordering NMTOKENS #REQUIRED > 
     329        <!--@MATCH:set/literal/weekOfDate, weekOfInterval, weekOfMonth, weekOfYear--> 
    277330    <!--@VALUE--> 
    278331 
     
    281334<!ELEMENT hours EMPTY > 
    282335<!ATTLIST hours allowed NMTOKENS #REQUIRED > 
     336        <!--@MATCH:set/literal/H, h, K, k, hB, hb--> 
    283337<!ATTLIST hours preferred NMTOKEN #REQUIRED > 
     338        <!--@MATCH:literal/H, h--> 
    284339<!ATTLIST hours regions NMTOKENS #REQUIRED > 
     340        <!--@MATCH:set/or/validity/region||validity/locale--> 
    285341    <!--@VALUE--> 
    286342<!ATTLIST hours draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    295351<!ATTLIST measurementSystem category (temperature) #IMPLIED > 
    296352<!ATTLIST measurementSystem territories NMTOKENS #REQUIRED > 
     353        <!--@MATCH:set/validity/region--> 
    297354    <!--@VALUE--> 
    298355<!ATTLIST measurementSystem draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    302359    <!--@METADATA--> 
    303360<!ATTLIST measurementSystem alt NMTOKENS #IMPLIED > 
     361    <!--@MATCH:literal/variant--> 
    304362 
    305363<!ELEMENT paperSize EMPTY > 
    306364<!ATTLIST paperSize type (A4 | US-Letter) #REQUIRED > 
    307365<!ATTLIST paperSize territories NMTOKENS #REQUIRED > 
     366        <!--@MATCH:set/validity/region--> 
    308367    <!--@VALUE--> 
    309368<!ATTLIST paperSize draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    313372    <!--@METADATA--> 
    314373<!ATTLIST paperSize alt NMTOKENS #IMPLIED > 
     374    <!--@MATCH:literal/variant--> 
    315375 
    316376<!ELEMENT unitPreferenceData ( unitPreferences* ) > 
     
    318378<!ELEMENT unitPreferences ( unitPreference* ) > 
    319379<!ATTLIST unitPreferences category NMTOKEN #REQUIRED > 
     380        <!--@MATCH:literal/area, concentr, consumption, duration, energy, length, mass, pressure, speed, temperature, volume--> 
    320381<!ATTLIST unitPreferences usage NMTOKENS #REQUIRED > 
     382        <!--@MATCH:literal/baromtrc, blood-glucose, food, land-agricult, land-commercl, land-residntl, music-track, person, person-age, person-usage, rainfall, road, road-travel, snowfall, tv-program, vehicle, vehicle-fuel, visiblty, weather, wind--> 
    321383<!ATTLIST unitPreferences scope (small) #IMPLIED > 
    322384 
    323385<!ELEMENT unitPreference ( #PCDATA ) > 
    324386<!ATTLIST unitPreference regions NMTOKENS #REQUIRED > 
     387        <!--@MATCH:set/validity/region--> 
    325388<!ATTLIST unitPreference draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    326389    <!--@METADATA--> 
     
    328391    <!--@METADATA--> 
    329392<!ATTLIST unitPreference alt NMTOKENS #IMPLIED > 
     393    <!--@MATCH:literal/informal, variant--> 
    330394 
    331395<!ELEMENT timezoneData ( mapTimezones*, zoneFormatting* ) > 
     
    334398<!ELEMENT mapTimezones ( mapZone* ) > 
    335399<!ATTLIST mapTimezones type NMTOKEN #IMPLIED > 
     400        <!--@MATCH:literal/metazones--> 
    336401<!ATTLIST mapTimezones otherVersion CDATA #IMPLIED > 
     402        <!--@MATCH:any--> 
    337403    <!--@METADATA--> 
    338404<!ATTLIST mapTimezones typeVersion CDATA #IMPLIED > 
     405        <!--@MATCH:regex/[0-9]{4}[a-z]+--> 
    339406    <!--@METADATA--> 
    340407<!ATTLIST mapTimezones references CDATA #IMPLIED > 
     408        <!--@MATCH:any--> 
    341409    <!--@METADATA--> 
    342410 
    343411<!ELEMENT mapZone EMPTY > 
    344412<!ATTLIST mapZone type CDATA #REQUIRED > 
     413        <!--@MATCH:set/bcp47/tz--> 
    345414    <!--@VALUE--> 
    346415<!ATTLIST mapZone other CDATA #REQUIRED > 
     416        <!--@MATCH:any--> 
    347417<!ATTLIST mapZone territory CDATA #IMPLIED > 
     418        <!--@MATCH:validity/region--> 
    348419<!ATTLIST mapZone references CDATA #IMPLIED > 
     420        <!--@MATCH:any--> 
    349421    <!--@METADATA--> 
    350422 
     
    384456<!ELEMENT character ( substitute* ) > 
    385457<!ATTLIST character value CDATA #REQUIRED > 
     458        <!--@MATCH:any--> 
    386459<!ATTLIST character draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    387460    <!--@METADATA--> 
     
    393466    <!--@METADATA--> 
    394467<!ATTLIST character alt NMTOKENS #IMPLIED > 
     468    <!--@MATCH:literal/variant--> 
    395469 
    396470<!ELEMENT substitute ( #PCDATA ) > 
     
    405479    <!--@METADATA--> 
    406480<!ATTLIST substitute alt NMTOKENS #IMPLIED > 
     481    <!--@MATCH:literal/variant--> 
    407482 
    408483<!ELEMENT transforms ( transform* ) > 
     
    410485<!ELEMENT transform ( ( comment | tRule )* ) > 
    411486<!ATTLIST transform source CDATA #IMPLIED > 
     487        <!--@MATCH:any/TODO--> 
    412488<!ATTLIST transform target CDATA #IMPLIED > 
     489        <!--@MATCH:any/TODO--> 
    413490<!ATTLIST transform variant CDATA #IMPLIED > 
     491        <!--@MATCH:any/TODO--> 
    414492<!ATTLIST transform direction (forward | backward | both) "both" > 
    415493<!ATTLIST transform alias CDATA #IMPLIED > 
     494        <!--@MATCH:any/TODO--> 
    416495    <!--@VALUE--> 
    417496<!ATTLIST transform backwardAlias CDATA #IMPLIED > 
     497        <!--@MATCH:any/TODO--> 
    418498    <!--@VALUE--> 
    419499<!ATTLIST transform visibility (internal | external) "external" > 
     
    424504    <!--@METADATA--> 
    425505<!ATTLIST transform alt NMTOKENS #IMPLIED > 
     506    <!--@MATCH:literal/variant--> 
    426507 
    427508<!ELEMENT comment ( #PCDATA ) > 
     
    464545    <!--@ORDERED--> 
    465546<!ATTLIST attributes element NMTOKENS #IMPLIED > 
     547        <!--@MATCH:any--> 
    466548    <!--@VALUE--> 
    467549<!ATTLIST attributes attribute NMTOKENS #IMPLIED > 
     550        <!--@MATCH:any--> 
    468551    <!--@VALUE--> 
    469552<!ATTLIST attributes attributeValue CDATA #IMPLIED > 
     553        <!--@MATCH:any--> 
    470554    <!--@VALUE--> 
    471555<!ATTLIST attributes draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    482566    <!--@ORDERED--> 
    483567<!ATTLIST variable type NMTOKEN #IMPLIED > 
     568        <!--@MATCH:any--> 
    484569    <!--@VALUE--> 
    485570<!ATTLIST variable id CDATA #REQUIRED > 
     571        <!--@MATCH:any--> 
    486572<!ATTLIST variable draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    487573    <!--@METADATA--> 
     
    491577    <!--@ORDERED--> 
    492578<!ATTLIST attributeValues dtds NMTOKEN #IMPLIED > 
     579        <!--@MATCH:any--> 
    493580<!ATTLIST attributeValues type NMTOKEN #IMPLIED > 
     581        <!--@MATCH:any--> 
    494582<!ATTLIST attributeValues elements NMTOKENS #IMPLIED > 
     583        <!--@MATCH:any--> 
    495584    <!--@VALUE--> 
    496585<!ATTLIST attributeValues attributes NMTOKENS #IMPLIED > 
     586        <!--@MATCH:any--> 
    497587    <!--@VALUE--> 
    498588<!ATTLIST attributeValues order NMTOKEN #IMPLIED > 
     589        <!--@MATCH:any--> 
    499590    <!--@VALUE--> 
    500591<!ATTLIST attributeValues draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    509600<!ELEMENT languageAlias EMPTY > 
    510601<!ATTLIST languageAlias type NMTOKEN #REQUIRED > 
     602        <!--@MATCH:or/validity/locale||literal/aa_SAAHO, aar, abk, afr, aka, alb, amh, ara, arg, arm, art_lojban, asm, ava, ave, aym, aze, bak, bam, baq, bel, ben, bih, bis, bod, bos, bre, bul, bur, cat, ces, cha, che, chi, chu, chv, cor, cos, cre, cym, cze, dan, deu, div, dut, dzo, ell, eng, epo, est, eus, ewe, fao, fas, fij, fin, fra, fre, fry, ful, geo, ger, gla, gle, glg, glv, gre, grn, guj, hat, hau, hbs, heb, her, hin, hmo, hrv, hun, hye, i_ami, i_bnn, i_hak, i_klingon, i_lux, i_navajo, i_pwn, i_tao, i_tay, i_tsu, ibo, ice, ido, iii, iku, ile, ina, ind, ipk, isl, ita, jav, jpn, kal, kan, kas, kat, kau, kaz, khm, kik, kin, kir, kom, kon, kor, kua, kur, lao, lat, lav, lim, lin, lit, ltz, lub, lug, mac, mah, mal, mao, mar, may, mkd, mlg, mlt, mol, mon, mri, msa, mya, nau, nav, nbl, nde, ndo, nep, nld, nno, no_BOKMAL, no_NYNORSK, no_bok, no_nyn, nob, nor, nya, oci, oji, ori, orm, oss, pan, per, pli, pol, por, pus, que, roh, ron, rum, run, rus, sag, san, scc, scr, sgn_BE_FR, sgn_BE_NL, sgn_CH_DE, sin, slk, slo, slv, sme, smo, sna, snd, som, sot, spa, sqi, srd, srp, ssw, sun, swa, swe, tah, tam, tat, tel, tgk, tgl, tha, tib, tir, ton, tsn, tso, tuk, tur, twi, uig, ukr, urd, uzb, ven, vie, vol, wel, wln, wol, xho, yid, yor, zh_guoyu, zh_hakka, zh_min_nan, zh_xiang, zha, zho, zul--> 
    511603<!ATTLIST languageAlias replacement NMTOKEN #REQUIRED > 
     604        <!--@MATCH:validity/locale--> 
    512605    <!--@VALUE--> 
    513606<!ATTLIST languageAlias reason (deprecated | overlong | macrolanguage | legacy | bibliographic) #IMPLIED > 
     
    516609<!ELEMENT scriptAlias EMPTY > 
    517610<!ATTLIST scriptAlias type NMTOKEN #REQUIRED > 
     611        <!--@MATCH:validity/script--> 
    518612<!ATTLIST scriptAlias replacement NMTOKEN #REQUIRED > 
     613        <!--@MATCH:validity/script--> 
    519614    <!--@VALUE--> 
    520615<!ATTLIST scriptAlias reason (deprecated | overlong) #IMPLIED > 
     
    523618<!ELEMENT territoryAlias EMPTY > 
    524619<!ATTLIST territoryAlias type NMTOKEN #REQUIRED > 
     620        <!--@MATCH:set/or/validity/region||regex/[0-9]{3}|[A-Z]{3}||literal/CT, DY, FQ, HV, JT, MI, NH, NQ, PC, PU, PZ, RH, UK, VD, WK--> 
    525621<!ATTLIST territoryAlias replacement NMTOKENS #REQUIRED > 
     622        <!--@MATCH:set/validity/region--> 
    526623    <!--@VALUE--> 
    527624<!ATTLIST territoryAlias reason (deprecated | overlong) #IMPLIED > 
     
    530627<!ELEMENT subdivisionAlias EMPTY > 
    531628<!ATTLIST subdivisionAlias type NMTOKEN #REQUIRED > 
     629        <!--@MATCH:validity/subdivision--> 
    532630<!ATTLIST subdivisionAlias replacement NMTOKENS #REQUIRED > 
     631        <!--@MATCH:set/or/validity/region||validity/subdivision--> 
    533632    <!--@VALUE--> 
    534633<!ATTLIST subdivisionAlias reason (deprecated | overlong) #IMPLIED > 
     
    537636<!ELEMENT variantAlias EMPTY > 
    538637<!ATTLIST variantAlias type NMTOKEN #REQUIRED > 
     638        <!--@MATCH:or/validity/variant||literal/AALAND, POLYTONI--> 
    539639<!ATTLIST variantAlias replacement NMTOKEN #REQUIRED > 
     640        <!--@MATCH:or/validity/variant||validity/region--> 
    540641    <!--@VALUE--> 
    541642<!ATTLIST variantAlias reason (deprecated | overlong) #IMPLIED > 
     
    544645<!ELEMENT zoneAlias EMPTY > 
    545646<!ATTLIST zoneAlias type CDATA #REQUIRED > 
     647        <!--@MATCH:or/bcp47/tz||literal/SystemV/AST4, SystemV/AST4ADT, SystemV/CST6, SystemV/CST6CDT, SystemV/EST5, SystemV/EST5EDT, SystemV/HST10, SystemV/MST7, SystemV/MST7MDT, SystemV/PST8, SystemV/PST8PDT, SystemV/YST9, SystemV/YST9YDT--> 
    546648<!ATTLIST zoneAlias replacement CDATA #REQUIRED > 
     649        <!--@MATCH:bcp47/tz--> 
    547650    <!--@VALUE--> 
    548651<!ATTLIST zoneAlias reason (deprecated | overlong) #IMPLIED > 
     
    571674<!ELEMENT distinguishing ( distinguishingItems* ) > 
    572675    <!--@METADATA--> 
     676    <!--@DEPRECATED--> 
    573677<!ATTLIST distinguishing draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    574678    <!--@METADATA--> 
     
    576680 
    577681<!ELEMENT distinguishingItems EMPTY > 
     682    <!--@DEPRECATED--> 
    578683<!ATTLIST distinguishingItems exclude (true | false) #IMPLIED > 
    579684    <!--@VALUE--> 
     685    <!--@DEPRECATED--> 
    580686<!ATTLIST distinguishingItems elements NMTOKENS #IMPLIED > 
    581687    <!--@VALUE--> 
     688    <!--@DEPRECATED--> 
    582689<!ATTLIST distinguishingItems attributes NMTOKENS #IMPLIED > 
     690    <!--@DEPRECATED--> 
    583691<!ATTLIST distinguishingItems draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    584692    <!--@METADATA--> 
     693    <!--@DEPRECATED--> 
    585694 
    586695<!ELEMENT blocking ( blockingItems* ) > 
    587696    <!--@METADATA--> 
     697    <!--@DEPRECATED--> 
    588698<!ATTLIST blocking draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    589699    <!--@METADATA--> 
     
    591701 
    592702<!ELEMENT blockingItems EMPTY > 
     703    <!--@DEPRECATED--> 
    593704<!ATTLIST blockingItems elements NMTOKENS #IMPLIED > 
    594705    <!--@VALUE--> 
     706    <!--@DEPRECATED--> 
    595707<!ATTLIST blockingItems draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    596708    <!--@METADATA--> 
     709    <!--@DEPRECATED--> 
    597710 
    598711<!ELEMENT coverageAdditions ( languageCoverage*, scriptCoverage*, territoryCoverage*, currencyCoverage*, timezoneCoverage* ) > 
     
    659772 
    660773<!ELEMENT skipDefaultLocale EMPTY > 
     774    <!--@DEPRECATED--> 
    661775<!ATTLIST skipDefaultLocale services NMTOKENS #IMPLIED > 
    662776    <!--@VALUE--> 
     777    <!--@DEPRECATED--> 
    663778 
    664779<!ELEMENT defaultContent EMPTY > 
    665780<!ATTLIST defaultContent locales NMTOKENS #IMPLIED > 
     781        <!--@MATCH:set/validity/locale--> 
    666782    <!--@VALUE--> 
    667783 
     
    678794<!ELEMENT territoryCodes EMPTY > 
    679795<!ATTLIST territoryCodes type NMTOKEN #REQUIRED > 
     796        <!--@MATCH:validity/region--> 
    680797<!ATTLIST territoryCodes numeric NMTOKEN #IMPLIED > 
     798        <!--@MATCH:range/1~999--> 
    681799    <!--@VALUE--> 
    682800<!ATTLIST territoryCodes alpha3 NMTOKEN #IMPLIED > 
     801        <!--@MATCH:regex/[A-Z]{3}--> 
    683802    <!--@VALUE--> 
    684803<!ATTLIST territoryCodes fips10 NMTOKEN #IMPLIED > 
     804        <!--@MATCH:regex/[A-Z]{2}--> 
    685805    <!--@VALUE--> 
    686806<!ATTLIST territoryCodes internet NMTOKENS #IMPLIED > 
    687807    <!--@VALUE--> 
     808    <!--@DEPRECATED--> 
    688809 
    689810<!ELEMENT currencyCodes EMPTY > 
    690811<!ATTLIST currencyCodes type NMTOKEN #REQUIRED > 
     812        <!--@MATCH:validity/currency--> 
    691813<!ATTLIST currencyCodes numeric NMTOKEN #REQUIRED > 
     814        <!--@MATCH:range/1~999--> 
    692815    <!--@VALUE--> 
    693816 
     
    698821<!ELEMENT parentLocale EMPTY > 
    699822<!ATTLIST parentLocale parent NMTOKEN #REQUIRED > 
     823        <!--@MATCH:validity/locale--> 
    700824<!ATTLIST parentLocale locales NMTOKENS #REQUIRED > 
     825        <!--@MATCH:set/validity/locale--> 
    701826    <!--@VALUE--> 
    702827 
     
    705830<!ELEMENT likelySubtag EMPTY > 
    706831<!ATTLIST likelySubtag from NMTOKEN #REQUIRED > 
     832        <!--@MATCH:validity/locale--> 
    707833<!ATTLIST likelySubtag to NMTOKEN #REQUIRED > 
     834        <!--@MATCH:validity/locale--> 
    708835    <!--@VALUE--> 
    709836 
     
    712839<!ELEMENT timezone ( usesMetazone* ) > 
    713840<!ATTLIST timezone type CDATA #REQUIRED > 
    714  
     841        <!--@MATCH:bcp47/tz--> 
    715842<!ELEMENT usesMetazone EMPTY > 
    716843<!ATTLIST usesMetazone from CDATA #IMPLIED > 
     844        <!--@MATCH:time/yyyy-MM-dd HH:mm--> 
    717845<!ATTLIST usesMetazone to CDATA #IMPLIED > 
     846        <!--@MATCH:time/yyyy-MM-dd HH:mm--> 
    718847<!ATTLIST usesMetazone mzone NMTOKEN #REQUIRED > 
     848        <!--@MATCH:metazone--> 
    719849    <!--@VALUE--> 
    720850 
     
    730860<!ELEMENT pluralRules ( pluralRule* ) > 
    731861<!ATTLIST pluralRules locales NMTOKENS #REQUIRED > 
     862        <!--@MATCH:set/validity/locale--> 
    732863<!ATTLIST pluralRules draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    733864    <!--@METADATA--> 
     
    747878<!ELEMENT pluralRanges ( pluralRange* ) > 
    748879<!ATTLIST pluralRanges locales NMTOKENS #REQUIRED > 
     880        <!--@MATCH:set/validity/locale--> 
    749881<!ATTLIST pluralRanges draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    750882    <!--@METADATA--> 
     
    767899 
    768900<!ELEMENT telephoneCodeData ( codesByTerritory* ) > 
     901    <!--@DEPRECATED--> 
    769902 
    770903<!ELEMENT codesByTerritory ( telephoneCountryCode+ ) > 
     904    <!--@DEPRECATED--> 
    771905<!ATTLIST codesByTerritory territory NMTOKEN #REQUIRED > 
     906    <!--@DEPRECATED--> 
    772907<!ATTLIST codesByTerritory draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    773908    <!--@METADATA--> 
     
    775910<!ATTLIST codesByTerritory references CDATA #IMPLIED > 
    776911    <!--@METADATA--> 
     912    <!--@DEPRECATED--> 
    777913 
    778914<!ELEMENT telephoneCountryCode EMPTY > 
     915    <!--@DEPRECATED--> 
    779916<!ATTLIST telephoneCountryCode code NMTOKEN #REQUIRED > 
     917    <!--@DEPRECATED--> 
    780918<!ATTLIST telephoneCountryCode from NMTOKEN #IMPLIED > 
    781919    <!--@VALUE--> 
     920    <!--@DEPRECATED--> 
    782921<!ATTLIST telephoneCountryCode to NMTOKEN #IMPLIED > 
    783922    <!--@VALUE--> 
     923    <!--@DEPRECATED--> 
    784924<!ATTLIST telephoneCountryCode draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
    785925    <!--@METADATA--> 
    786     <!--@DEPRECATED:true, false--> 
     926    <!--@DEPRECATED--> 
    787927<!ATTLIST telephoneCountryCode references CDATA #IMPLIED > 
    788928    <!--@METADATA--> 
     929    <!--@DEPRECATED--> 
    789930<!ATTLIST telephoneCountryCode alt NMTOKENS #IMPLIED > 
     931    <!--@MATCH:literal/variant--> 
     932    <!--@DEPRECATED--> 
    790933 
    791934<!ELEMENT numberingSystems ( numberingSystem* ) > 
     
    795938    <!--@VALUE--> 
    796939<!ATTLIST numberingSystem id NMTOKEN #REQUIRED > 
     940        <!--@MATCH:bcp47/nu--> 
    797941<!ATTLIST numberingSystem radix NMTOKEN #IMPLIED > 
    798942    <!--@VALUE--> 
    799943<!ATTLIST numberingSystem digits CDATA #IMPLIED > 
     944        <!--@MATCH:unicodeset/[\p{Nd}[\u3007\u4E00\u4E03\u4E09\u4E5D\u4E8C\u4E94\u516B\u516D\u56DB][\U0001E140-\U0001E149][\U0001E2F0-\U0001E2F9]]--> 
    800945    <!--@VALUE--> 
    801946<!ATTLIST numberingSystem rules CDATA #IMPLIED > 
     947        <!--@MATCH:any--> 
    802948    <!--@VALUE--> 
    803949<!ATTLIST numberingSystem draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
     
    838984<!ATTLIST personList type (neutral | mixedNeutral | maleTaints) #REQUIRED > 
    839985<!ATTLIST personList locales NMTOKENS #REQUIRED > 
     986        <!--@MATCH:set/validity/locale--> 
    840987    <!--@VALUE--> 
    841988 
     
    846993    <!--@METADATA--> 
    847994<!ATTLIST reference type NMTOKEN #REQUIRED > 
     995        <!--@MATCH:any--> 
    848996<!ATTLIST reference uri CDATA #IMPLIED > 
     997        <!--@MATCH:any--> 
    849998    <!--@VALUE--> 
    850999<!ATTLIST reference draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED > 
     
    8551004    <!--@DEPRECATED--> 
    8561005<!ATTLIST reference alt NMTOKENS #IMPLIED > 
     1006    <!--@MATCH:literal/variant--> 
    8571007 
    8581008<!ELEMENT languageMatching ( languageMatches* ) > 
     
    8601010<!ELEMENT languageMatches ( paradigmLocales*, matchVariable*, languageMatch* ) > 
    8611011<!ATTLIST languageMatches type NMTOKEN #REQUIRED > 
     1012        <!--@MATCH:literal/written, written_new--> 
    8621013 
    8631014<!ELEMENT paradigmLocales EMPTY > 
    8641015<!ATTLIST paradigmLocales locales NMTOKENS #REQUIRED > 
     1016        <!--@MATCH:set/validity/locale--> 
    8651017    <!--@VALUE--> 
    8661018 
    8671019<!ELEMENT matchVariable EMPTY > 
    8681020<!ATTLIST matchVariable id CDATA #REQUIRED > 
     1021        <!--@MATCH:regex/\$[a-zA-Z0-9_]+--> 
    8691022<!ATTLIST matchVariable value CDATA #REQUIRED > 
     1023        <!--@MATCH:any--> 
    8701024    <!--@VALUE--> 
    8711025 
     
    8731027    <!--@ORDERED--> 
    8741028<!ATTLIST languageMatch desired CDATA #REQUIRED > 
     1029        <!--@MATCH:any/TODO--> 
    8751030<!ATTLIST languageMatch supported CDATA #REQUIRED > 
     1031        <!--@MATCH:any/TODO--> 
    8761032<!ATTLIST languageMatch percent NMTOKEN #IMPLIED > 
     1033        <!--@MATCH:range/0~100--> 
    8771034    <!--@VALUE--> 
    8781035<!ATTLIST languageMatch distance NMTOKEN #IMPLIED > 
     1036        <!--@MATCH:range/0~100--> 
    8791037    <!--@VALUE--> 
    8801038<!ATTLIST languageMatch oneway (true | false) #IMPLIED > 
     
    8851043<!ELEMENT dayPeriodRuleSet ( dayPeriodRules* ) > 
    8861044<!ATTLIST dayPeriodRuleSet type NMTOKEN #IMPLIED > 
     1045        <!--@MATCH:literal/selection--> 
    8871046<!ATTLIST dayPeriodRuleSet draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    8881047    <!--@METADATA--> 
     
    8931052<!ELEMENT dayPeriodRules ( dayPeriodRule* ) > 
    8941053<!ATTLIST dayPeriodRules locales NMTOKENS #REQUIRED > 
     1054        <!--@MATCH:set/validity/locale--> 
    8951055<!ATTLIST dayPeriodRules draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    8961056    <!--@METADATA--> 
     
    9011061<!ELEMENT dayPeriodRule EMPTY > 
    9021062<!ATTLIST dayPeriodRule type NMTOKEN #REQUIRED > 
     1063        <!--@MATCH:literal/afternoon1, afternoon2, am, evening1, evening2, midnight, morning1, morning2, night1, night2, noon, pm--> 
    9031064<!ATTLIST dayPeriodRule at NMTOKEN #IMPLIED > 
     1065        <!--@MATCH:time/HH:mm--> 
    9041066    <!--@VALUE--> 
    9051067<!ATTLIST dayPeriodRule after NMTOKEN #IMPLIED > 
     1068        <!--@MATCH:time/HH:mm--> 
    9061069    <!--@VALUE--> 
    9071070    <!--@DEPRECATED--> 
    9081071<!ATTLIST dayPeriodRule before NMTOKEN #IMPLIED > 
     1072        <!--@MATCH:time/HH:mm--> 
    9091073    <!--@VALUE--> 
    9101074<!ATTLIST dayPeriodRule from NMTOKEN #IMPLIED > 
     1075        <!--@MATCH:time/HH:mm--> 
    9111076    <!--@VALUE--> 
    9121077<!ATTLIST dayPeriodRule to NMTOKEN #IMPLIED > 
     1078        <!--@MATCH:time/HH:mm--> 
    9131079    <!--@VALUE--> 
    9141080    <!--@DEPRECATED--> 
     
    9241090<!ELEMENT primaryZone ( #PCDATA ) > 
    9251091<!ATTLIST primaryZone iso3166 NMTOKEN #REQUIRED > 
     1092        <!--@MATCH:validity/region--> 
    9261093 
    9271094<!-- # Time Zones --> 
     
    9381105<!ELEMENT approvalRequirement EMPTY > 
    9391106<!ATTLIST approvalRequirement votes CDATA #REQUIRED > 
     1107        <!--@MATCH:any--> 
    9401108    <!--@VALUE--> 
    9411109<!ATTLIST approvalRequirement locales CDATA #REQUIRED > 
     1110        <!--@MATCH:any--> 
    9421111<!ATTLIST approvalRequirement paths CDATA #REQUIRED > 
     1112        <!--@MATCH:any--> 
    9431113 
    9441114<!ELEMENT coverageVariable EMPTY > 
    9451115    <!--@ORDERED--> 
    9461116<!ATTLIST coverageVariable key CDATA #REQUIRED > 
     1117        <!--@MATCH:any--> 
    9471118<!ATTLIST coverageVariable value CDATA #REQUIRED > 
     1119        <!--@MATCH:any--> 
    9481120    <!--@VALUE--> 
    9491121 
     
    9511123    <!--@ORDERED--> 
    9521124<!ATTLIST coverageLevel inLanguage CDATA #IMPLIED > 
     1125        <!--@MATCH:any--> 
    9531126<!ATTLIST coverageLevel inScript CDATA #IMPLIED > 
     1127        <!--@MATCH:validity/script--> 
    9541128<!ATTLIST coverageLevel inTerritory CDATA #IMPLIED > 
     1129        <!--@MATCH:any--> 
    9551130<!ATTLIST coverageLevel value CDATA #REQUIRED > 
     1131        <!--@MATCH:literal/basic, core, minimal, moderate, modern, posix--> 
    9561132    <!--@VALUE--> 
    9571133<!ATTLIST coverageLevel match CDATA #REQUIRED > 
     1134        <!--@MATCH:any--> 
    9581135 
    9591136<!ELEMENT idValidity ( id* ) > 
     
    9611138<!ELEMENT id ( #PCDATA ) > 
    9621139<!ATTLIST id type NMTOKEN #REQUIRED > 
     1140        <!--@MATCH:literal/currency, language, region, script, subdivision, unit, variant--> 
    9631141<!ATTLIST id idStatus NMTOKEN #REQUIRED > 
     1142        <!--@MATCH:literal/deprecated, macroregion, private_use, regular, reserved, special, unknown--> 
    9641143 
    9651144<!ELEMENT rgScope ( rgPath* ) > 
     
    9671146<!ELEMENT rgPath EMPTY > 
    9681147<!ATTLIST rgPath path CDATA #REQUIRED > 
     1148        <!--@MATCH:any--> 
    9691149<!ATTLIST rgPath draft (approved | contributed | provisional | unconfirmed) #IMPLIED > 
    9701150    <!--@METADATA--> 
     1151 
     1152<!ELEMENT languageGroups ( languageGroup* ) > 
     1153 
     1154<!ELEMENT languageGroup ( #PCDATA ) > 
     1155<!ATTLIST languageGroup parent NMTOKEN #REQUIRED > 
     1156        <!--@MATCH:validity/language--> 
Note: See TracChangeset for help on using the changeset viewer.