Subdivision syntax

Description

We're planning on adding the subdivision codes ().

In so doing, we should also make the following changes:

1. In http://unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers

define the following:

unicode_subdivision_subtag = alphanum{1,3} ; 1*3alphanum

Add some text to indicate that the valid codes based on those listed in <subdivisionContainment>. That is, a subdivision in a locale tag is valid iff there is some group element in a subdivisionContainment element such that:

  • the type value is the unicode_region_subtag for the tag.

  • the contains value (a space-delimited set) contains unicode_region_subtag + "-" + subdivision.

2. add a bcp47 entry

<keyword>
<key name="sd" description="Region subdivision">
<type name="SUBDIVISION_CODE" description="Valid subdivision code for the region subtag, based on subdivisionContainment data in supplementalData, as described in LDML."/>
</key>
</keyword>

We will need to make one adjustment. The value of a key must be 3 characters or more. I suggest that we prefix any 1 or 2 letter subdivision code with "xxx". Then the codes are 3..5 in length, and anything 4 or 5 letters long just removes the xxx.

3. In the future—but only when it becomes necessary:

a. In the DTD for <subdivisionContainment><group>, add an attribute status with value "deprecated"

<group type="US" category="state"contains="CA" status="deprecated"/>

b. Add a child of <alias> for deprecated subdivision codes, eg.

<subdivision Alias territory="US" type="CA" replacement="OR" reason="deprecated"/> <!-- California -->

This will take an attribute that we don't need for languageAlias, etc.: territory=...

xpath

None

locale

None

Status

Priority

major

Assignee

Mark Davis

Reporter

Mark Davis

tracReporter

mark

Reviewer

Peter Edberg

Labels

None

Components

Fix versions

phase

final
Configure