xsl-list
[Top] [All Lists]

RE: Finding the following sibling of same type

2004-08-29 15:59:50

    If I am on the first "first" element node, how can I write an
XPath expression to get the position of the second instance of the
"first" element? I can write

    followin-sibling::first[position() = 1]

....to locate the element, but I'm having trouble figuring out how to
find its position within the parent (main).

count(following-sibling::first[1]/preceding-sibling::*)+1


    Actually, the real problem is for me to write an XPath expression
that will select all children of "main" from the first "first" upto
(but exluding) the next "first". 

<xsl:variable name="first-first" select="first[1]"/>
<xsl:... select="$first-first/following-sibling::*[
   preceding-sibling::first[1] is $first-first]"/>

"is" is an XPath 2.0 operator to test node-identity; in XPath 1.0 replace "A
is B" by "generate-id(A) = generate-id(B)".

Michael Kay
  



<Prev in Thread] Current Thread [Next in Thread>