Automatické číslování (2)

Example 2. Automatické víceúrovňové číslování

Aplikujeme-li tento styl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/book">
<html>
<body>
    <xsl:for-each select="chapter">
       <h2>
           <xsl:number count="chapter" format="1. "/>
           <xsl:value-of select="title" />
       </h2>
       <xsl:for-each select="sect1">
          <h3>
            <xsl:number count="chapter" format="1. "/>
            <xsl:number count="sect1" format="a. "/>
            <xsl:value-of select="title" />
          </h3>
          <xsl:apply-templates select="para"/>
       </xsl:for-each>
    </xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

na následující zdrojový soubor

<book>
  <title>Moje nová kniha</title> 
  <chapter>
    <title>První kapitola</title> 
    <sect1>
      <title>První sekce první kapitoly</title> 
      <para>Text</para> 
    </sect1>
    <sect1>
      <title>Druhá sekce první kapitoly</title> 
      <para>Text druhé sekce</para> 
    </sect1>
  </chapter>
  <chapter>
    <title>Druhá kapitola</title> 
    <sect1>
      <title>První sekce druhé kapitoly</title> 
      <para>Text</para> 
    </sect1>
    <sect1>
      <title>Druhá sekce druhé kapitoly</title> 
      <para>Text druhé sekce</para> 
    </sect1>
  </chapter>
</book>

dostaneme výslednou HTML stránku