@@ -320,7 +320,7 @@ Examples:
320
320
Placeholders can contain expressions and markup elements.
321
321
322
322
``` ebnf
323
- Placeholder ::= '{' (Expression | MarkupStart | MarkupEnd) '}'
323
+ Placeholder ::= '{' (Expression | Markup | MarkupEnd) '}'
324
324
```
325
325
326
326
### Expressions
@@ -340,6 +340,8 @@ Expression ::= Operand Annotation? | Annotation
340
340
Operand ::= Literal | Variable
341
341
Annotation ::= Function Option*
342
342
Option ::= Name '=' (Literal | Nmtoken | Variable)
343
+ Variable ::= '$' Name /* ws: explicit */
344
+ Function ::= ':' Name /* ws: explicit */
343
345
```
344
346
345
347
Examples:
@@ -377,8 +379,9 @@ They mimic XML elements, but do not require well-formedness.
377
379
Standalone display elements should be represented as function expressions.
378
380
379
381
``` ebnf
380
- MarkupStart ::= Name Option*
381
- MarkupEnd ::= '/' Name
382
+ Markup ::= MarkupStart Option*
383
+ MarkupStart ::= '+' Name /* ws: explicit */
384
+ MarkupEnd ::= '-' Name /* ws: explicit */
382
385
```
383
386
384
387
Examples:
@@ -412,7 +415,9 @@ AnyChar ::= [#x0-#x10FFFF]
412
415
### Names
413
416
414
417
The _ name_ token is used for variable names (prefixed with ` $ ` ),
415
- function names (prefixed with ` : ` ) as well as option names.
418
+ function names (prefixed with ` : ` ),
419
+ markup names (prefixed with ` + ` or ` - ` ),
420
+ as well as option names.
416
421
A name cannot start with an ASCII digit and certain basic combining characters.
417
422
Otherwise, the set of characters allowed in names is large.
418
423
@@ -427,8 +432,6 @@ and [defined in CLDR](https://unicode-org.github.io/cldr-staging/charts/latest/g
427
432
uses Nmtokens.
428
433
429
434
``` ebnf
430
- Variable ::= '$' Name /* ws: explicit */
431
- Function ::= ':' Name /* ws: explicit */
432
435
Name ::= NameStart NameChar* /* ws: explicit */
433
436
Nmtoken ::= NameChar+ /* ws: explicit */
434
437
NameStart ::= [a-zA-Z] | "_"
0 commit comments