Re: [xsl] [XPath 1.0] Why is .[A] illegal but self::node()[A] is legal?

Subject: Re: [xsl] [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

Current Thread