簡體   English   中英

xslt獲取具有鍵功能的節點集文本

[英]xslt get node-set text with key function

是否可以在xslt 1.0中使用鍵功能訪問節點集的textnode? 我有以下代碼:

<xsl:variable name="Items">
        <Item ID="ID1">name1</Item>
        <Item ID="ID2">name2</Item>
</xsl:variable>

<xsl:key name="get_item_by_ID" match="exsl:node-set($Items)/Item" use="@ID"/>

<xsl:template match="/Items">
    <xsl:value-of select="key('get_item_by_ID', @ItemID)/text()"></xsl:value-of>
 </xsl:template> 

我想通過當前項的ItemID搜索節點集的文本,以便通過其預定義的節點集文本(ID1:name1,ID2:name2)重命名該項目。

您在此處遇到上下文問題:

exsl:node-set($Items)創建的exsl:node-set($Items)是一個單獨的“文檔”。 您不能在<key>元素的match屬性內指定要匹配的文檔。

在調用key()函數之前,必須將上下文切換到所需的文檔(在XSLT 2.0中,您可以在key()函數本身內指定要匹配的文檔)。

暫無
暫無

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

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