gpt4 book ai didi

xslt - DocBook XSL - 可以编辑原始样式表吗?

转载 作者:行者123 更新时间:2023-12-04 23:10:36 24 4
gpt4 key购买 nike

我想根据特定的 <section> 是否将 DocBook 目录的某些行加粗定义了某个属性。这很容易通过添加 <xsl:if test="..."> DocBook XSL 的声明(fo/autotoc.xsl 第 187-230 行——这是使用 XMLMind 输出到 PDF)。

不过,我想知道自己编辑 DocBook XSL 是否是不好的做法。我在我自己的一个单独的 XSL 中有其他自定义,主要是设置参数,但我无法想象我将如何引入这种条件逻辑——基于当前正在处理的 TOC 行——而不放置某种代码在原件中。有什么想法吗?更改后如何升级到更新的 DocBook XSL?

最佳答案

Import来自您自己的 XSLT 的 docbook 样式表。然后,(重新)定义要“覆盖”的 Docbook 模板。

由于您的模板将是导入树中最高的,因此它将优先。

通过这样做,您不必修改任何核心 docbook XSLT 文件。它将在 future 更轻松地升级 Docbook 样式表。

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="xsl/fo/docbook.xsl"/>

<xsl:template match="template-that-you-need-to-redefine">
...
</xsl:template>

</xsl:stylesheet>

关于xslt - DocBook XSL - 可以编辑原始样式表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1726194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com