2009-11-11 46 views
0

我需要你在以下情况下帮助:如何在不同范围内连接两个变量?

<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 contact var1 with var2, please help --> </data> 

感谢。

回答

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> 

这就是你写的,VAR2不使用/ XSL后存在:如果。

另一种方法是这样的:

<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,但如果条件为假它是空的。在条件之后你仍然有变量。

+0

+1方式#2。你的第一个建议有点可怕。 – Tomalak 2009-11-11 17:03:38

+0

我认为#1不允许我们将#2中的空数据。 – 2009-11-11 17:54:54

+0

我承认在#1中根本没有太多的使用变量的点......但是如果变量是唯一的变量,我认为#1没有实际的变量(也就是把表达式放在xsl:text/xsl:value-of)是要走的路。 – 2009-11-11 19:18:32