use last() function to get the context size : last « XSLT stylesheet « XML






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>

 








Related examples in the same category

1.Output a comma if it's not the last one in the node
2.last() as index