@@ -48,6 +48,13 @@ The function `:string` has no options.
4848> Proposals for string transformation options or implementation
4949> experience with user requirements is desired during the Tech Preview.
5050
51+ #### Resolved Value
52+
53+ The _ resolved value_ of an _ expression_ with a ` :string ` _ function_
54+ contains the string value of the _ operand_ of the annotated _ expression_ ,
55+ together with its resolved locale and directionality.
56+ None of the _ options_ set on the _ expression_ are part of the _ resolved value_ .
57+
5158#### Selection
5259
5360When implementing [ ` MatchSelectorKeys(resolvedSelector, keys) ` ] ( /spec/formatting.md#resolve-preferences )
@@ -86,14 +93,6 @@ The `:string` function returns the string value of the _resolved value_ of the _
8693> Users SHOULD encode _messages_ and their parts in Unicode Normalization Form C (NFC)
8794> unless there is a very good reason not to.
8895
89- #### Composition
90-
91- When an _operand_ or an _option_ value uses a _variable_ annotated,
92- directly or indirectly, by a `:string` _function_,
93- its _resolved value_ contains the string value of the _operand_ of the annotated _expression_,
94- together with its resolved locale and directionality.
95- None of the _options_ set on the _expression_ are part of the _resolved value_.
96-
9796## Numeric Value Selection and Formatting
9897
9998### The `:number` function
@@ -235,18 +234,17 @@ MUST be multiplied by 100 for the purposes of formatting.
235234> should format in a manner similar to:
236235> > The total was 50%.
237236
238- #### Selection
239-
240- The _function_ `:number` performs selection as described in [Number Selection](#number-selection) below.
241-
242- #### Composition
237+ #### Resolved Value
243238
244- When an _operand_ or an _option_ value uses a _variable_ annotated,
245- directly or indirectly, by a `:number` _annotation_,
246- its _resolved value_ contains an implementation-defined numerical value
239+ The _resolved value_ of an _expression_ with a `:number` _function_
240+ contains an implementation-defined numerical value
247241of the _operand_ of the annotated _expression_,
248242together with the resolved options' values.
249243
244+ #### Selection
245+
246+ The _function_ `:number` performs selection as described in [Number Selection](#number-selection) below.
247+
250248### The `:integer` function
251249
252250The function `:integer` is a selector and formatter for matching or formatting numeric
@@ -372,18 +370,17 @@ MUST be multiplied by 100 for the purposes of formatting.
372370> should format in a manner similar to:
373371> > The total was 50%.
374372
375- #### Selection
376-
377- The _function_ `:integer` performs selection as described in [Number Selection](#number-selection) below.
378-
379- #### Composition
373+ #### Resolved Value
380374
381- When an _operand_ or an _option_ value uses a _variable_ annotated,
382- directly or indirectly, by a `:integer` _annotation_,
383- its _resolved value_ contains the implementation-defined integer value
375+ The _resolved value_ of an _expression_ with an `:integer` _function_
376+ contains the implementation-defined integer value
384377of the _operand_ of the annotated _expression_,
385378together with the resolved options' values.
386379
380+ #### Selection
381+
382+ The _function_ `:integer` performs selection as described in [Number Selection](#number-selection) below.
383+
387384### Number Operands
388385
389386The _operand_ of a number function is either an implementation-defined type or
@@ -707,11 +704,10 @@ are encouraged to track development of these options during Tech Preview:
707704- `timeZone` (default is system default time zone or UTC)
708705 - valid identifier per [BCP175](https://www.rfc-editor.org/rfc/rfc6557)
709706
710- #### Composition
707+ #### Resolved Value
711708
712- When an _operand_ or an _option_ value uses a _variable_ annotated,
713- directly or indirectly, by a `:datetime` _annotation_,
714- its _resolved value_ contains an implementation-defined date/time value
709+ The _resolved value_ of an _expression_ with a `:datetime` _function_
710+ contains an implementation-defined date/time value
715711of the _operand_ of the annotated _expression_,
716712together with the resolved options values.
717713
@@ -743,13 +739,14 @@ it can include other option values.
743739Any _operand_ option values matching the `:datetime` _style options_ or _field options_ are ignored,
744740as is any `style` option.
745741
746- #### Composition
742+ #### Resolved Value
743+
744+ The _resolved value_ of an _expression_ with a `:date` _function_
745+ is implementation-defined.
747746
748- When an _operand_ or an _option_ value uses a _variable_ annotated,
749- directly or indirectly, by a `:date` _annotation_,
750- its _resolved value_ is implementation-defined.
751747An implementation MAY emit a _Bad Operand_ or _Bad Option_ error (as appropriate)
752- when this happens.
748+ when a _variable_ annotated directly or indirectly by a `:date` _annotation_
749+ is used as an _operand_ or an _option_ value.
753750
754751### The `:time` function
755752
@@ -779,13 +776,14 @@ it can include other option values.
779776Any _operand_ option values matching the `:datetime` _style options_ or _field options_ are ignored,
780777as is any `style` option.
781778
782- #### Composition
779+ #### Resolved Value
780+
781+ The _resolved value_ of an _expression_ with a `:time` _function_
782+ is implementation-defined.
783783
784- When an _operand_ or an _option_ value uses a _variable_ annotated,
785- directly or indirectly, by a `:time` _annotation_,
786- its _resolved value_ is implementation-defined.
787784An implementation MAY emit a _Bad Operand_ or _Bad Option_ error (as appropriate)
788- when this happens.
785+ when a _variable_ annotated directly or indirectly by a `:time` _annotation_
786+ is used as an _operand_ or an _option_ value.
789787
790788### Date and Time Operands
791789
0 commit comments