如何使用XSLT变量的值?

如何使用XSLT变量的值?,xslt,Xslt,我正在努力学习XSLT。我简直是疯了。变量应该在xsl:Variables实体中声明,并用前面有$symbol的名称进行实例化(比如perl变量),对吗?究竟为什么会有这样的代码: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:variable name="col

我正在努力学习XSLT。我简直是疯了。变量应该在xsl:Variables实体中声明,并用前面有$symbol的名称进行实例化(比如perl变量),对吗?究竟为什么会有这样的代码:

<xsl:stylesheet version="1.0"  
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
        <xsl:variable name="color" select="'red'" />
        <p>$color</p>
    </xsl:template>
</xsl:stylesheet>

$color

结果是使用msxsl解析器解析简单的非空xml文档时写入了文本字符串“$color”?非常感谢

使用
而不是将
$color
直接写入文档


另请参见。

此外,在属性中,您可以像下面这样直接获得值:

<span style="color:{$color}" />

究竟为什么会有这样的代码:


$color

结果为文本字符串: 正在编写“$color”

因为此代码意味着:将字符串$color作为
元素的文本节点子元素输出

要输出
$color
xsl:variable的值,请使用以下选项之一:


xslt的一个好的经验法则:如果它不在
标记中,那么它就不是代码。它是输出。

+1-这些年来我一直在做这个-为什么以前没有人告诉我!同上。。。最糟糕的是,我以前见过,但后来忘了(很高兴能传播一些喜悦-@Phil,当我发现这一点时,你的话和我的很相似!