我的一些样式表有点大,而且它们的某些部分是重复的。我想为它们使用 XInclude——这将允许我将它们与整个样式表分开。我不能使用xsl:import
or xsl:include
here,因为我需要将它们注入到特定位置以生成书签和活动链接(对于 XSL-FO)。
如果我使用:
<xi:include href="/db/apps/tested-bunny/resources/xsl-fo/common/bookmark-tree.xml/>
….fo
生成的文件确实包含该部分。但是,该部分是未翻译的,这意味着它在源中就在那里。XSL-FO 处理器因此忽略它并且 pdf 结果没有书签。
至于分离的部分——我将它保存为一个常规 XML 文件,并在根元素中声明了两个命名空间:
<fo:bookmark-tree xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:if test="$head-level ge '1'">
...
如果我尝试在 XSL 样式表的形式中包含相同的代码片段,它是相同的——它被正确地注入到那里,但它没有将其功能添加到整个样式表中,它仍然没有被翻译。
是否有任何我不知道的具体做法或限制?如何正确地做到这一点?