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="'<='"/> <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 = '<='"> <xsl:if test="$i <= $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 = '='"> <xsl:if test="$i = $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 = '>'"> <xsl:if test="$i > ...
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.