2011-06-08 79 views
1

我有一個密鑰: <xsl:key name="colorNumKey" match="color" use="@id"/>從密鑰複製nodeset到變量

而我知道有5個節點集被選中(5個不同的<colour>元素)。如果我可以將這5個節點集複製到變量中,是否有可能?所以我可以使用Variable nodeset進行處理。

回答

0

這是可能的。如何做到這一點,這取決於上下文。

例,在color父的背景下(讓說colors),你可以使用:

<xsl:template match="colors"> 
<xsl:variable name="children" select="key('colorNumKey',*/@id)"/> 
<!-- use $children --> 
</xsl:template> 
+0

感謝EMPO ..它的工作.. :-) 早些時候,我想: '< xsl:variable name =「children」> ' 而且它只取第一個節點。任何想法爲什麼? – Gracious 2011-06-08 11:28:19

+0

這樣,你只能保存在可變文本中。閱讀[W3C](http://www.w3.org/TR/xslt#value-of)。它僅取第一個節點...取決於上下文。 – 2011-06-08 11:32:42

+0

不客氣。 – 2011-06-08 11:32:55