***********************
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