0

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

我发现了这个: 禁用文档目录

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

4

2 回答 2

1

转换时,您可以使用该Transformer#setParameter(String, Object)方法指定不生成 TOC,如下所示:

transformer.setParameter("generate.toc", "nop");
于 2012-07-16T22:24:16.097 回答
1

Elaborate DocBook 格式旨在使用 xsl 样式表进行自定义。

也可以看看

编写用于格式化的 DocBOOK 自定义层

使用 XSL 自定义目录

custom_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">. article通过仅使用单个单词或book代替正确的空格分隔对,我已经成功地抑制了 TOC 。

于 2012-07-27T21:36:48.177 回答