- From: Stephen Buxton <Stephen.Buxton@oracle.com>
- Date: 16 Feb 04 13:28:04
- To: public-qt-comments@w3.org
- Cc:
SECTION A.2: lexical structure Some of the rules called "Named Terminals" should have a /* ws:explicit */ comment attached to indicate that ignorable whitespace may not be interspersed, namely Digits, ExcapeQuot, HexDigits, and probably the ones that are copied in from other recommendations (S, NCName, QName, Char). Note that the quantifiers + and *, as in rule [16] Digits ::= [0-9]+, normally imply the ability to insert whitespace between the repeated items. Compare with rule [42] FLWORExpr ::= (ForClause | LetClause)+ ... which certainly permits whitespace between consecutive for and let clauses. This is almost every rule under "Named Terminals", which made me wonder whether you intended all of these rules to have an implicit /* ws:explicit */ comment. However, that principle would break down in a couple places: Pragma, MUExtension, and SchemaGlobalTypeName. Perhaps the solution is to move Pragma, MUExtension and SchemaGlobalTypeName into the list of "Non-Terminals". I think you are trying to list under "Named Terminals" the kinds of tokens that would be recognized by a lexical analyzer, and these three things seem more complex than usually delegated to a lexer. If you adopt this solution, you can simply state that the entire category has a /* ws:explicit */ comment. However, this would still leave the problem of the duplicates of these rules in the main body of the text, where they will probably need to be individually flagged with /* ws:explicit */ - Steve B.
Received on Monday, 16 February 2004 16:28:08 UTC