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

CLDR Ticket #6617(closed task: fixed)

Opened 23 months ago

Last modified 22 months ago

Document DTD changes: make changes/file tickets, update release note

Reported by: mark Owned by: pedberg
Component: xxx-spec Data Locale:
Phase: Review: emmons
Weeks: Data Xpath:
Xref:

ticket:6657

ticket:6658

ticket:6659

ticket:6660

ticket:6661

ticket:6688

Description

Here are the main DTD changes (excluding supplemental, collation,...)

<!ATTLIST ellipsis type ( initial | medial | final ) #IMPLIED >
=>
<!ATTLIST ellipsis type ( initial | medial | final | word-initial | word-medial | word-final ) #IMPLIED >


<!ELEMENT fallbackRegionFormat ( #PCDATA ) >
=>
<!ELEMENT fallbackRegionFormat ( #PCDATA ) > <!-- deprecated -->


<!ATTLIST regionFormat type ( standard | daylight ) #IMPLIED >


<!ELEMENT field ( alias | (displayName*, relative*, special*)) >
<!ATTLIST field type ( era | year | month | week | day | weekday | dayperiod | hour | minute | second | zone ) #IMPLIED >
=>
<!ELEMENT field ( alias | (displayName*, relative*, relativeTime*, special*)) >
<!ATTLIST field type ( era | year | month | week | day | weekday | sun | mon | tue | wed | thu | fri | sat | dayperiod | hour | minute | second | zone ) #IMPLIED >

<!ELEMENT relativeTime ( alias | (relativeTimePattern*, special*)) >
<!ATTLIST relativeTime type NMTOKEN #REQUIRED >
<!ATTLIST relativeTime draft ( approved | contributed | provisional | unconfirmed | true | false ) #IMPLIED > <!-- true and false are deprecated. -->
<!ATTLIST relativeTime references CDATA #IMPLIED >
<!ATTLIST relativeTime alt NMTOKENS #IMPLIED >
<!ATTLIST relativeTime validSubLocales CDATA #IMPLIED >

<!ELEMENT relativeTimePattern ( #PCDATA ) >
<!ATTLIST relativeTimePattern count ( zero | one | two | few | many | other ) #REQUIRED >
<!ATTLIST relativeTimePattern draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST relativeTimePattern references CDATA #IMPLIED >
<!ATTLIST relativeTimePattern alt NMTOKENS #IMPLIED >
<!ATTLIST relativeTimePattern validSubLocales CDATA #IMPLIED >



<!ELEMENT numbers (alias | (defaultNumberingSystem*, otherNumberingSystems*, symbols*, decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, special*)) >
=>
<!ELEMENT numbers (alias | (defaultNumberingSystem*, otherNumberingSystems*, symbols*, decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, miscPatterns*, special*)) >

<!ELEMENT miscPatterns (alias | (default*, pattern*, special*)) >
<!ATTLIST miscPatterns draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST miscPatterns numberSystem CDATA #IMPLIED >


<!ELEMENT symbols (alias | (decimal*, group*, list*, percentSign*, nativeZeroDigit*, patternDigit*, plusSign*, minusSign*, exponential*, perMille*, infinity*, nan*, currencyDecimal*, currencyGroup*, special*)) >
=>
<!ELEMENT symbols (alias | (decimal*, group*, list*, percentSign*, nativeZeroDigit*, patternDigit*, plusSign*, minusSign*, exponential*, superscriptingExponent*, perMille*, infinity*, nan*, currencyDecimal*, currencyGroup*, special*)) >

<!ELEMENT superscriptingExponent ( #PCDATA ) >
<!ATTLIST superscriptingExponent references CDATA #IMPLIED >
<!ATTLIST superscriptingExponent draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST superscriptingExponent alt NMTOKENS #IMPLIED >


<!ELEMENT units (alias | (unit*, special*)) >
=>
<!ELEMENT units (alias | (unit*, unitLength*, durationUnit*, special*)) >

<!ELEMENT unitLength (alias | (compoundUnit*, unit*, special*)) >
<!ATTLIST unitLength type ( long | short | narrow ) #REQUIRED >
<!ATTLIST unitLength draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST unitLength references CDATA #IMPLIED >
<!ATTLIST unitLength alt NMTOKENS #IMPLIED >
<!ATTLIST unitLength validSubLocales CDATA #IMPLIED >

<!ELEMENT compoundUnit (alias | (compoundUnitPattern*, special*)) >
<!ATTLIST compoundUnit type NMTOKEN #REQUIRED >
<!ATTLIST compoundUnit draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST compoundUnit references CDATA #IMPLIED >
<!ATTLIST compoundUnit alt NMTOKENS #IMPLIED >
<!ATTLIST compoundUnit validSubLocales CDATA #IMPLIED >

<!ELEMENT compoundUnitPattern ( #PCDATA ) >
<!ATTLIST compoundUnitPattern draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST compoundUnitPattern references CDATA #IMPLIED >
<!ATTLIST compoundUnitPattern alt NMTOKENS #IMPLIED >
<!ATTLIST compoundUnitPattern validSubLocales CDATA #IMPLIED >

<!ELEMENT durationUnit (alias | (durationUnitPattern*, special*)) >
<!ATTLIST durationUnit type NMTOKEN #REQUIRED >
<!ATTLIST durationUnit draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST durationUnit references CDATA #IMPLIED >
<!ATTLIST durationUnit alt NMTOKENS #IMPLIED >

<!ELEMENT durationUnitPattern ( #PCDATA ) >
<!ATTLIST durationUnitPattern draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >
<!ATTLIST durationUnitPattern references CDATA #IMPLIED >
<!ATTLIST durationUnitPattern alt NMTOKENS #IMPLIED >
<!ATTLIST durationUnitPattern validSubLocales CDATA #IMPLIED >



<!ATTLIST listPattern type NMTOKEN #IMPLIED >


<!ELEMENT segmentation ( alias | (variables?, segmentRules?) | special*) >
=>
<!ELEMENT segmentation ( alias | (variables?, segmentRules?, exceptions?) | special*) >
<!ELEMENT exceptions ( exception* ) >

<!ELEMENT exception ( #PCDATA ) >
<!ATTLIST exception draft ( approved | contributed | provisional | unconfirmed ) #IMPLIED >

<!ATTLIST casingItem override (true | false) #IMPLIED >

collation {{{
TBD
}}}

bcp47

<!ATTLIST key preferred NMTOKEN #IMPLIED>
<!ATTLIST type preferred NMTOKEN #IMPLIED>
<!ATTLIST attribute preferred NMTOKEN #IMPLIED>

supplemental

<!ATTLIST info cashDigits NMTOKEN #IMPLIED >

<!ATTLIST pluralRule count (zero | one | two | few | many | other) #REQUIRED > <!-- 'other' is implicitly everything else -->

<!ELEMENT timezoneData ( mapTimezones*, zoneFormatting* ) >
{{{
}}}

Attachments

Change History

comment:1 Changed 23 months ago by mark

Also document on the release page the following changes:

Territory names with brackets:

We are now using (...) instead of [...]. We need to check the ICU API for constructing locale names, and make sure that when we construct a locale with a region inside of parens, that we restore them. That is, the goal was to have the stand-alone region names have (...), but the constructed locale names to remain [...], eg English (Cocos [Keeling] Islands)

<territory type="CC">Cocos (Keeling) Islands</territory>

Relative future/past (was in previous versions, but different CLDR paths)

<relativeTime type="future">

<relativeTimePattern count="one">In {0} year</relativeTimePattern>
<relativeTimePattern count="other">In {0} years</relativeTimePattern>

</relativeTime>
<relativeTime type="past">

<relativeTimePattern count="one">{0} year ago</relativeTimePattern>
<relativeTimePattern count="other">{0} years ago</relativeTimePattern>

</relativeTime>

Compound pattern (not sure if you tested this)

<unitLength type="long">

<compoundUnit type="per">
<compoundUnitPattern>{0} per {1}</compoundUnitPattern>

</compoundUnit>

Unit list patterns

<listPattern type="unit">

<alias source="locale" path="../listPattern[@type='unit-short']"/>

</listPattern>
<listPattern type="unit-narrow">

<alias source="locale" path="../listPattern[@type='unit-short']"/>

</listPattern>
<listPattern type="unit-short">

<alias source="locale" path="../listPattern"/>

</listPattern>

More truncation forms

<ellipsis type="word-final">{0} …</ellipsis>
<ellipsis type="word-initial">… {0}</ellipsis>
<ellipsis type="word-medial">{0}{1}</ellipsis>

Changing format:
<localeSeparator>, </localeSeparator>
=>
<localeSeparator>{0}, {1}</localeSeparator>

More combination languages

<language type="en_GB" alt="short">U.K. English</language>
<language type="en_US">American English</language>
<language type="en_US" alt="short">U.S. English</language>
<language type="es_MX">Mexican Spanish</language>

More standard date/time patterns

<dateFormatItem id="Ehm">E h:mm a</dateFormatItem>
<dateFormatItem id="EHm">E HH:mm</dateFormatItem>
<dateFormatItem id="Ehms">E h:mm:ss a</dateFormatItem>
<dateFormatItem id="EHms">E HH:mm:ss</dateFormatItem>

Root

Default month names

<month type="1">M01</month>

Number format (this was a surprise to me that we changed in root, not just in BIDI locales!)

<plusSign>‏+</plusSign><!-- includes RLM before sign -->
<minusSign>‏-</minusSign><!-- includes RLM before sign (002D) -->

Narrow currency symbols

<currency type="ARS">

<symbol alt="narrow">$</symbol>

</currency>

Last edited 23 months ago by mark (previous) (diff)

comment:2 Changed 23 months ago by emmons

  • Status changed from new to assigned
  • Component changed from unknown to spec
  • Priority changed from assess to major
  • Milestone changed from UNSCH to 24final
  • Owner changed from anybody to pedberg
  • Type changed from unknown to task

comment:3 Changed 23 months ago by srl

segmentation…exceptions already in the spec

comment:4 Changed 22 months ago by pedberg

  • Cc mark, emmons added
  • Status changed from assigned to accepted
  • Xref set to 6657, 6658, 6659, 6660, 6661

OK, here is a list of DTD changes (including supplemental, collation, etc.) organized by TR35 section, what has been done on them so far, and tickets filed for the remaining work:

1. Main doc

  • For section 3.7 we have added a preferred attribute to the BCP47 key, type, and attribute elements. I have updated the DTD fragments but the attribute needs a description, filed cldrbug 6657: for that task.
    +   <!ATTLIST key preferred NMTOKEN #IMPLIED> 
    
    +   <!ATTLIST type preferred NMTOKEN #IMPLIED> 
    
    +   <!ATTLIST attribute preferred NMTOKEN #IMPLIED> 
    
  • I also moved information on most deprecated date elements from TR35 part 4 to the Deprecated Structure section here,
  • This is also where we need to put change notes for all spec sections.

2. TR35-general

  • For section 3.4 we have added type attibute values for the ellipsis element. DTD fragments updated but needs explanation, filed cldrbug 6658: for that task.
        <!ATTLIST ellipsis type ( initial | medial | final | word-initial | word-medial | word-final ) #IMPLIED >
    +   added word-initial, word-medial, word-final
    
  • Section 6 is where we need to document the major changes for <units>. DTD fragments updated but needs explanation, filed cldrbug 6659: for that task.
        <!ELEMENT units (alias | (unit*, unitLength*, durationUnit*, special*)) >
    +   add unitLength, durationUnit
    
    +   <!ELEMENT unitLength (alias | (compoundUnit*, unit*, special*)) > 
    +   <!ATTLIST unitLength type ( long | short | narrow ) #REQUIRED > 
    
    +   <!ELEMENT compoundUnit (alias | (compoundUnitPattern*, special*)) > 
    +   <!ATTLIST compoundUnit type NMTOKEN #REQUIRED > 
    
    +   <!ELEMENT durationUnit (alias | (durationUnitPattern*, special*)) > 
    +   <!ATTLIST durationUnit type NMTOKEN #REQUIRED > 
    
    +   <!ELEMENT compoundUnitPattern ( #PCDATA ) > 
    
    +   <!ELEMENT durationUnitPattern ( #PCDATA ) > 
    
  • Section 9.1 already documented the new segmentation exceptions (thanks Steven); I added relevant DTD fragments in section 9. Nothing more needs to be done.
        <!ELEMENT segmentation ( alias | (variables?, segmentRules?, exceptions?) | special*) >
    +   added exceptions
    
    +   <!ELEMENT exceptions ( exception* ) > 
    +   <!ELEMENT exception ( #PCDATA ) > 
    

3. TR35-numbers

  • This has a bunch of miscellaneous changes. I updated the DTD fragments for all, but they need explanation; filed a single cldrbug 6660: for all of them.
  • For section 2.3, change in ldml.dtd
        <!ELEMENT symbols (alias | (decimal*, group*, list*, percentSign*, nativeZeroDigit*,
        patternDigit*, plusSign*, minusSign*, exponential*, superscriptingExponent*,
        perMille*, infinity*, nan*, currencyDecimal*, currencyGroup*, special*)) >
    +   add superscriptingExponent
    
    +   <!ELEMENT superscriptingExponent ( #PCDATA ) > 
    
  • For new section 2.5, change in ldml.dtd
        <!ELEMENT numbers (alias | (defaultNumberingSystem*, otherNumberingSystems*, symbols*,
        decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?,
        miscPatterns*, special*)) >
    +   add miscPatterns
    
    +   <!ELEMENT miscPatterns (alias | (default*, pattern*, special*)) > <!-- default element is deprecated --> 
    +   <!ATTLIST miscPatterns numberSystem CDATA #IMPLIED > 
    
  • For section 4.1, change in= ldmlSupplemental.dtd (there is also a separate old ticket cldrbug 5826: for this)
    +   <!ATTLIST info cashDigits NMTOKEN #IMPLIED >
    
  • For section 5, change in ldmlSupplemental.dtd
        <!ATTLIST pluralRule count (zero | one | two | few | many | other) #REQUIRED >
    +   added "other"
    

4. TR35-dates

  • For this I have already rolled in at least minimal documentation for all of the DTD changes:
    +   <!ATTLIST regionFormat type ( standard | daylight ) #IMPLIED > 
    
    	<!ELEMENT field ( alias | (displayName*, relative*, relativeTime*, special*)) >
    +   add relativeTime
    	<!ATTLIST field type ( era | year | month | week | day | weekday | sun | ... | sat |
    	dayperiod | hour | minute | second | zone ) #IMPLIED >
    +   add sun...sat
    
    +   <!ELEMENT relativeTime ( alias | (relativeTimePattern*, special*)) > 
    +   <!ATTLIST relativeTime type NMTOKEN #REQUIRED > 
    
    +   <!ELEMENT relativeTimePattern ( #PCDATA ) > 
    +   <!ATTLIST relativeTimePattern count ( zero | one | two | few | many | other ) #REQUIRED > 
    
  • I also moved documentation for most deprecated items to the Deprecated Structure section of the main TR35 document (partly addressing cldrbug 5802:)

5. TR35-collation

  • The documentation had already been updated (thanks Markus) to match all of the DTD changes:
        <!ELEMENT default (special*) >
    -   now deprecated for collation too (the last user of it)
    	
        <!ELEMENT collations (alias | (defaultCollation?, default*, collation*, special*)) >
    +   added defaultCollation
    
    +   <!ELEMENT defaultCollation ( #PCDATA ) > 
    
        <!ELEMENT collation (alias | (base?, import*, settings?, suppress_contractions?, optimize?, (cr* | rules?), special*)) >
    +   add import at this level (was previously only under rules)
    +   add cr
    +   deprecate base, rules
    	
    +   <!ELEMENT cr ( #PCDATA )> 
    
    -   <!ELEMENT rules (alias | ( ( reset | import ), ( reset | import | p | pc |  s | sc |
        t | tc | q | qc | i | ic | x)* ))
    (deprecated <rules> and its subelements, except that <import> moves up to <collation>)
    

6. TR35-info

  • In section 10, need to document the new "override" attribute for <casingItem>. Filed cldrbug 6661: for that.
    +   <!ATTLIST casingItem override (true | false) #IMPLIED >
    
Last edited 22 months ago by pedberg (previous) (diff)

comment:5 Changed 22 months ago by pedberg

  • Summary changed from Document DTD changes to Document DTD changes: make changes/file tickets, update release note

comment:6 Changed 22 months ago by pedberg

  • Xref changed from 6657, 6658, 6659, 6660, 6661 to 6657, 6658, 6659, 6660, 6661, 6688
  • Review set to emmons

I have split the part of this about release note changes (comment:1) into a separate bug cldrbug 6688: so this is now just about the spec changes and filing of new tickets, which are done. Moving to review...

comment:7 Changed 22 months ago by emmons

  • Status changed from accepted to closed
  • Resolution set to fixed
View

Add a comment

Modify Ticket

Action
as closed
The ticket will be disowned. The resolution will be deleted. Next status will be 'new'
Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.