Re: //* and position()

Subject: Re: //* and position()
From: Mike Brown <mike@xxxxxxxx>
Date: Thu, 7 Sep 2000 12:13:54 -0600 (MDT)
Gary L Peskin wrote:
> In the case of //*[position() &lt; 3], this is an abbreviation for
> 	/descendents-or-self::node()/child::*[position() &lt; 3]
> In other words, this will select any node that is one of the first two
> children of another node.  
> [...]
> In the case of $all_elements[position() &lt; 3] (equivalent to
> (//*)[position() &lt; 3]), this will select the first two items in the
> node-set $all-elements.

I saw this in the XPath spec when I was looking for the answer, but it
just didn't click. Even when I considered that // was an abbreviation, I
couldn't see how $foo[bar] was different from //*[bar] if $foo was //*.
Your explanation makes more sense. Thank you.

   - Mike
Mike J. Brown, software engineer at         My XML/XSL resources: in Denver, Colorado, USA 

 XSL-List info and archive:

Current Thread