如何在XSLT文件中创建索引页

时间:2015-08-04 06:53:58

标签: xsl-fo

我是XSL的新手。我想用xsl-fO创建一个PDF。在我的PDF中有像

这样的部分
  1. 一般
  2. 车辆构造
  3. 车身
  4. 我想在PDF的开头显示此部分的索引。我在xsl中尝试了以下代码,但它无法正常工作。它仅显示" 车辆构造"

    <fo:block>Construction of Vehicle
      <fo:index-page-citation-list>
        <fo:index-key-reference ref-index-key="Construction of Vehicle"/>
      </fo:index-page-citation-list>
    </fo:block>
    

    还有其他方法可以在XSL中获取索引。 请建议..

1 个答案:

答案 0 :(得分:1)

您想要的是目录。

您通常通过在每个部分中放置一个唯一的数字来创建它。就我而言,XML已经包含了我可以使用的唯一编号(idRef属性),否则您可以使用generate-id创建唯一编号。

<xsl:template match="section">
    <fo:block id="{@idRef}"/>
    <!--section content goes here-->
</xsl:template>

然后TOC是一系列指向每个ID的链接:

<xsl:for-each select="/manual/chapter">
    <fo:basic-link internal-destination="{@idRef}"><xsl:value-of select="title"/></fo:basic-link><!-- copies the section title-->
    <fo:basic-link internal-destination="{@idRef}"><fo:page-number-citation ref-id="{@idRef}"/></fo:basic-link><!-- generates the page number of the section-->