如何在不同的范围内连接两个变量?

时间:2009-11-11 16:36:53

标签: xslt

我有以下情况:

<xsl:variable name="var1" select="'SOME_DATA1'" />
<xsl:if test="'some_condition'">
                <xsl:variable name="var2" >
                    <xsl:value-of select="'SOME_DATA2'"/>
                </xsl:variable>
</xsl:if>
<data> <!-- I need here to concat var1 with var2 --> </data>

1 个答案:

答案 0 :(得分:3)

怎么样:

<data>
  <xsl:variable name="var1" select="'SOME_DATA1'" />
  <xsl:text><xsl:value-of select="var1"/></xsl:text>
  <xsl:if test="'some_condition'">
     <xsl:variable name="var2" >
        <xsl:value-of select="'SOME_DATA2'"/>
     </xsl:variable>
     <xsl:text><xsl:value-of select="var2"/></xsl:text>
  </xsl:if>
</data>

你编写它的方式,在/ xsl:if。

之后不存在var2

另一种方式是这样的:

<xsl:variable name="var1" select="'SOME_DATA1'" />
<xsl:variable name="var2" >
  <xsl:if test="'some_condition'">
     <xsl:value-of select="'SOME_DATA2'"/>
  </xsl:if>
</xsl:variable>
<data> <!-- Use var1 and var2 here --> </data>

通过这种方式,你有一个var2 regarardeless的条件,但如果条件为假,它是空的。并且在条件之后你仍然有变量。