xsl-list
[Top] [All Lists]

Re: for-loop in xslt problem

2003-04-05 08:44:33
Using FXSL one would write:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:myPrint="f:myPrint"

 <xsl:import href="iter.xsl"/>
 <xsl:output method="text"/>

  <xsl:template match="/">

   <xsl:variable name="vfPrint" select="document('')/*/myPrint:*[1]"/>

    <xsl:variable name="vrtfIterResult">
      <xsl:call-template name="scanIter">
        <xsl:with-param name="arg1"
                  select="ceiling(/*/total div /*/skip)"/>
        <xsl:with-param name="arg2" select="$vfPrint"/>
      </xsl:call-template>
    </xsl:variable>

    <xsl:value-of select="$vrtfIterResult"/>
  </xsl:template>

  <myPrint:myPrint/>
  <xsl:template match="myPrint:*">
    Print this!
  </xsl:template>

</xsl:stylesheet>

When this transformation is performed on your source.xml:

<t>
  <total>45</total>
  <skip>20</skip>
</t>

the wanted result is produced:


    Print this!

    Print this!

    Print this!


=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL



"Frankie Roberto" <public(_at_)frankieroberto(_dot_)com> wrote in message
news:ILEMJNHHHLEKFFNFNLDMOEFJCHAA(_dot_)public(_at_)frankieroberto(_dot_)com(_dot_)(_dot_)(_dot_)

Hi,

I'm having problems trying to implement a 'for' loop in xslt - I haven't
seen any syntax so far that can cope with this (and my book doesn't go
into
it).

To explain, my XML looks something like:

<total>45</total>
<skip>20</skip>


The PHP script I am converting would do something like this:

for ($count = 0; $count<=$total; ($count = $count + $skip)) {

echo("Print this");

}

..looping $total/$skip times plus once for the remainder.

But I can't see any way of doing this in xslt so far...

Ta.

Frankie


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






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