Subject: RE: Iteration without nodes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 26 Jul 2006 17:04:53 +0100
|
> I've successfully used the expression <xsl:for-each
> select="fieldcount[position() < $lastNo]"> to perform a
> certain operation a number of times. I'm not sure where I
> got it and can't find information on why it works. Now I'm
> doing a slightly different stylesheet and I can't get the
> desired result. Could someone explain how this operation works.
Colin has explained how it works.
In XSLT 2.0 you can do <xsl:for-each select="1 to $N">.
In XSLT 1.0 the purist solution is a recursive template to which you pass a
parameter N indicating the number of iterations required; it does the work
once, then if N>1 it calls itself, passing the value N-1 as the number of
iterations remaining. But the dirty hack of iterating over a
sufficiently-large node-set is often preferable, because you don't risk
running out of stack space.
Michael Kay
http://www.saxonica.com/
|