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