@@ -678,7 +678,7 @@ markup = "{" [s] "#" identifier *(s option) *(s attribute) [s] ["/"] "}" ; open
678678> A _ message_ with one ` button ` markup span and a standalone ` img ` markup element:
679679>
680680> ```
681- > {#button}Submit{/button} or {#img alt=|Cancel| /}.}
681+ > {#button}Submit{/button} or {#img alt=|Cancel| /}.
682682> ```
683683
684684> A _message_ with attributes in the closing tag:
@@ -699,6 +699,43 @@ on the pairing, ordering, or contents of _markup_ during _formatting_.
699699Examples in this section are meant to be illustrative and
700700might not match future requirements or usage.
701701
702+ > [!NOTE]
703+ > The Tech Preview does not provide a built-in mechanism for overriding
704+ > values in the _formatting context_ (most notably the locale)
705+ > Nor does it provide a mechanism for identifying specific expressions
706+ > such as by assigning a name or id.
707+ > The utility of these types of mechanisms has been debated.
708+ > There are at least two proposed mechanisms for implementing support for
709+ > these.
710+ > Specifically, one mechanism would be to reserve specifically-named options,
711+ > possibly using a Unicode namespace (i.e. `locale=xxx` or `u:locale=xxx`).
712+ > Such options would be reserved for use in any and all functions or markup.
713+ > The other mechanism would be to use the reserved "expression attribute" syntax
714+ > for this purpose (i.e. `@locale=xxx` or `@id=foo`)
715+ > Neither mechanism was included in this Tech Preview.
716+ > Feedback on the preferred mechanism for managing these features
717+ > is strongly desired.
718+ >
719+ > In the meantime, function authors and other implementers are cautioned to avoid creating
720+ > function-specific or implementation-specific option values for this purpose.
721+ > One workaround would be to use the implementation's namespace for these
722+ > features to insure later interoperability when such a mechanism is finalized
723+ > during the Tech Preview period.
724+ > Specifically:
725+ > - Avoid specifying an option for setting the locale of an expression as different from
726+ > that of the overall _message_ locale, or use a namespace that later maps to the final
727+ > mechanism.
728+ > - Avoid specifying options for the purpose of linking placeholders
729+ > (such as to pair opening markup to closing markup)
730+ > or require that such options use an implementation-specific namespace
731+ > while cautioning users that such option might be replaced or unavailable later.
732+ > - Avoid specifying generic options to communicate with translators and
733+ > translation tooling (i.e. implementation-specific options that apply to all
734+ > functions.
735+ > The above are all desirable features.
736+ > We welcome contributions to and proposals for such features during the
737+ > Technical Preview.
738+
702739An **_<dfn>attribute</dfn>_** is an _identifier_ with an optional value
703740that appears in an _expression_ or in _markup_.
704741
0 commit comments