http://onionworks.net/2004/renderengine/utility

createIterationBlocks (itemCount : int, blockSize : int) : nodeset

Mit der Methode createIterationBlocks kann eine Anzahl von Elementen  itemCount in Einheiten aufgeteilt werden. Diese Einheiten enthalten dabei jeweils blockSize Items.

<xsl:stylesheet version="1.0">
<xsl:template match="/">
<xsl:variable name="items" c.as="Node">
<item>Nummer 1</item>
<item>Nummer 2</item>
<item>Nummer 3</item>
<item>Nummer 4</item>
<item>Nummer 5</item>
<item>Nummer 6</item>
<item>Nummer 7</item>
</xsl:variable>
<table>
<xsl:for-each select="util:createIterationBlocks(count($items/item), 3)">
<tr>
<xsl:for-each select="item">
<td>
<xsl:variable name="index" select="number(@index)" />
<xsl:value-of select="@index" />
:
<xsl:value-of select="$items/item[$index]" />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Ausgabe von Elementen in einer Tabelle

Ausgabe:

1: Nummer 1 2: Nummer 2 3: Nummer 3
4: Nummer 4 5: Nummer 5 6: Nummer 6
7: Nummer 7


In dem Beispiel werden sieben Elemente in eine Tabelle geschrieben, wobei festgelegt ist, dass jede Spalte eine Einheit von drei Elementen enthält.