diff --git a/docs/ldml/tr35-dates.md b/docs/ldml/tr35-dates.md index 99e04f38fb5..3288447af46 100644 --- a/docs/ldml/tr35-dates.md +++ b/docs/ldml/tr35-dates.md @@ -1144,7 +1144,9 @@ These values provide territory-specific information needed for week-of-year and … ``` -In order for a week to count as the first week of a new year for week-of-year calculations, it must include at least the number of days in the new year specified by the minDays value; otherwise the week will count as the last week of the previous year (and for week-of-month calculations, `minDays` also specifies the minimum number of days in the new month for a week to count as part of that month). +In order for a week to count as the first week of a new year for week-of-year calculations, the week beginning with `firstDay` must include at least the number of days in the new year specified by the `minDays` value; otherwise the week will count as the last week of the previous year (and for week-of-month calculations, `minDays` also specifies the minimum number of days in the new month for a week to count as part of that month). + +> **Note:** For week-of-year calculations, Gregorian years may have 52 or 53 weeks. Changes in the value of `minDays` or `firstDay` can affect the year to which a date is assigned as well as the number of weeks in a given year; implementations that parse dates using week-of-year formats should be prepared to handle such cases. For example when parsing a date in week 53 of a year for which current values of `minDays` and `firstDay` no longer result in a 53-week year, that date should be treated as in the first week of the following year. The day indicated by `firstDay` is the one that should be shown as the first day of the week in a calendar view. This is not necessarily the same as the first day after the weekend (or the first work day of the week), which should be determined from the weekend information. Currently, day-of-week numbering is based on `firstDay` (that is, day 1 is the day specified by `firstDay`), but in the future we may add a way to specify this separately. The `firstDay` value determined from the region can be overridden by the locale keyword "fw", see [Unicode First Day Identifier](tr35.md#UnicodeFirstDayIdentifier). diff --git a/docs/ldml/tr35-general.md b/docs/ldml/tr35-general.md index 67a963659d4..a0bc167cbee 100644 --- a/docs/ldml/tr35-general.md +++ b/docs/ldml/tr35-general.md @@ -913,16 +913,21 @@ Some of the constraints reference data from the unitIdComponents in [Unit_Conver | long_unit_identifier core_unit_identifier:= - product_unit ("-per-" product_unit)*
- | "per-" product_unit ("-per-" product_unit)* + product_unit ("-" per "-" product_unit)*
+ | per "-" product_unit ("-" per "-" product_unit)* +per:= + "per" + + product_unit:= single_unit ("-" single_unit)* ("-" pu_single_unit)*
| pu_single_unit ("-" pu_single_unit)* @@ -935,9 +940,9 @@ Some of the constraints reference data from the unitIdComponents in [Unit_Conver pu_single_unit:= - “xxx-” single_unit | “x-” single_unit + "xxx-" single_unit | "x-" single_unit @@ -954,18 +959,19 @@ Some of the constraints reference data from the unitIdComponents in [Unit_Conver dimensionality_prefix:= "square-"

| "cubic-"

| "pow" ([2-9]|1[0-5]) "-"

simple_unit:= (prefix_component "-")* (prefixed_unit | base_component) ("-" suffix_component)*
| currency_unit
- | “em” | “g” | “us” | “hg” | "of" + | "em" | "g" | "us" | "hg" | "of" prefixed_unit @@ -984,16 +990,16 @@ Some of the constraints reference data from the unitIdComponents in [Unit_Conver prefix_component:= [a-z]{3,∞} - + base_component:= [a-z]{3,∞}