The Complete Example

Here’s the complete stylesheet:

<?xml version="1.0"?>
<!-- for-loop.xsl --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:param name="i" select="1"/> <xsl:param name="increment" select="1"/> <xsl:param name="operator" select="'&lt;='"/> <xsl:param name="testValue" select="10"/> <xsl:template match="/"> <xsl:call-template name="for-loop"> <xsl:with-param name="i" select="$i"/> <xsl:with-param name="increment" select="$increment"/> <xsl:with-param name="operator" select="$operator"/> <xsl:with-param name="testValue" select="$testValue"/> </xsl:call-template> </xsl:template> <xsl:template name="for-loop"> <xsl:param name="i"/> <xsl:param name="increment"/> <xsl:param name="operator"/> <xsl:param name="testValue"/> <xsl:variable name="testPassed"> <xsl:choose> <xsl:when test="$operator = '!='"> <xsl:if test="$i != $testValue"> <xsl:text>true</xsl:text> </xsl:if> </xsl:when> <xsl:when test="$operator = '&lt;='"> <xsl:if test="$i &lt;= $testValue"> <xsl:text>true</xsl:text> </xsl:if> </xsl:when> <xsl:when test="$operator = '&gt;='"> <xsl:if test="$i &gt;= $testValue"> <xsl:text>true</xsl:text> </xsl:if> </xsl:when> <xsl:when test="$operator = '='"> <xsl:if test="$i = $testValue"> <xsl:text>true</xsl:text> </xsl:if> </xsl:when> <xsl:when test="$operator = '&lt;'"> <xsl:if test="$i &lt; $testValue"> <xsl:text>true</xsl:text> </xsl:if> </xsl:when> <xsl:when test="$operator = '&gt;'"> <xsl:if test="$i &gt; ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.