我有以下形式的xml:第1章第1.1
章第1.1.1章第1.2章
<CHAPTER>
<LONG-NAME>Chapter 2</LONG-NAME>
<CHAPTER>
<LONG-NAME>Chapter 2.1</LONG-NAME>
</CHAPTER>
<CHAPTER>
<LONG-NAME>Chapter 2.2</LONG-NAME>
</CHAPTER>
</CHAPTER>
</REPORT-BODY>
一个章节中可以有任意数量的章节。如何编写 xsl-fo 以获取输出 pdf,如下所示:
1. Chapter 1
1.1 chapter 1.1
1.1.1 Chapter 1.1.1
1.2 Chapter 1.2
2.Chapter 2
2.1 Chapter 2.1
2.2 Chapter 2.2
我尝试使用:
<xsl:template
match="CHAPTER/LONG-NAME">
<fo:block
color="#374B80"
font-size="12px"
font-family="Helvetica"
font-weight="bold"
padding-top="3px"
padding-bottom="3px">
<xsl:if test="ancestor::REPORT-BODY">
<xsl:variable name="chapNum">
<xsl:number from="CHAPTER" count="LONG-NAME" format="1 " level="any"/>
</xsl:variable>
<xsl:value-of select="$chapNum"/>
</xsl:if>
<xsl:if test="ancestor::CHAPTER">
<xsl:variable name="chapNumber">
<xsl:text>.</xsl:text>
<xsl:number from="CHAPTER/CHAPTER" count="LONG-NAME" format="1. " level="any"/>
</xsl:variable>
<xsl:value-of select="$chapNumber"/>
</xsl:if>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
但我无法实现所需的编号。