RE: How can I get the position of an element that has a descendan t 'y' with value 'z' ?

Subject: RE: How can I get the position of an element that has a descendan t 'y' with value 'z' ?
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Fri, 4 Feb 2000 10:17:30 -0000
>I would want to get the position of the element that has a descendant 'y'
whose value is 'z' and >put it in a variable, in the example the value of
the variable should be 2.

Try something like:

<xsl:variable name="pos">
   <xsl:for-each select="//element[descendant::y[.='z']][1]">
       <xsl:number/>
   <xsl:for-each>
</xsl:variable>

or (perhaps more efficient)

<xsl:variable name="pos">
   <xsl:for-each select="//element">
       <xsl:if test="*[descendant::y[.='z']]">
           <xsl:value-of select="position()"/>
       </xsl:if>
   <xsl:for-each>
</xsl:variable>

This won't work if there is more than one element that satisfies the
condition.

Mike Kay


<?xml version="1.0"?>
<elementList>
    <element>
        <x>
            <y>a</y>
        </x>
    </element>
    <element>
        <x>
            <y>z</y>
        </x>
    </element>
</elementList>


thank you

                


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread