W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2002

RE: XPath grammar problems and recommendations

From: Kay, Michael <Michael.Kay@softwareag.com>
Date: Mon, 2 Sep 2002 13:58:09 +0200
Message-ID: <DFF2AC9E3583D511A21F0008C7E621060453DB01@daemsg02.software-ag.de>
To: "Ed.Willink" <Ed.Willink@uk.thalesgroup.com>, "'public-qt-comments@w3.org'" <public-qt-comments@w3.org>

> The Aug 16 Xpath 2.0 WD is much improved on the 30-Apr WD.
> 
> There are however problems. 
> 
> instance of attribute
> ---------------------
> 
> A problem arises when an instnace of is followed by any of
> 
> the or/and/for/quantified/if precedence operators
> 
> since there is then an ambiguity between
> 
> {... instance of attribute operator} ...
> 
> and
> 
> {... instance of attribute} operator ...
> 
> Perhaps some <> annotations should specify a resolution for 
> the above, presumably as the normal left maximisation, since 
> parentheses can be used to force termination between 
> attribute and operator.
> 
> However the ambiguity is unplesasant, and could be better 
> resolved with parentheses in the grammar: instance of (SequenceType).

I'm personally inclined to agree with you. The ambiguity can be resolved by
some kind of backtracking, but it's not nice. I think a number of people are
uneasy about various aspects of the SequenceType production, and this is
something we need to take another look at.
> 
> AtomicType
> ----------
> 
> The grammar for ItemType is trivially impossible since 
> AtomicType is a QName and so covers node and comment etc 
> which are distinct ItemType's.
> 
I guess we're assuming some kind of "first match" resolution here. We need
to be more explicit about the assumptions.

> 
> Lexical states
> --------------
> 
I'll leave these comments to be addressed by people who understand the
parsing technology better than I do.

Michael Kay
Software AG
Received on Monday, 2 September 2002 07:58:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:14:23 GMT