xsl-list
[Top] [All Lists]

Re: [xsl] for-each loop question

2006-03-31 04:21:08
On 3/31/06, Khorasani, Houman <Houman(_dot_)Khorasani(_at_)comverse(_dot_)com> 
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[(_at_)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() &lt;= 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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>