Skip to content

Commit

Permalink
CLDR-17145 v44: link fix for specs (#3363)
Browse files Browse the repository at this point in the history
  • Loading branch information
srl295 authored Oct 25, 2023
1 parent e42c80c commit bbb69f5
Show file tree
Hide file tree
Showing 10 changed files with 36 additions and 40 deletions.
1 change: 1 addition & 0 deletions docs/ldml/tr35-dates.anchors.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
"elements-months-days-quarters-eras",
"eras",
"fallbackFormat",
"first-day-overrides",
"Fixed_periods",
"fixed-periods",
"goals",
Expand Down
3 changes: 3 additions & 0 deletions docs/ldml/tr35-general.anchors.json
Original file line number Diff line number Diff line change
Expand Up @@ -132,17 +132,20 @@
"Transform_Rules_Syntax",
"transform-rules",
"transform-rules-syntax",
"transform-syntax-characters",
"transforms",
"Transforms",
"Typographic_Names",
"typographic-names",
"unicode-locale-data-markup-language-ldmlpart-2-general",
"unicode-technical-standard-35",
"Unit_Elements",
"Unit_Identifier_Uniqueness",
"Unit_Identifiers",
"Unit_Preference_and_Conversion",
"Unit_Sequences",
"unit-elements",
"unit-identifier-uniqueness",
"unit-identifiers",
"unit-preference-and-conversion-data",
"unit-sequences-mixed-units",
Expand Down
11 changes: 6 additions & 5 deletions docs/ldml/tr35-general.md
Original file line number Diff line number Diff line change
Expand Up @@ -1003,7 +1003,7 @@ Some of the constraints reference data from the unitIdComponents in [Unit_Conver
or <unitIdComponent type="per">.
</li>
<li><em>Constraint:</em> must not have a prefix as an initial segment.</li>
<li><em>Constraint:</em> no two different base_components will share the first 8 letters.
<li><em>Constraint:</em> no two different base_components will share the first 8 letters.
(<b>For more information, see <a href="#Unit_Identifier_Uniqueness">Unit Identifier Uniqueness</a>.)</b>
</li>
</ul>
Expand Down Expand Up @@ -1214,7 +1214,8 @@ For temperature, there is a special unit `<unit type="temperature-generic">`, wh
For duration, there are special units such as `<unit type="duration-year-person">` and `<unit type="duration-year-week">` for indicating the age of a person, which requires special forms in some languages. For example, in "zh", references to a person being 3 days old or 30 years old would use the forms “他3天大” and “他30岁” respectively.

<a name="compoundUnitPattern"></a><a name="perUnitPatterns"></a>
### <a name="compound-units" href="#compound-units">Compound Units</a>

### Compound Units

A common combination of units is X per Y, such as _miles per hour_ or _liters per second_ or _kilowatt-hours_.

Expand Down Expand Up @@ -1848,7 +1849,7 @@ If the direction is `forward`, then an ID is composed from `target + "-" + sourc

The `visibility` attribute indicates whether the IDs should be externally visible, or whether they are only used internally.

Note: In CLDR v28 and before, the rules were expressed as fine-grained XML.
Note: In CLDR v28 and before, the rules were expressed as fine-grained XML.
That was discarded in CLDR version 29, in favor of a simpler format where the separate rules are simply terminated with ";".

The transform rules are similar to regular-expression substitutions, but adapted to the specific domain of text transformations. The rules and comments in this discussion will be intermixed, with # marking the comments. The simplest rule is a conversion rule, which replaces one string of characters with another. The conversion rule takes the following form:
Expand Down Expand Up @@ -2158,7 +2159,7 @@ Conversion rules can be forward, backward, or double. The complete conversion ru
> b | c ← e { f g } h ;
> ```
The `completed_result` | `result_to_revisit` is also known as the `resulting_text`. Either or both of the values can be empty. For example, the following removes any a, b, or c.
The `completed_result` | `result_to_revisit` is also known as the `resulting_text`. Either or both of the values can be empty. For example, the following removes any a, b, or c.
```
[a-c] → ;
Expand Down Expand Up @@ -2291,7 +2292,7 @@ Because the order of rules matters, the following will not work as expected
c → s;
ch → kh;
```
The second rule can never execute, because it is "masked" by the first.
The second rule can never execute, because it is "masked" by the first.
To help prevent errors, implementations should try to alert readers when this occurs, eg:
```
Rule {c > s;} masks {ch > kh;}
Expand Down
3 changes: 3 additions & 0 deletions docs/ldml/tr35-info.anchors.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"Contents",
"contents-of-part-6-supplemental",
"conversion-data",
"conversion-mechanisms",
"Coverage_Level_Data_Requirements",
"Coverage_Level_Default_Values",
"Coverage_Level_Definitions",
Expand All @@ -18,6 +19,7 @@
"default-content",
"default-values",
"definitions",
"derived-unit-system",
"discarding-offsets",
"duplicate-units",
"exceptional-cases",
Expand Down Expand Up @@ -77,6 +79,7 @@
"Unit_Identifier_Normalization",
"Unit_Preferences",
"Unit_Preferences_Data",
"Unit_Preferences_Overrides",
"unit-conversion",
"unit-identifier-normalization",
"unit-parsing-data",
Expand Down
8 changes: 4 additions & 4 deletions docs/ldml/tr35-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ The LDML specification is divided into the following parts:
* [Mixed Units](#mixed-units)
* [Testing](#testing)
* [Unit Preferences](#Unit_Preferences)
* [Unit Preferences Overrides](#Unit_Preferences_Data)
* [Unit Preferences Overrides](#Unit_Preferences_Overrides)
* [Unit Preferences Data](#Unit_Preferences_Data)
* [Constraints](#constraints)
* [Caveats](#caveats)
Expand Down Expand Up @@ -930,9 +930,9 @@ The systems attributes also apply to compound units, and are computed in the fol
1. The intersection of {… si …} and {… si_acceptable … } is {… si_acceptable …}
2. The intersection of {… metric …} and {… metric_adjacent … } is {… metric_adjacent …}

Examples:
Examples:
```
systems(liter-per-hectare)
systems(liter-per-hectare)
= {si_acceptable metric} ∪ {si_acceptable metric}
= {si_acceptable metric}
systems(meter-per-hectare)
Expand Down Expand Up @@ -1119,7 +1119,7 @@ The [unitsTest.txt](https://github.com/unicode-org/cldr/blob/main/common/testDat

Different locales have different preferences for which unit or combination of units is used for a particular usage, such as measuring a person’s height. This is more fine-grained than merely a preference for metric versus US or UK measurement systems. For example, one locale may use meters alone, while another may use centimeters alone or a combination of meters and centimeters; a third may use inches alone, or (informally) a combination of feet and inches.

### <a name="Unit_Preferences_Data" href="#Unit_Preferences_Data">Unit Preferences Overrides</a>
### <a name="Unit_Preferences_Overrides" href="#Unit_Preferences_Overrides">Unit Preferences Overrides</a>

The determination of preferred units depends on the locale identifer: the keys mu, ms, rg, their values, the base locale (language, script, region) and the user preferences data.

Expand Down
4 changes: 2 additions & 2 deletions docs/ldml/tr35-keyboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ For the full header, summary, and status, see [Part 1: Core](tr35.md).

> This is a technical preview of a future version of the LDML Part 7. See [_Status_](#status), below.
>
> There are breaking changes, see [Compatibility Notice](#Compatibility_Notice)
> There are breaking changes, see [Compatibility Notice](#compatibility-notice)
### _Summary_

Expand Down Expand Up @@ -173,7 +173,7 @@ Some non-goals (outside the scope of the format) currently are:
2. Unification of platform-specific virtual key and scan code mapping tables.
3. Unification of pre-existing platform layouts themselves (e.g. existing fr-azerty on platform a, b, c).
4. Support for prior (pre 3.0) CLDR keyboard files. See [Compatibility Notice](#compatibility-notice).
5. Run-time efficiency. [LDML is explicitly an interchange format](./tr35.md#Introduction), and so it is expected that data will be transformed to a more compact format for use by a keystroke processing engine.
5. Run-time efficiency. [LDML is explicitly an interchange format](tr35.md#Introduction), and so it is expected that data will be transformed to a more compact format for use by a keystroke processing engine.

<!-- 1. Display names or symbols for keycaps (eg, the German name for "Return"). If that were added to LDML, it would be in a different structure, outside the scope of this section.
2. Advanced IME features, handwriting recognition, etc.
Expand Down
2 changes: 1 addition & 1 deletion docs/ldml/tr35-numbers.md
Original file line number Diff line number Diff line change
Expand Up @@ -1292,7 +1292,7 @@ The `pluralRanges` element provides information allowing an implementation to de

The data has been gathered presuming that in any usage, the start value is strictly less than the end value, and that no values are negative. Results for any cases that do not meet these criteria are undefined.

For the formatting of number ranges, see <a name="Number_Range_Formatting" href="#Number_Range_Formatting">Number Range Formatting</a>.
For the formatting of number ranges, see <a href="#Number_Range_Formatting">Number Range Formatting</a>.

## <a name="Rule-Based_Number_Formatting" href="#Rule-Based_Number_Formatting">Rule-Based Number Formatting</a>

Expand Down
4 changes: 4 additions & 0 deletions docs/ldml/tr35-personNames.anchors.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
"formality",
"formatting-examples",
"formatting-process",
"future-modifiers",
"grammatical-modifiers-for-names",
"handle-core-and-prefix",
"handle-missing-surname",
"handling-foreign-names",
Expand All @@ -29,8 +31,10 @@
"modifiers",
"nameorderlocales-element",
"namepattern-syntax",
"nativespacereplacement-element",
"not-in-scope",
"order",
"parameterdefault-element",
"parts",
"person-name-attributes",
"person-name-formatting-overview",
Expand Down
28 changes: 6 additions & 22 deletions docs/ldml/tr35.anchors.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"attribute-type",
"attribute-value-constraints",
"Backslash_Escapes",
"backslash-escapes",
"BCP_47_Conformance",
"BCP_47_Language_Tag_Conversion",
"bcp-47-conformance",
Expand Down Expand Up @@ -103,7 +104,6 @@
"Currencies",
"CurrencyInfo",
"Data_Size",
"Data_Sources",
"data-size-reduction",
"DataFormats",
"Date_Elements",
Expand All @@ -129,25 +129,12 @@
"DTD_Annotations",
"dtd-annotations",
"DUCET",
"ebnf",
"Element_base",
"Element_cp",
"Element_default",
"Element_displayName",
"Element_generation",
"Element_hardwareMap",
"Element_Heirarchy_Layout_File",
"Element_Heirarchy_Platform_File",
"Element_Keyboard",
"Element_keyMap",
"Element_map",
"Element_name",
"Element_names",
"Element_platform",
"Element_rules",
"Element_settings",
"Element_transform",
"Element_transforms",
"Element_version",
"element-alias",
"element-displayname",
"element-special",
Expand All @@ -166,10 +153,8 @@
"FAQ",
"FCD",
"Field_Definitions",
"File_and_Dir_Structure",
"Format_Parse_Issues",
"Glossary",
"Goals_and_Nongoals",
"handling-invalid-patterns",
"Horizontal_Slicing",
"horizontal-slicing",
Expand All @@ -190,7 +175,6 @@
"introduction",
"Introduction",
"Invalid_Patterns",
"Invariants",
"ISO1000",
"ISO15924",
"ISO3166",
Expand All @@ -203,8 +187,6 @@
"Key_And_Type_Definitions_",
"Key_Type_Definitions",
"key-and-type-definitions",
"Keyboard_IDs",
"Keyboards",
"Keyword_and_Default_Resolution",
"keyword-and-default-resolution",
"Labels.txt",
Expand Down Expand Up @@ -293,12 +275,10 @@
"parts",
"Parts",
"Placing_Characters_Before_Others",
"Platform_Behaviors_in_Edge_Cases",
"POSIX_Elements",
"Postal_Code_Validation",
"postCodeElements",
"preprocessing",
"Principles_for_Keyboard_Ids",
"private_use",
"PRIVATE_USE",
"Private_Use_CLDR",
Expand Down Expand Up @@ -365,6 +345,7 @@
"Supplemental_Territory_Containment",
"Supplemental_Territory_Information",
"Supplemental_Timezone_Data",
"syntax-special-case-examples",
"t_Extension",
"t-extension-data-files",
"table-bcp-47-language-tag-to-unicode-bcp-47-locale-identifier-examples",
Expand Down Expand Up @@ -457,6 +438,7 @@
"UnicodeSentenceBreakSuppressionsIdentifier",
"UnicodeSet_Examples",
"unicodeset-examples",
"unicodeset-syntax",
"UnicodeSubdivisionIdentifier",
"UnicodeTimezoneIdentifier",
"UnicodeVariantIdentifier",
Expand All @@ -475,6 +457,8 @@
"Validity_Data",
"validity-data",
"validSubLocales",
"Variables_in_UnicodeSets",
"variables-in-unicodesets",
"Versions",
"Vertical_Slicing",
"vertical-slicing",
Expand Down
12 changes: 6 additions & 6 deletions docs/ldml/tr35.md
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,7 @@ The BCP 47 form for keys and types is the canonical form, and recommended. Other
in bcp47/<a href="https://github.com/unicode-org/cldr/blob/main/common/bcp47/calendar.xml" target="_blank">calendar.xml</a></b>.<br>
This selects calendar-specific data within a locale used for formatting and parsing, such as date/time symbols and patterns; it also selects supplemental
calendarData used for calendrical calculations.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first_day_overrides'>First Day Overrides</a>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first-day-overrides'>First Day Overrides</a>.
</td></tr>
<tr><td rowspan="10">"ca"<br>(calendar)</td>
<td rowspan="10">Calendar algorithm<br><br><i>(For information on the calendar algorithms associated with the data used with these, see [<a href="#Calendars">Calendars</a>].)</i></td>
Expand Down Expand Up @@ -820,7 +820,7 @@ The BCP 47 form for keys and types is the canonical form, and recommended. Other
week data for the region (see Part 4 Dates, <a href="tr35-dates.md#Week_Data">Week Data</a>).
The valid values are those <i>name</i> attribute values in the <i>type</i> elements
of key name="fw" in bcp47/<a href="https://github.com/unicode-org/cldr/blob/main/common/bcp47/calendar.xml" target="_blank">calendar.xml</a>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first_day_overrides'>First Day Overrides</a>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first-day-overrides'>First Day Overrides</a>.
</td></tr>
<tr><td rowspan="4">"fw"</td>
<td rowspan="4">First day of week</td>
Expand Down Expand Up @@ -934,7 +934,7 @@ The BCP 47 form for keys and types is the canonical form, and recommended. Other
<tr><td rowspan="2">"rg"</td>
<td rowspan="2">Region Override</td><td>"uszzzz"<br><br></td><td rowspan="2">The value is a <a href="#unicode_subdivision_id">unicode_subdivision_id</a> of type “unknown” or “regular”; this consists of a <a href="#unicode_region_subtag">unicode_region_subtag</a> for a regular region (not a macroregion), suffixed either by “zzzz” (case is not significant) to designate the region as a whole, or by a unicode_subdivision_suffix to provide more specificity. For example, “en-GB-u-rg-uszzzz” represents a locale for British English but with region-specific defaults set to US for items such as default currency, default calendar and week data, default time cycle, and default measurement system and unit preferences.
The determination of preferred units depends on the locale identifer: the keys ms, mu, rg, the base locale (language, script, region) and the user preferences.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first_day_overrides'>First Day Overrides</a>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first-day-overrides'>First Day Overrides</a>.
<i>For information about preferred units and unit conversion, see <a href="tr35-info.md#Unit_Conversion">Unit Conversion</a> and <a href="tr35-info.md#Unit_Preferences">Unit Preferences</a>.</i>
</td></tr>
<tr><td>…</td></tr>
Expand All @@ -944,7 +944,7 @@ The BCP 47 form for keys and types is the canonical form, and recommended. Other
<td rowspan="2">Regional Subdivision</td>
<td>"gbsct"</td>
<td rowspan="2">A <a href="#unicode_subdivision_id">unicode_subdivision_id</a>, which is a <a href="#unicode_region_subtag">unicode_region_subtag</a> concatenated with a unicode_subdivision_suffix.<br>For example, <i>gbsct</i> is “gb”+“sct” (where sct represents the subdivision code for Scotland). Thus “en-GB-u-sd-gbsct” represents the language variant “English as used in Scotland”. And both “en-u-sd-usca” and “en-US-u-sd-usca” represent “English as used in California”. See <b><i><a href="#Unicode_Subdivision_Codes">3.6.5 Subdivision Codes</a></i></b>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first_day_overrides'>First Day Overrides</a>.
The value can affect the computation of the first day of the week: see <a href='tr35-dates.md#first-day-overrides'>First Day Overrides</a>.
</td></tr>
<tr><td>…</td></tr>

Expand Down Expand Up @@ -3078,7 +3078,7 @@ The binary operators '&', '-', and the implicit union have equal precedence and
##### <a name="Variables_in_UnicodeSets" href="#Variables_in_UnicodeSets">Variables in UnicodeSets</a>

Support for variable identifiers (var) is optional.
They are used in certain contexts such as in [https://cldr-smoke.unicode.org/spec/main/ldml/tr35-general.html#Transforms](Transforms).
They are used in certain contexts such as in [Transforms](tr35-general.md#Transforms).
When they are used, they are defined as follows:

UnicodeSets may contain variables (`$my_char`, `$the_set`, ...) in place of full UnicodeSets and strings/characters. If variable support is enabled, variables must be defined (out-of-scope for UnicodeSets). In particular, referring to undefined variables is an error.
Expand Down Expand Up @@ -3829,7 +3829,7 @@ _Example:_
>
> result="ja-Latn-alalc97-fonipa" // note that CLDR canonical order of variants is alphabetical
##### <a name="territory-exception" href="#territory-exception">Territory Exception</a>
##### Territory Exception

If the field = territory, and the replacement.field has more than one value, then look up the most likely territory for the base language code (and script, if there is one). If that likely territory is in the list of replacements, use it. Otherwise, use the first territory in the list.

Expand Down

0 comments on commit bbb69f5

Please sign in to comment.