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”的主要内容,如果未能解决你的问题,请参考以下文章