Řízení chodu transformace uvnitř šablony - cykly

Cíl: Větvit generování výstupu na základě podmínky.

Řešení: Použít do konstrukční části šablony větvení - jednoduché xsl:if nebo vícecestné xsl:choose/xsl:when/xsl:otherwise:

Vstup:

 <pecivo> <rohlik cena="5"> ... </rohlik> <rohlik cena="2"> ... </rohlik> <rohlik cena="0.9"> ... </rohlik> </pecivo> 

Šablona:

 <xsl:template match="pecivo"> <xsl:for-each select="rohlik"> <p>Rohlík - cena <xsl:value-of select="@cena"/> Kč</p> </xsl:for-each> </xsl:template> 

Vytvoří element p, do něj vloží info o rohlíku - se zvýrazněním, je-li drahý.

Pozor: Konstrukce xsl:for-each má typicky procedurální charakter, je dobré s ní šetřit. D8v8 toti6 minumum flexibility na obsah iterované množiny uzlů - tj. předem musím vědět, co tam bude.