- From: James Clark <jjc@jclark.com>
- Date: Sun, 29 Aug 1999 18:59:03 +0700
- To: Ingo Macherius <macherius@darmstadt.gmd.de>
- CC: www-xpath-comments@w3.org
Ingo Macherius wrote: > 1. Tokenizing > > The killer sentence in XPath is > "If there is a preceding token and the preceding token is not one of @, ::, (, [, , or an {HYPERLINK \l "NT-Operator"}Operator, > then a * must be recognized as a {HYPERLINK \l "NT-MultiplyOperator"}MultiplyOperator and an {HYPERLINK "http://www.w3.org/TR/REC-xml-names" \l "NT-NCName"}NCName must be recognized as an > {HYPERLINK \l "NT-OperatorName"}OperatorName." > > Couldn't this be expressed in a positive formulation ? The way it is it's complicated and does not > fit naturally in the rest of the grammar. Note that "Operator" depends on the tokens from > "OperatorName". I agree it's complicated, but I haven't found any simpler way to express it. > 2. AbbreviatedAxisSpecifier (production [13]) > > This is a killer because it can evaluate to an empty string. As via [5]->[4] is can start a Step > production. Couldn't [13] be simply merged with [6], e.g. by moving the "::" token from [6] to [5] ? What's hard about this? Just do something like: step: axis node_test predicates | DOT | DOT_DOT ; axis: /* empty */ | AXIS_NAME COLON_COLON | AT ; For explanatory reasons I want to keep the productions that describe abbreviations separate. > 3. Grouping > > Is it correct that > /a/(a|b) > is not a legal XPath production but must be written > /a/a | /a/b > ? Yes. > If so, is this intended ? Yes. > I am a bit envolved with XQL, so I wondered why this is that clumsy in > Xpath (probably thó keep things simple). Yes. I expect a future version of XPath will lift the restriction, but exactly how is not yet clear. James
Received on Sunday, 29 August 1999 23:32:11 UTC