如何使用变量值

时间:2015-09-30 07:27:00

标签: xslt

此处的变量行为无法按预期工作。 我有一个名为fonttag的变量,其值为HTML行,包含开始和结束标记以及分隔符。

<xsl:variable name="fonttag">
    <font face="ANGSANA NEW" size="12">|</font>
</xsl:variable>

当我尝试使用它时,为了获得部分字符串,我得到一个空字符串:

<xsl:value-of select="substring-before($fonttag ,'|')"/>

我期望子字符串:

<font face="ANGSANA NEW" size="12">

同样

<xsl:value-of select="$fonttag"/>
尽管

什么都不返回

<xsl:copy-of select="$fonttag"/>

返回整个字符串。还有另一种方法可以达到预期的效果吗?

派生问题:是否可以像这样嵌套xsl选择标签(无法使其工作)

<xsl:copy-of select="substring-before( <xsl:copy-of select="$fonttag"/>,'|')"/> 

感谢

1 个答案:

答案 0 :(得分:0)

我担心你会误解XSLT的工作原理。您的变量不包含字符串 "<font face="ANGSANA NEW" size="12">|</font>"。它包含元素 font,包含两个属性,字符串值为"|"xsl:value-of指令以及任何字符串函数(如substring())仅处理给定表达式的string value