如何从 XML 源文档设置任意样式表参数?

问题描述 投票:0回答:1

我有一组 DocBook XML (

article
) 文档和以下要求:大多数文档应呈现(转换为 PDF)而不带编号部分,但某些文档确实需要编号部分。我想在文档中标明编号部分的要求,而不是保留哪个文档需要哪种处理的外部清单。

我的第一个想法是:处理设置 (DocBook XSL)

section.autolabel

 参数的指令。我的第二个想法是:为什么停在那里?最好的处理指令是将任意参数设置为任意值,就像此处描述的那样:
PI 参数。看来那里的xslt-param
 PI只被一些古老版本的Firefox支持。我们正在使用 Saxon HE 12。

接下来,我可以在 XSLT 中获得大部分内容(使用 DocBook

pi-attribute

 模板):

<xsl:template match="processing-instruction('xslt-param')"> <xsl:variable name="name"> <xsl:call-template name="pi-attribute"> <xsl:with-param name="pis" select="."/> <xsl:with-param name="attribute" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="value"> <xsl:call-template name="pi-attribute"> <xsl:with-param name="pis" select="."/> <xsl:with-param name="attribute" select="'value'"/> </xsl:call-template> </xsl:variable> <xsl:param name="$name" select="$value"/> </xsl:template>
但此时,我无法引用 

$name

 作为参数的 
name
xsl:param
 行存在语法错误。

问题:

    我可以单独使用 XSLT 到达那里吗?
  1. 我是否错过了 DocBook XSL 样式表 (1.79.2) 中的某些内容(除了使用
  2. dbfo
     机制为 
    section.autolabel 创建特定
     PI 之外)?
  3. 是否有任何 XSLT 处理器提供执行此操作的扩展?
xslt saxon docbook-xsl
1个回答
0
投票
我认为

xslTNG 样式表支持这一点,但显然还没有。我添加了一个问题:https://github.com/docbook/xslTNG/issues/506

我落后于样式表的更新,但希望尽快回复它们。

© www.soinside.com 2019 - 2024. All rights reserved.