This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Can I access the children by their Index?
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Can I access the children by their Index?
- From: Edmund Mitchell <EMitchell at fnf dot com>
- Date: Tue, 27 Feb 2001 06:57:20 -0800
- Reply-To: xsl-list at lists dot mulberrytech dot com
-----Original Message-----
From: Daniel Newman [mailto:daniel.newman@bis-web.net]
What I want to do is set up a loop (from 1 to 9), and then be able to access
parts of nodes that correspond to this loop.
I don't remember who posted this, but it should work:
<!-- put this in an existing template -->
<xsl:call-template name="loop">
<xsl:with-param name="start-val" select="'1'"/>
<xsl:with-param name="end-val" select="'10'"/>
</xsl:call-template>
<!-- loops from $start-val to $end-val with a step value of
$increment
-->
<xsl:template name="loop">
<xsl:param name="start-val" select="'0'"/>
<xsl:param name="end-val" select="'0'"/>
<xsl:param name="increment" select="'1'"/>
<xsl:if test="$start-val <= $end-val">
<!-- do stuff here, i just print out the number -->
VALUE: <xsl:value-of select="$start-val"/>
<!-- recurse -->
<xsl:call-template name="loop">
<xsl:with-param name="start-val" select="$start-val + $increment"/>
<xsl:with-param name="increment" select="$increment"/>
<xsl:with-param name="end-val" select="$end-val"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
One side point:
David Carlisle reminds:
<xsl:param name="start-val" select="'0'"/>
^ ^
you are relying on the implicit coercion from string to number here,
simpler to give the number directly
<xsl:param name="start-val" select="0"/>
Anyways, that should get you started.
Edmund
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list