2

我有以下问题,基本上我只是想创建一个自定义数组,比如 - Yellow | 红色 | 绿色的

在使用 for-each 遍历这些项目并打印值之后,我创建了如下内容:

        <xsl:variable name="Colors">
           <m>Yellow</m>
           <m>Red</m>
           <m>Green</m>
        </xsl:variable>

然后我尝试循环它:

        <xsl:for-each select="$Colors">

            <xsl:value-of select ="current()" />                
        </xsl:for-each>

但我得到这个错误: Exrpession must evalutate to a node-set $Colors

任何想法,可能是什么问题?

4

1 回答 1

4

xsl:copy-of使用 XSLT 1.0,您的变量包含一个结果树片段 (RTF),除了使用or之外,您无法对它做任何事情xsl:value-of。幸运的是,大多数 XSLT 1.0 处理器支持exsl:node-set或类似的将结果树片段转换为节点集,以便您可以使用<xsl:for-each select="exsl:node-set($Colors)/m">...</xsl:for-each>,然后您需要xmlns:exsl="http://exslt.org/common"在样式表中声明。

于 2013-09-18T12:13:18.830 回答