[Home] [By Thread] [By Date] [Recent Entries]


At 08:56 PM 8/26/2003, Richard Tobin wrote:
> >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.

Another reason is that we wanted the definition of // to work for both 
elements and attributes:

         //@id
         //para

The expanded definition of // works for both these cases. It's rather hard 
to think of anything  based on the XPath axes that does this any better.

Jonathan 


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member