java.lang.RuntimeException:无法识别的 XSLTC 扩展“http://saxon.sf.net/:assign”

Posted

技术标签:

【中文标题】java.lang.RuntimeException:无法识别的 XSLTC 扩展“http://saxon.sf.net/:assign”【英文标题】:java.lang.RuntimeException: Unrecognized XSLTC extension 'http://saxon.sf.net/:assign' 【发布时间】:2014-05-28 04:49:16 【问题描述】:

当我通过 java 运行我的 xsl 代码时,我不断收到java.lang.RuntimeException: Unrecognized XSLTC extension 'http://saxon.sf.net/:assign'。 xsl声明如下:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    extension-element-prefixes="saxon redirect" version="2.0" 
    xmlns:saxon="http://saxon.sf.net/"
    exclude-result-prefixes="saxon">

我正在尝试使用 Saxon 来在每次流进入 for-each 循环时增加一个变量。

【问题讨论】:

【参考方案1】:

Unrecognized XSLTC extension 的错误消息表明您正在运行 Xalan XSLTC 而不是 Saxon 9 来执行样式表。您可以在 Java 中使用不同的 XSLT 处理器,但是对于一个样式表,您一次只能使用一个,因此您需要决定是要使用 Saxon 还是 Xalan,然后您可以使用所选处理器支持的扩展,但是不是不同处理器支持的扩展。

【讨论】:

除了这个答案,如果你解释你要解决什么问题,那么我们可能可以在不使用这个撒克逊扩展的情况下帮助你解决它,至少有两个原因最好避免它:使您的样式表不可移植,并禁用许多 Saxon 优化。

以上是关于java.lang.RuntimeException:无法识别的 XSLTC 扩展“http://saxon.sf.net/:assign”的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 按钮导致崩溃

添加 ImageView 时应用程序崩溃?