Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

If test=position() = last()

File: Data.xml <chapter>   <title>"title 1" Excerpt</title>   <para>para1</para>   <figure>     <title>title 1</title>   </figure>   <sect1>     <sect2>       <figure>         <title>title 2</title>       </figure>     </sect2>   </sect1> </chapter> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="1.0">   <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />   <xsl:template match="chapter">     <xsl:for-each select="descendant::figure/title">       <xsl:if test="position() = 1">         First figure title in chapter:         <xsl:value-of select="." />       </xsl:if>       <xsl:if test="position() = last()">         Last figure title in chapter:         <xsl:value-of select="." />       </xsl:if>     </xsl:for-each>   </xsl:template>    </xsl:stylesheet> Output:         First figure title in chapter:         title 1         Last figure title in chapter:         title 2