Re: [xml-dev] XPath brain teaser

From
Bob Foster <>
To
Richard Tobin <>,
Date
2003-08-27T01:26:24Z
ID
<0dda01c36c3a$3aed0260$6401a8c0@snobird>
Thread
Re: [xml-dev] XPath brain teaser
From: "Richard Tobin" <>
> >This is easier to understand if you think of it in terms of set
construction
> >and iterators. The two expressions with abbreviations eliminated are:
> >
> >/descendant-or-self::node()/para[1]
> >/descendant::para[1]
>
> You might ask why // means the first of these, rather than the more
> obvious second.  The answer (I think) is precisely so that expressions
> like //para[1] will mean what they do; it's more common to want to
> treat the first paragraph in each section specially than the first
> paragraph in the while document.

Sure. I can understand defining the abbreviated expression so it is more
useful. And I agree with your original point that the result is
counter-intuitive, because the intermediate set is not visible in the
expression. Just a bit of arcana that has to be memorized, I guess.

Bob Foster