[cxml-devel] RNG question

David Lichteblau david at lichteblau.com
Tue Mar 6 18:20:00 UTC 2012


Quoting Cyrus Harmon (ch-lisp at bobobeach.com):
> Is the former invalid RNC or is cxml-rng's parser barfing where it
> shouldn't?  A complete, minimal-ish example is shown below and
> attempting to parse it gives:

The RNC is invalid:

| There is no notion of operator precedence. It is an error for patterns
| to combine the |, &, , and - operators without using parentheses to
| make the grouping explicit. For example, foo | bar, baz is not allowed;
| instead, either (foo | bar), baz or foo | (bar, baz) must be used. A
| similar restriction applies to name classes and the use of the | and -
| operators.

The fun part: The spec has not one but two BNFs.

The first BNF is incorrect and you're supposed to basically ignore it.
The second BNF correct but much less readable:

| These restrictions are not expressed in the above EBNF but
| they are made explicit in the BNF in Section 1.


d.




More information about the cxml-devel mailing list