Get the context position with position() function
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="Chapter">
<xsl:if test="position()=2">
<paragraph>
the context position is
<xsl:value-of select="position()" />
</paragraph>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<paragraph>
the context position is
2</paragraph>
Related examples in the same category