Thomas J.S.: XSL / number()

Beitrag lesen

Hallo,

Benutze ich for-each, dann werden die Unterkapitel ausgegeben und richtig nummeriert. Allerdings werden dann alle Kapitelüberschriften mehrfach ausgegeben.
Woran könnte das Verhalten liegen?

Das Problem hast du durch for-each, damit führst du für jedes Kapitel-Element  dies Nummerierung durch, d.h. bei jedem erzeugst du die gesamte Liste.

Ich würde das so trennen:
 <xsl:template match="Handbuch/Handbuchinhalt">
  <xsl:apply-templates select=".//Kapitel" mode="toc" />

<hr />
  <h3>Ab hier was anderes</h3>

</xsl:template>

<xsl:template match="Kapitel" mode="toc">
  <xsl:number level="multiple" format="1.1.1."/>&#160;<xsl:value-of select="./text()"/>
   <br />
 </xsl:template>

Grüße
Thomas