diff --git a/spec/formatting.md b/spec/formatting.md index 3c941b2f29..a3cbbceca1 100644 --- a/spec/formatting.md +++ b/spec/formatting.md @@ -552,14 +552,14 @@ Between the brackets, the following contents are used: > Example: `{:platform}` - Opening _expression_ with no operand: - U+002B PLUS SIGN `+` followed by the _function_ _name_ + U+0023 NUMBER SIGN `#` followed by the _function_ _name_ - > Example: `{+tag}` + > Example: `{#tag}` - Closing _expression_ with no operand: - U+002D HYPHEN-MINUS `-` followed by the _function_ _name_ + U+002F SOLIDUS `/` followed by the _function_ _name_ - > Example: `{-tag}` + > Example: `{/tag}` - Otherwise: The U+FFFD REPLACEMENT CHARACTER `�` character diff --git a/spec/message.abnf b/spec/message.abnf index 14ae860879..fc8de1609a 100644 --- a/spec/message.abnf +++ b/spec/message.abnf @@ -15,7 +15,7 @@ annotation = (function *(s option)) / reserved literal = quoted / unquoted variable = "$" name -function = (":" / "+" / "-") name +function = (":" / "#" / "/") name option = name [s] "=" [s] (literal / variable) ; reserved keywords are always lowercase diff --git a/spec/syntax.md b/spec/syntax.md index 940e480204..051b4f3b45 100644 --- a/spec/syntax.md +++ b/spec/syntax.md @@ -146,7 +146,7 @@ plucking the first name from the object representing a person: A message with two markup-like _functions_, `button` and `link`, which the runtime can use to construct a document tree structure for a UI framework: - {{+button}Submit{-button} or {+link}cancel{-link}.} + {{#button}Submit{/button} or {#link}cancel{/link}.} An opening element MAY be present in a message without a corresponding closing element, and vice versa. @@ -356,8 +356,8 @@ other than the _operand_ in front of them. _Functions_ use one of the following prefix sigils: - `:` for standalone content -- `+` for starting or opening _expressions_ -- `-` for ending or closing _expressions_ +- `#` for starting or opening _expressions_ +- `/` for ending or closing _expressions_ ```abnf expression = "{" [s] ((operand [s annotation]) / annotation) [s] "}" @@ -397,17 +397,17 @@ option = name [s] "=" [s] (literal / variable) > ``` > > ``` -> {+ssml.emphasis level=strong} +> {#ssml.emphasis level=strong} > ``` > > Message examples: > > ``` -> {This is {+b}bold{-b}.} +> {This is {#b}bold{/b}.} > ``` > > ``` -> {{+h1 name=above-and-beyond}Above And Beyond{-h1}} +> {{#h1 name=above-and-beyond}Above And Beyond{/h1}} > ``` #### Reserved @@ -485,7 +485,7 @@ unquoted-start = name-start / DIGIT / "." ### Names The **_name_** token is used for variable names (prefixed with `$`), -function names (prefixed with `:`, `+` or `-`), +function names (prefixed with `:`, `#` or `/`), as well as option names. It is based on XML's [Name](https://www.w3.org/TR/xml/#NT-Name), with the restriction that it MUST NOT start with `:`, @@ -494,7 +494,7 @@ Otherwise, the set of characters allowed in names is large. ```abnf variable = "$" name -function = (":" / "+" / "-") name +function = (":" / "#" / "/") name name = name-start *name-char name-start = ALPHA / "_"