【发布时间】:2018-05-12 20:43:21
【问题描述】:
我有一个平面 XML 文档,我想对其进行分层编号。这甚至可能 - 使用<xsl:number ... count=''>?
XML-Source(部分和简化)
<modul>
<p>
<h1>A Heading
<p>
<figure>
<img>
<h2>A Heading
<p>
<h1>A Heading
<p>
<h2>A Heading
<p>
<h3>A Heading
<p>
<modul>
所需的输出 (html)
<html>
<p>
<h1>1. A Heading
<p>
<figure>
<img>
<h2>1.2 A Heading
<p>
<h1>2. A Heading
<p>
<h2>2.1 A Heading
<p>
<h3>2.1.1 A Heading
<p>
</html>
样式表(部分)
<xsl:template match="h1">
<h1>
<xsl:number count="h1"/>
<xsl:text>. </xsl:text>
<xsl:apply-templates/>
</h1>
</xsl:template>
<xsl:template match="h2">
<h2>
<xsl:number count="h1 | h2" level="multiple" format="1.1.1."/>
<xsl:apply-templates/>
</h2>
</xsl:template>
我可以对所有 h1 和 h2 元素进行编号,但我得到的只是一个连续编号(所有 h 元素都是连续编号的)。我不知道如何在下一个级别获得 h2/h3 元素。这里可以分层编号吗?
【问题讨论】:
标签: xml xslt numbers hierarchical flat