xsl-list
[Top] [All Lists]

RE: Loops and variables question

2003-11-27 05:14:53
Hi,

I want to build a list with the quantity attribute of the all 
ROOMS nodes.
I have this XML:

<ROOMS>
 <ROOM quantity="5">
 <ROOM quantity="3">
 <ROOM quantity="7">
</ROOMS>

My desired output is:
1,2,3,4,5,1,2,3,1,2,3,4,5,6,7

I tryed with an auxiliary variable <xsl:variable 
name="num"...>but I can
increment this variable for each node.

No you can't, variables are immutable in XSLT once bound.

  <xsl:output method="text"/>
  <xsl:strip-space elements="*"/>
  <xsl:template match="ROOM" name="counter">
    <xsl:param name="i" select="1"/>
    <xsl:if test="$i &lt;= @quantity">
      <xsl:value-of select="$i"/>
      <xsl:if test="not(not(following-sibling::ROOM) and $i = 
@quantity)">,</xsl:if>
      <xsl:call-template name="counter">
        <xsl:with-param name="i" select="$i + 1"/>
      </xsl:call-template>
    </xsl:if>
  </xsl:template>

Cheers,

Jarno - Velvet Acid Christ: Angels In Bondage (B-Side / mp3 128 Mix / by Angels 
In Bondage)

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



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