@@ -369,7 +369,7 @@ otherwise, a corresponding _Data Model Error_ will be produced during processing
369
369
- _ Duplicate Variant_ :
370
370
Each _ variant_ MUST use a list of _ keys_ that is unique from that
371
371
of all other _ variants_ in the _ message_ .
372
- _ Literal_ _ keys_ are compared by their contents , not their syntactical appearance.
372
+ _ Literal_ _ keys_ are compared by their _ string values _ , not their syntactical appearance.
373
373
374
374
``` abnf
375
375
matcher = match-statement s variant *(o variant)
@@ -470,7 +470,7 @@ that matches all values for a given _selector_.
470
470
471
471
The value of each _literal_ _key_ MUST be treated as if it were in
472
472
[Unicode Normalization Form C](https://unicode.org/reports/tr15/) ("NFC").
473
- Two _literal_ _keys_ are considered equal if they are canonically equivalent strings,
473
+ Two _literal_ _keys_ are considered equal if their _string values_ are canonically equivalent strings,
474
474
that is, if they consist of the same sequence of Unicode code points after
475
475
Unicode Normalization Form C has been applied to both.
476
476
@@ -742,8 +742,9 @@ escaped as `\\` and `\|`.
742
742
743
743
An ** _ <dfn >unquoted literal</dfn >_ ** is a _ literal_ that does not require the ` | `
744
744
quotes around it to be distinct from the rest of the _ message_ syntax.
745
- An _ unquoted literal_ MAY be used when the content of the _ literal_
746
- contains no whitespace and otherwise matches the ` unquoted-literal ` production.
745
+ An _ unquoted literal_ MAY be used when the _ string value_ of the _ literal_
746
+ matches the ` unquoted-literal ` production.
747
+ It will thus contain no whitespace (nor certain other characters).
747
748
Implementations MUST NOT distinguish between _ quoted literals_ and _ unquoted literals_
748
749
that have the same sequence of code points.
749
750
@@ -755,6 +756,11 @@ literal = quoted-literal / unquoted-literal
755
756
quoted-literal = "|" *(quoted-char / escaped-char) "|"
756
757
unquoted-literal = 1*name-char
757
758
```
759
+ The ** _ <dfn >string value</dfn >_ ** of a _ literal_
760
+ for _ unquoted literals_ is the text content of that _ literal_ ;
761
+ or for _ quoted literals_ , the text content of that _ literal_
762
+ after removing the enclosing ` | ` characters
763
+ then unescaping any escaped characters.
758
764
759
765
#### Names and Identifiers
760
766
0 commit comments