我正在尝试学习XSLT。我只是变得疯狂。变量应该在xsl:variables实体中声明,并且实例化它们的名称前面有$符号(比如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文档?非常感谢
答案 0 :(得分:17)
使用<xsl:value-of select="$color"/>
而不是直接将$color
写入文档。
答案 1 :(得分:11)
此外,在属性中,您可以直接获取值:
<span style="color:{$color}" />
答案 2 :(得分:2)
为什么这个代码:......
<xsl:variable name="color" select="'red'" /> <p>$color</p>
产生文字字符串: “$ color”正在撰写
因为此代码表示:输出字符串$ color作为<p>
元素的文本节点子元素。
要输出$color
xsl:变量的值,请使用以下其中一项:
<xsl:value-of select="$color"/>
强> <xsl:copy-of select="$color"/>
强> 答案 3 :(得分:2)
xslt的一个好的经验法则:如果它不在<xsl:foo>
标签中,那么它不是代码。这是输出。