[英]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.