2011-06-08 58 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