1
我有一个密钥: <xsl:key name="colorNumKey" match="color" use="@id"/>
。从密钥复制nodeset到变量
而我知道有5个节点集被选中(5个不同的<colour>
元素)。如果我可以将这5个节点集复制到变量中,是否有可能?所以我可以使用Variable nodeset进行处理。
我有一个密钥: <xsl:key name="colorNumKey" match="color" use="@id"/>
。从密钥复制nodeset到变量
而我知道有5个节点集被选中(5个不同的<colour>
元素)。如果我可以将这5个节点集复制到变量中,是否有可能?所以我可以使用Variable nodeset进行处理。
这是可能的。如何做到这一点,这取决于上下文。
例,在color
父的背景下(让说colors
),你可以使用:
<xsl:template match="colors">
<xsl:variable name="children" select="key('colorNumKey',*/@id)"/>
<!-- use $children -->
</xsl:template>
感谢EMPO ..它的工作.. :-) 早些时候,我想: '< xsl:variable name =“children”> xsl:variable>' 而且它只取第一个节点。任何想法为什么? –
Gracious
2011-06-08 11:28:19
这样,你只能保存在可变文本中。阅读[W3C](http://www.w3.org/TR/xslt#value-of)。它仅取第一个节点...取决于上下文。 – 2011-06-08 11:32:42
不客气。 – 2011-06-08 11:32:55