我在SAXON
文件中使用xsl
处理程序,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0" xmlns:java="http://xml.apache.org/xslt/java"
exclude-result-prefixes="java">
<xsl:output method="xml"/>
<xsl:template name="printjavaDate">
<xsl:variable name="date" select="java:java.util.Date.new()"/>
<xsl:value-of select=""/>
</xsl:template>
但是这段代码并不适合我。
它抛出错误:
javax.xml.transform.TransformerException: The URI http://xml.apache.org/xslt/java does not identify an external Java class
at com.icl.saxon.style.StyleElement.styleError(StyleElement.java:803)
我不确定为什么会这样。 我只要求使用XSLT 1.0。
我可以知道导致此错误的原因吗?希望这里的专家会帮助我。
答案 0 :(得分:0)
我猜xmlns:java="http://xml.apache.org/xslt/java"
特定于Xalan,如果您想在Saxon 6中使用扩展函数,请参阅http://domain2.com。
这是一个适用于Saxon 6.5的示例:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:date="java:java.util.Date">
<xsl:output method="xml"/>
<xsl:template name="printjavaDate" match="/">
<xsl:variable name="date" select="date:new()"/>
<xsl:value-of select="$date"/>
</xsl:template>
</xsl:stylesheet>