根据要求将此问题移至另一个主题。
我正在尝试自定义DocBook XSL的HTML输出。
在docbook <table>
元素之后,样式表会生成以下代码:
<div class="table">
[...]
</div>
<p>
<br class="table-break">
</p>
这会在HTML输出中引入不需要的空格,我无法找到此代码的来源,因为在DocBook XSL中搜索“table-break”时没有结果。我该怎么做才能摆脱这段代码?
谢谢!
〜Slampisko
答案 0 :(得分:4)
此信息针对Docbook XSL 1.77.1。这可能与您的版本不匹配,特别是考虑到您的post table break元素包含<p>
:
正如mzjn所提到的,formal.xsl文件有你想要的东西。 formal.object
是在指定CALS表(或嵌入图形/媒体对象)时调用的命名模板。在此模板中,有一个测试来检查是否应该在之后添加break元素。有一个控制此行为的全局参数(文件顶部)。它默认启用:
<xsl:param name="formal.object.break.after">1</xsl:param>
您可以通过使用Saxon指定XSLT处理器的参数来重新定义它,例如,它将采用以下形式:
java -jar saxon.jar file.xml your.customisation.xsl formal.object.break.after=0
您可以通过在导入基本样式表后重新定义formal.object.break.after
,从自定义中隐藏它。