- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 08 Jul 2005 15:14:14 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1374 ------- Additional Comments From scott_boag@us.ibm.com 2005-07-08 15:14 ------- > A.1 EBNF (notation) > > "The following term definitions ..." > Change "term definitions" to just "definitions". Done. > > -------------------- > symbol > > "Each rule in the grammar defines one symbol, in the form ..." > This isn't a good definition for 'symbol'. But I'm not convinced it needs > one. (Note that the corresponding chunk of the XML spec doesn't bother > trying to define it.) Maybe just drop the surrounding "[Definition:", > "]". Done, un-termed. > > -------------------- > terminal > > "A terminal is a single unit of the grammar that can not be further subdivided, > and is specified in the EBNF by a character or characters in quotes, or a > regular expression." > This isn't a good definition for 'terminal'... ... Redefined as part of the work to divide the terminals from the main grammar. > > "The following expressions" > Maybe change "expressions" to "constructs" or "patterns". > (Yes, the XML spec calls them 'expressions', but the XML spec doesn't use > the word for anything else. The XQuery spec certainly does.) changed to "constructs". > > "are used to match strings of one or more characters in a terminal: > Delete "in a terminal". These constructs are also used in productions for > symbols that *aren't* listed as terminals in A.2.1. > > #xN > [#xN-#xN] > [#xN#xN#xN] > [^#xN-#xN] > [^#xN#xN#xN] > The XQuery grammar doesn't use any of these constructs. Delete them. Removed (or at least hidden via the XML, in case they're needed later). > > [^a-z] > The XQuery grammar doesn't use this either. Removed. > > "[abc] Enumerations and ranges can be mixed in one set of brackets." > "[^abc] Enumerations and ranges of forbidden values can be mixed in one set of > brackets." > The XQuery grammar doesn't mix enumerations and ranges. Removed. > > "matches a literal string matching that given inside the double/single quotes." > Throughout this section, the usage of "matches" is: > {construct in the grammar} matches {characters in a query} > (As such, it means roughly the same as "derives" in its technical sense.) > However, this sentence adds the usage > {characters in a query} matching {characters in the grammar} > which reverses the sense. > > How about this: > "matches the sequence of characters that appear inside the double/single > quotes" Text adapted. > > "matches a production" > No, matches any string matched by that production. > Fixed. > "For the purposes of this secificiation" > Fix typo: "specification" Fixed. > > "the entire unit is defined as a terminal." > Actually, you should probably delete this sentence. Rather than saying the > [http:...] construct is a terminal, it's simpler and presumably equivalent > to just designate the production's LHS symbol as a terminal. (According to > A.2.1, CharRef, QName, NCName, and S have already been handled this way. > PITarget and Char haven't.) Sentence deleted. > So, covering the last two points, you could replace the paragraph with > something like: > "Patterns (including the above constructs) can be combined with > grammatical operators to form more complex patterns, matching more > complex sets of character strings. In the examples that follow, > A and B represent (sub-)patterns." Text adapted. > > "(expression)" > Change to "(A)" -- you've already set up A as a placeholder, so why not > use it. Done. > > A B > "This operator has higher precedence than alternation; thus A B | C D is > identical to (A B) | (C D)." > As far as I can tell, constructs such as 'A B | C D' do not occur in the > XQuery grammar , so it is unnecessary to define the relative precedence > of juxtaposition and '|'. Delete the sentence. No. That construct occurs often if you accept that angle-bracket groups have no definitional significance. Example: [38] OrderByClause ::= (<"order" "by"> | <"stable" "order" "by">) OrderSpecList In the main exposition, where angle brackets are not used: [38] OrderByClause ::= ("order" "by" | "stable" "order" "by") OrderSpecList Otherwise, we need to define <A B> in terms of (A B), and in that case, the parens need to be put in the exposition, which would look pretty ugly and unnecessary in many places. > > A+ > "thus A+ | B+ is identical to (A+) | (B+)" > No such constructs occur. Delete the sentence. > > A* > "thus A* | B* is identical to (A*) | (B*)" > No such constructs occur. Delete the sentence. Given that I think I've established that we need the precedence for A B, I would prefer to go ahead and define the precedence for these, even if not used. > > (angle-bracket groups) > Since the angle-bracket group is a notation used in the grammar, it should > be defined here. I suggest putting it right after "(expression)", since > it has a similar flavour. (In each case, the grouped construct matches the > same thing as the ungrouped construct.) Done.
Received on Friday, 8 July 2005 15:14:17 UTC