@@ -211,6 +211,7 @@ and different implementations MAY choose to perform different levels of resoluti
211
211
212
212
_Expressions_ are used in _declarations_ and _patterns_.
213
213
_Markup_ is only used in _patterns_.
214
+ _Options_ are used in _expressions_ and _markup_.
214
215
215
216
#### Expression Resolution
216
217
@@ -362,7 +363,7 @@ the following steps are taken:
362
363
Specifically, if the cause of the failure was that the datatype, value, or format of the
363
364
_operand_ did not match that expected by the _function_,
364
365
the _function_ SHOULD cause a _Bad Operand_ error to be emitted.
365
-
366
+
366
367
In all failure cases, return a _fallback value_ as the _resolved value_ of the _expression_.
367
368
368
369
###### Function Handler
@@ -397,10 +398,29 @@ and execution time SHOULD be limited.
397
398
398
399
Implementation-defined _functions_ SHOULD use an implementation-defined _namespace_.
399
400
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
401
421
402
422
**_<dfn>Option resolution</dfn>_** is the process of computing the _options_
403
- for a given _expression_.
423
+ for a given _expression_ or _markup_.
404
424
_Option resolution_ results in a mapping of string _identifiers_ to _resolved values_.
405
425
The order of _options_ MUST NOT be significant.
406
426
@@ -438,23 +458,6 @@ This mapping can be empty.
438
458
> These are not included in the _option resolution_ result,
439
459
> and need to be processed separately by a _function handler_.
440
460
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
-
458
461
#### Fallback Resolution
459
462
460
463
A **_<dfn>fallback value</dfn>_** is the _resolved value_ for
0 commit comments