簡體   English   中英

Java XSLT TransformerException:找不到函數:存在

[英]Java XSLT TransformerException: Could not find function: exists

Google的排名為零,所以我來了。

我正在用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的功能。 我檢查了兩個名稱空間,它們是相同的。

知道會發生什么嗎?

我認為您可以像這樣檢查節點的存在

 <xsl:if test="first">

exist()是XPath 2.0函數,因此錯誤消息表示您正在使用XSLT 1.0處理器。 如果您使用的是Java,則實際上沒有理由不繼續使用XSLT 2.0-這將為您節省大量時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM