Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Use last() function to get the context size

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <Book>   <Chapter number="c1">the first chapter</Chapter>   <Chapter number="c2">the second chapter</Chapter>   <Chapter number="c3">the third chapter</Chapter>   <Chapter number="c4">the fourth chapter</Chapter>   <Chapter number="c5">the fifth chapter</Chapter> </Book> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet   version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >   <xsl:template match="/">     <html>       <head>         <title>context position and context size.</title>       </head>       <body>         <xsl:apply-templates select="/Book/Chapter" />       </body>     </html>   </xsl:template>   <xsl:template match="Chapter">     <xsl:if test="position()=2">       <paragraph>         and the context size is <xsl:value-of select="last()" />.       </paragraph>     </xsl:if>   </xsl:template> </xsl:stylesheet> Output: <html>    <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">       <title>context position and context size.</title>    </head>    <body>       <paragraph>          and the context size is 5.                 </paragraph>    </body> </html>