有没有办法在XSLT中只使用一种方法来使用变量?
例如:
<xsl:variable name="myvar" select="title" />
从我的xml中选择标题,然后我想在模板中使用它:
<h2 title="{$myvar}">{$myvar}</h2>
但是它只显示title属性。 当我这样做时:
<h2 title="<xsl:value-of select='$myvar'>"><xsl:value-of select='$myvar'></h2>
它只能反过来。
所以我的问题:
是否有一种适用于属性和内容的方式?
答案 0 :(得分:2)
是的,你可以避免AVT:
<h2>
<xsl:attribute name="title">
<xsl:value-of select=$myvar/>
</xsl:attribute>
<xsl:value-of select=$myvar/>
</h2>
但我觉得使用AVT和xsl:value-of
更简单:
<h2 title="{$myvar}">
<xsl:value-of select=$myvar/>
</h2>
答案 1 :(得分:1)
XSLT使用XML语法,这就是为什么你不能在属性中包含xsl:value-of指令的原因:因此使用花括号的AVT表示法。如果语言允许在文本节点内部使用花括号,那就太好了,但事实并非如此。