@@ -211,6 +211,7 @@ and different implementations MAY choose to perform different levels of resoluti
211211
212212_Expressions_ are used in _declarations_ and _patterns_.
213213_Markup_ is only used in _patterns_.
214+ _Options_ are used in _expressions_ and _markup_.
214215
215216#### Expression Resolution
216217
@@ -362,7 +363,7 @@ the following steps are taken:
362363 Specifically, if the cause of the failure was that the datatype, value, or format of the
363364 _operand_ did not match that expected by the _function_,
364365 the _function_ SHOULD cause a _Bad Operand_ error to be emitted.
365-
366+
366367 In all failure cases, return a _fallback value_ as the _resolved value_ of the _expression_.
367368
368369###### Function Handler
@@ -397,10 +398,29 @@ and execution time SHOULD be limited.
397398
398399Implementation-defined _functions_ SHOULD use an implementation-defined _namespace_.
399400
400- ###### Option Resolution
401+ #### Markup Resolution
402+
403+ **_<dfn>Markup resolution</dfn>_** determines the value of _markup_.
404+ Unlike _functions_, the resolution of _markup_ is not customizable.
405+
406+ The _resolved value_ of _markup_ includes the following fields:
407+
408+ - The type of the markup: open, standalone, or close
409+ - The _identifier_ of the _markup_
410+ - The resolved mapping of _options_ after _option resolution_.
411+
412+ If the resolved mapping of _options_ includes any _`u:` options_
413+ supported by the implementation, process them as specified.
414+ Such `u:` options MAY be removed from the resolved mapping of _options_.
415+
416+ The resolution of _markup_ MUST always succeed.
417+ (Any errors emitted by _option resolution_
418+ are non-fatal.)
419+
420+ #### Option Resolution
401421
402422**_<dfn>Option resolution</dfn>_** is the process of computing the _options_
403- for a given _expression_.
423+ for a given _expression_ or _markup_.
404424_Option resolution_ results in a mapping of string _identifiers_ to _resolved values_.
405425The order of _options_ MUST NOT be significant.
406426
@@ -438,23 +458,6 @@ This mapping can be empty.
438458> These are not included in the _option resolution_ result,
439459> and need to be processed separately by a _function handler_.
440460
441- #### Markup Resolution
442-
443- **_<dfn>Markup resolution</dfn>_** determines the value of _markup_.
444- Unlike _functions_, the resolution of _markup_ is not customizable.
445-
446- The _resolved value_ of _markup_ includes the following fields:
447-
448- - The type of the markup: open, standalone, or close
449- - The _identifier_ of the _markup_
450- - The resolved mapping of _options_ after _option resolution_.
451-
452- If the resolved mapping of _options_ includes any _`u:` options_
453- supported by the implementation, process them as specified.
454- Such `u:` options MAY be removed from the resolved mapping of _options_.
455-
456- The resolution of _markup_ MUST always succeed.
457-
458461#### Fallback Resolution
459462
460463A **_<dfn>fallback value</dfn>_** is the _resolved value_ for
0 commit comments