Skip to content

Commit 085eb23

Browse files
authored
Address "implementation-defined" literal and type values
In [this thread](#911 (comment)) on #911, @macchiati and I discussed the handling of implementation-defined literal values and implementation-defined types. This change splits the "MAY _accept_" for these two cases, permitting both and saving us having to say "... or an implementation-defined value..." in lots of places.
1 parent f3344b5 commit 085eb23

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

spec/registry.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,23 @@ by any version of this specification
3838
for **standard** and **optional** functions.
3939
Such _options_ MUST use an implementation-specific _namespace_.
4040

41-
Implementations MAY _accept_ additional _option_ values for _options_ defined here.
41+
Implementations MAY _accept_ additional literal _option_ values for _options_ defined here.
4242
However, such values might become defined with a different meaning in the future,
4343
including with a different, incompatible name
4444
or using an incompatible value space.
45-
Supporting implementation-specific _option_ values for **standard** or **optional** functions is NOT RECOMMENDED.
45+
Supporting implementation-specific literal _option_ values for **standard** or **optional** functions is NOT RECOMMENDED.
46+
47+
Implementations MAY _accept_ implementation-defined types for _operands_ and _option_ values defined here.
48+
Such values can be useful to users in cases where local usage and support exists
49+
(including cases in which details vary from those defined by Unicode and CLDR).
50+
51+
> For example, implementations are encouraged to _accept_ a native representation
52+
> for currency amounts as the _operand_ in the _function_ `:currency`.
53+
> Or a Java implementation might _accept_ a `java.time.chrono.Chronology` object
54+
> as a value for the date/time option `calendar`
55+
> or ICU4J's implementation might _accept_ a `com.ibm.icu.text.NumberingSystem` object
56+
> instead of using a [Unicode Numbering System Identifier](https://cldr-smoke.unicode.org/spec/main/ldml/tr35.html#UnicodeNumberSystemIdentifier)
57+
> for the option `numberingSystem` in _functions_ such as `:number` or `:integer`.
4658
4759
Future versions of this specification MAY define additional _options_ and _option_ values,
4860
subject to the rules in the [Stability Policy](#stability-policy),

0 commit comments

Comments
 (0)