簡體   English   中英

如何從xsl:apply-templates調用XSLT中的外部Java函數

[英]How to call an external java function in XSLT from xsl:apply-templates

顯然,不可能直接從xsl:apply-templates調用外部函數。 我有一個包含html標簽的XML節點,例如:

<text>
    <ul>
        <li>
            blablablaba
        </li>
    </ul>
<text>  

在我的輸出中,如果要應用html標記,則需要使用xsl:apply-templates select =“ text” />。 我不能使用xsl:value-of,因為它不會考慮HTML。 現在的問題是,我需要調用一個將轉換html標簽的函數,這樣我的代碼將是:

<xsl:apply-templates select="util:myFunction(text)"/>

但是,這將導致錯誤,還有其他方法可以做到嗎?

提前致謝。

我想您想說的是:在XSLT需要一個評估為一組節點的XPath表達式的情況下,似乎無法對返回字符串的Java函數使用函數調用。

是的,那是不可能的。

如果要使用調用util:myFunction(text)選擇應將模板應用到的節點,則將需要該函數使用XSLT處理器使用的任何樹表示形式返回一組節點。

對於完全支持用戶提供的Java功能的XSLT處理器,幾乎可以肯定地做到這一點。 幾乎肯定不是選擇要處理的輸入節點的最佳解決方案。 很難想象Java中比XSLT更容易的節點選擇過程。

暫無
暫無

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

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