Subject: Re: [XPath 1.0] Why is .[A] illegal but self::node()[A] is legal?
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Sat, 7 Aug 2010 18:05:59 +0200
|
According to the syntax in "XML Path Language (XPath) Version 1.0"
(http://www.w3.org/TR/xpath),
a <Step> is either the sequence <AxisSpecifier> <NodeTest> <Predicate>* OR an
<AbbreviatedStep>. The latter may expand to a '.', therefore, no
predicate after '.'
With self:: node() [A] you follow the first alternative of the <Step> NT.
-W
On 7 August 2010 17:17, Costello, Roger L. <costello@xxxxxxxxx> wrote:
>
> Hi Folks,
>
> Why is this XPath 1.0 expression illegal:
>
> .[A]
>
> whereas this XPath 1.0 expression is legal:
>
> self::node()[A]
>
>
> Isn't '.' a shorthand for 'self::node()'? Shouldn't I be able to
interchange the two in any expression?
>
> /Roger
|