Docbook - 抑制TOC

时间:2012-07-16 22:05:43

标签: html docbook

我正在使用1.77 xsl转换将docbook转换为html。但是当它被转换时,它会自动生成一个目录。你如何改变这种行为?

我找到了这个:Disable table of contents for documents

所以我猜测html xsl转换会是演示系统吗?

2 个答案:

答案 0 :(得分:1)

转换时,您可以使用Transformer#setParameter(String, Object)方法指定不会像这样生成TOC:

transformer.setParameter("generate.toc", "nop");

答案 1 :(得分:1)

精心设计的DocBook格式是使用xsl样式表自定义的。

另请参阅

Writing a DocBOok Customization Layer for Formatting

Customizing Table Of Contents Using XSL

customize_formatting.xsl:示例DocBook XSL自定义层

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    version="1.0"> <!-- change this to 2.0 if your tools support it -->
    <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>

    <!--uncomment this to suppress toc when using XSL 1.0 or 2.0
    <xsl:param name="generate.toc">article</xsl:param>
    <xsl:param name="generate.toc">book</xsl:param>
    -->

    <!--uncomment this to suppress toc when using XSL 2.0
    <xsl:param name="generate.toc">
        article nop
        book nop
    </xsl:param>
    -->

</xsl:stylesheet>

如何使用customize_formatting.xsl

指向您的工具以使用customize_formatting.xsl而不是现成的docbook.xsl。然后,将所有格式自定义设置放在<xsl:stylesheet>部分的正文中。

对于TOC抑制,您可以取消注释相应的行。

有一些(或许所有)XSL 1.0工具的怪癖似乎阻止它们处理<xsl:param name="generate.toc">主体中使用的空格分隔对。我通过使用单个词articlebook而不是正确的空格分隔对来成功抑制TOC。