我正在从 Tomcat 4.0 迁移到旧的Web应用程序 WAS 6.1 。
我们使用了很多 xslt转换这样(简化):
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:java="com.map.agro.Util">
<xsl:variable name="LAWEBAPP">
<xsl:value-of select="java:getCtx('BACK')"/>
</xsl:variable>
<xsl:template match="ROW">
<a><xsl:attribute name="href">/<xsl:value-of select="$LAWEBAPP"/>/search.jsp</a>
</xsl:template>
</xsl:stylesheet>
它适用于Tomcat 4.0,但不适用于WAS 6.1,它抱怨:
XSL-1000: (Fatal Error) Error while parsing XSL file (Extension function namespace should start with 'http://www.oracle.com/XSL/Transform/java/'.).
我尝试过在Google上发现的几种变体但没有成功。
有人知道这里会发生什么以及如何解决它?
(负责xslt转换的.jar库是什么?)
由于
答案 0 :(得分:0)
问题解决了,
在类路径中,有一个名为 xmlparserv2.jar 的库,带有“有问题”的xslt处理器(在 javax.xml.transform 基础上)。
从项目中删除,做点什么。
现在,其他库执行xslt转换(在 org.apache.xalan.xslt 的基础上)。
这篇文章给了我很多帮助: What processor is javax.xml.transform Using?