Příklad 11. Řešení pomocí for:each
<xsl:template match="/">
...
<fo:block>Obsah</fo:block>
<xsl:for-each select="kniha/kapitola">
<fo:block text-align-last="justify">
<fo:basic-link
internal-destination="{generate-id(.)}">
<xsl:value-of select="název"/>
</fo:basic-link>
<fo:leader leader-pattern="dots"/>
<fo:page-number-citation ref-id="{generate-id(.)}"/>
</fo:block>
<xsl:for-each select="podkapitola">
<fo:block start-indent="1em"
text-align-last="justify">
<fo:basic-link
internal-destination="{generate-id(.)}">
<xsl:value-of select="název"/>
</fo:basic-link>
<fo:leader leader-pattern="dots"/>
<fo:page-number-citation ref-id="{generate-id(.)}"/>
</fo:block>
</xsl:for-each>
</xsl:for-each>
<xsl:apply-templates/>
...
</xsl:template>
<xsl:template match="kapitola">
<fo:block ... id="{generate-id(.)}">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="podkapitola">
<fo:block ... id="{generate-id(.)}">
<xsl:apply-templates/>
</fo:block>
</xsl:template>