RE: [xsl] xpath question, getting last instance of element

Subject: RE: [xsl] xpath question, getting last instance of element
From: "Roger Glover" <glover_roger@xxxxxxxxx>
Date: Tue, 25 Feb 2003 13:28:10 -0600
***********************
INPUT
***********************
      <AAA>
           <BBB>
                <CCC/>
                <ZZZ>
                     <DDD/>
                     <DDD>
                          <EEE/>
                     </DDD>
                </ZZZ>
                <FFF>
                     <GGG/>
                </FFF>
           </BBB>
           <XXX>
                <DDD>
                     <EEE/>
                     <DDD/>
                     <CCC/>
                     <FFF/>
                     <FFF>
                          <GGG/>
                     </FFF>
                </DDD>
           </XXX>
           <CCC>
                <DDD>this is the one I want</DDD>
           </CCC>
      </AAA>

***********************
TRANSFORM
***********************
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:output method="text"/>

<xsl:template match="/">
    <xsl:apply-templates select="(//DDD)[position() = last()]"/>
                            <!-- ^^^^^^^ note the parentheses -->
</xsl:template>

</xsl:transform>

***********************
OUTPUT
***********************
this is the one I want

I hope this helps!

-- Roger Glover


Alan Stein wrote:

> I'm trying to figure out how to select the final instance of "DDD" in the
> following example, but since the predicate refers to the
> element's relative
> position to its neighbors, I am having trouble formulating an xpath which
> would take the last position with respect to the root of the document.
>
> Can someone shed light on this (possibly simple) question?



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


Current Thread