RE: loop?

Subject: RE: loop?
From: "John Power" <john.power@xxxxxxxxxxxx>
Date: Mon, 27 Nov 2000 10:41:09 -0000
When you want to loop, make a template like this:

<xsl:template name="loopNumber">
	<xsl:param name="inc" select="0"/>
	<xsl:param name="maxValue" select="10"/>
	<xsl:if test="$inc &lt; $maxValue">
		...some processing instructions...
		<xsl:call-template name="loopNumber">
			<xsl:with-param name="inc" select="$inc + 1"/>
			<xsl:with-param name="maxValue" select="$maxValue"/>

This mimics the usual incremental loops in other programming languages(eg
'for ($inc=0; $inc<maxValue; $inc++)...' etc). I used a value of "10" for
'$maxValue' but you can change the value when you are calling the template
by giving it a new value with 'xsl:with-param'. Eg, when calling
'loopNumber' in the template matching 'some_element':

<xsl:template match="some_element">
	<xsl:call-template name="loopNumber">
		<xsl:with-param name="maxValue" select="20"/>

Hope that helps
John Power

 XSL-List info and archive:

Current Thread