Как объединить две переменные в разных областях? - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть следующий сценарий:

<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 Ответ

3 голосов
/ 11 ноября 2009

Как насчет:

<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:if.

Другой способ будет выглядеть так:

<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, не зависящая от условия, но она пуста, если условие ложно. И у вас еще есть переменная после условия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...