簡體   English   中英

錯誤:“非靜態Java函數'evaluate'的第一個參數不是有效的對象引用。' 使用TrasformFactory時

[英]ERROR: 'The first argument to the non-static Java function 'evaluate' is not a valid object reference.' when using TrasformFactory

我正在嘗試將xsl + xml轉換為xml(稍后再使用FOP庫將其轉換為pdf)。 我正在使用的JDK是1.5,並且我無法使用其他JDK(這就是我所使用的公司所使用的)。 我讀到Java 1.5的xalan jar是導致錯誤的原因之一。 導致錯誤的文本是:

"dyn:evaluate($xpath)"/>

在:

  <xsl:variable name="paramName" select="@name"/>
    <xsl:variable name="xpath"
      select="concat('/doc/data/',$paramName)" /> 
      <fo:inline>
        <xsl:value-of select="dyn:evaluate($xpath)"/>
      </fo:inline>
    </xsl:template>

有沒有不更換罐子就可以解決的方法? 有沒有辦法寫不同的書? 還是我使用了錯誤的語法?

謝謝你的幫助

evaluate()是一個EXSLT擴展函數。 它是非標准的,但是許多XSLT處理器( 包括xalan )都支持它。

您是否在樣式表中聲明了dyn名稱空間前綴,以便其正確引用EXSLT動態名稱空間?

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:dyn="http://exslt.org/dynamic"
                extension-element-prefixes="dyn">

...

</xsl:stylesheet>

暫無
暫無

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

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