2012-02-29 3 views
3

У меня есть xsl-файл, который извлекает данные и сохраняет их в переменных. У меня есть значение 1, хранящееся в переменной. Теперь я хочу изменить значение переменной, т. Е. Если оно содержит 1, оно должно быть заменено активированным. Как мне это сделать ?Как изменить значение переменной в XSL?

Заранее спасибо

ответ

5

После того, как вы установили значение переменной, вы не можете изменить или изменить это значение !

http://www.w3schools.com/xsl/el_variable.asp

Допустим, у вас есть это:

<xsl:variable name="var">1</xsl:variable> 

Тогда, везде вам нужно, вы можете использовать следующий раздел (работает в XSLT 1.0), и это поставит activated значение в вашем если $var равно 1 (или значение $var в противном случае).

<xsl:choose> 
    <xsl:when test="$var=1">activated</xsl:when> 
    <xsl:otherwise><xsl:value-of select="$var"/></xsl:otherwise> 
</xsl:choose> 

Или вы можете объявить новую переменную:

<xsl:variable name="var2"> 
    <xsl:choose> 
     <xsl:when test="$var=1">activated</xsl:when> 
     <xsl:otherwise><xsl:value-of select="$var"/></xsl:otherwise> 
    </xsl:choose> 
</xsl:variable> 

В этом случае, вы должны будете использовать команду напечатать его на выходе:

<xsl:value-of select="$var2" /> 
+0

Спасибо Лукаш. Тогда как я могу получить вывод, который мне нужен? – kanwarpal

+0

@kanwarpal see my edit – Lukasz

+0

Lukasz, во второй активированной строке хранится в $ var? bcoz Я выводил $ var как html, или я могу напрямую его выводить. – kanwarpal