This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: loop?


Laurent,
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"/>
		</xsl:call-template>
	</xsl:if>
</xsl:template>

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"/>
	</xsl:call-template>
</xsl:template>

Hope that helps
John Power


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]