【问题标题】:Saxon doesn't support `saxon:output` anymoreSaxon 不再支持 `saxon:output`
【发布时间】:2013-07-29 16:23:18
【问题描述】:

我正在尝试使用 Saxon 9.1.0.8 HE 来应用(最近的)Docbook XSL,并得到了这个:

Don't know how to chunk with SAXON 9.1.0.8 from Saxonica 
Processing terminated by xsl:message at line 46 in chunker.xsl

Docbook XSL 来源声称:

<!-- This stylesheet works with XSLT implementations that support -->
<!-- exsl:document, saxon:output, or Xalan's redirect:write -->
<!-- Note: Only Saxon 6.4.2 or later is supported. -->

...访问错误消息中提到的第 46 行(测试 element-available('saxon:output'))和 Saxon documentation,表明问题的根源在于 Saxon 不再识别 saxon:output 扩展.

This source 建议使 Saxon 9.4 与 XSLT 1.0 兼容(这是样式表的所在,而 saxon:output 曾经是最适合的),某种“向后兼容的行为”必须被启用。但是为什么,以及如何?

(有问题的文档样式表确实指定了&lt;xsl:stylesheet version="1.0" xmlns:saxon="http://icl.com/saxon"&gt;。)

【问题讨论】:

  • 这确实是Saxon Help 邮件列表的问题,虽然迈克尔凯偶尔会在这里闲逛。
  • 这更像是一个关于docbook的问题。
  • 感谢大家提供非常有用的答案。我的docbook相关的实际问题解决了。 (我从@MichaelKay 的回答中收集到,就 XSLT 1.0 或遗留扩展元素而言,较新版本的 Saxon 并不打算向后兼容;这部分问题在我看来是关于 Saxon,因此关于 XML编程工具,这就是我选择在这里问的原因。)
  • 我对 Saxon 的一般政策是,当 Saxon 扩展被标准 XSLT 语言中的工具取代时,我通常会在几个版本后撤回专有扩展以提供过渡时间。在规则不完全相同且旧设施可能由于环境依赖性而需要大量支持的情况下尤其如此。当然,有些应用程序永远不会进行转换,然后它们就会停留在较旧的 Saxon 版本上。
  • @MichaelKay - 谢谢,这给了我很多启发。

标签: xslt xslt-1.0 saxon docbook


【解决方案1】:

我不是 DocBook 方面的专家,但我相信 Docbook 1.0 样式表可能最适合 Saxon 6.5.5,如果您想使用最新的 Saxon 版本(例如为了性能),那么您最好使用Docbook 2.0 样式表:参见

http://norman.walsh.name/2011/08/25/docbook-xslt-2

【讨论】:

    【解决方案2】:

    如果您想运行 XSLT 1.0 样式表来尝试访问命名空间 xmlns:saxon="http://icl.com/saxon" 中的扩展,那么您应该使用 lastest version of Saxon 6,我认为它是 6.5.5。

    Saxon 9 是 XSLT 2.0 处理器,我不认为谈论“Saxon 6.4.2 或更高版本”的评论考虑了 Saxon 9,它只是在谈论 XSLT 1.0 处理器的 Saxon 6.x 版本.

    除此之外,我同意 Ken 的观点,如果您想使用 Saxon 9,请编辑样式表以使用 XSLT 2.0 xsl:result-document

    【讨论】:

      【解决方案3】:

      Saxon 9 支持 XSLT 2.0,因此只需使用 &lt;xsl:result-document&gt; 创建多个结果树。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-03
        • 2018-05-17
        • 2012-06-11
        • 2016-12-31
        • 1970-01-01
        • 1970-01-01
        • 2017-02-27
        • 2018-02-06
        相关资源
        最近更新 更多