谷歌轉起來零,所以我在這裏。Java XSLT TransformerException:找不到功能:存在
我正在使用Java中的XSLT。這不是該項目中唯一的XSLT,其他人工作得很好。我的問題如下:
我得到一個javax.xml.transform.TransformerException錯誤信息「找不到函數:存在」。我的XSLT如下:
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xpath="http://www.w3.org/2005/xpath-functions" xmlns:java="java"
xmlns:url="http://whatever/java/java.net.URLEncoder"
exclude-result-prefixes="url">
<xsl:template match="User">
<user>
<id><xsl:value-of select="id"/></id>
<xsl:if test="exists(first)"><first><xsl:value-of select="first"/></first></xsl:if>
</user>
</xsl:template>
</xsl:stylesheet>
的XML輸入以及形成的,如果我刪除<xsl:if test="exists(first)">
線,一切正常。
如前所述,我還有其他XSLT可以很好地工作,其中包括一些使用exists
函數的XSLT。我檢查了兩者的命名空間,它們是相同的。
任何想法可能會發生什麼?
解決方案可能是'test =「first」'。由於'exists'是XPath 2,難道這種轉換的編程方式與Xalan(XPath 1)不同嗎?如果像Xerces這樣的另一個SPI被遺漏了。 – 2012-02-23 18:52:34