Subject: Re: [xsl] for-each loop question From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Fri, 31 Mar 2006 19:04:15 +0530 |
The Piez method would work only if the number of iterations you want to perform are less than or equal to count(//node()). The general purpose methods will be the XSLT 2.0 technique and recursive technique as Andrew has suggested. Regards, Mukul On 3/31/06, andrew welch <andrew.j.welch@xxxxxxxxx> wrote: > On 3/31/06, Khorasani, Houman <Houman.Khorasani@xxxxxxxxxxxx> wrote: > > Hello everyone, > > > > I got a "for-each" problem here and am wondering if you could solve it: > > > > This is the input XML file: > > > > <A> > > <B> > > <Product Quantity="5" Code="A75570" Description="REMINDER CALL - > > WA"/> > > </B> > > </A> > > > > > > I am interested in the Quantity attribute of 5. > > > > I would like to run the "for-each" loop about 5 times: > > > > <xsl:variable name="loop" select=" A/B/Product[@Quantity]"/> > > <xsl:for-each select="$loop"> > > <xsl:call-template name="xxx"> > > > > </xsl:call-template> > > </xsl:for-each> > > > > > > Would that be possible like this? > > No, as the context is a single <Product> node... > > Doing what you are after is simple is XSLT 2.0, you could just use > select="1 to $quantity". > > In 1.0 it's a lot harder, you will need to write a recursive named > template that calls itself decrementing the count with each call, or > use the Piez 'hack' of select="$someElementList[position() <= 5]" > > As you haven't said if you can use 2.0 or not, I won't expand on the > 1.0 solutions until then :) > > cheers > andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] for-each loop question, andrew welch | Thread | [xsl] xsl:apply-imports vs xsl:next, tom tom |
[xsl] xsl:apply-imports vs xsl:next, tom tom | Date | Re: [xsl] xsl:apply-imports vs xsl:, David Carlisle |
Month |