Re: [xsl] position within same nodes

Subject: Re: [xsl] position within same nodes
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 19 Jul 2001 21:20:32 +0100

   What is the XPath to get the position of a given node relative to its
   siblings of the same name?  Eg,


   I'm looking for an XPath statement that would return 1 for the first meep,
   2 for the second, and 3 for the 3rd meep, rather than 2, 3, and 5 (which
   is what plain position() returns).

   I'm trying to count the number of siblings and subtract the number of
   siblings of the same type, then subtract that from position(), but I can't
   get either of the first two parts there to work either.  Does anyone have
   any suggestions?

you are under a misaprehention about position() check the archives of
this list. As stated many times nodes do not have a position() intrinsic
to themselves, they just have a position in the current node list.
so the same node will have different positions at different times,

If you were to go select="meep" you would have a node lists of just th
emeep elements and so they would have position() of 1 2 3.
If you go 
select="*" you pick up all the elements and so the meeps have positions
of 2 3 and 5. If you use the default value of apply-templates and
you haven't stripped white space then the current node list would also
have text nodes and the meeps would have position of 4 6 and 10 (if I
counted right)

If you want to know th eposition in the tree,
might be what you are after, it all depends.


This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:

Current Thread