This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: xsl:variable within xsl:choose. Why doesn't that work? And what does?
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] xsl:variable within xsl:choose. Why doesn't that work? And what does?
- From: Ingo Schildmann <ingoschi at web dot de>
- Date: Thu, 17 May 2001 14:05:40 +0200
- References: <D1F94D8C7C1FD111A5290020AF92B1B3E4CAFB@INTRASERVER>
- Reply-To: xsl-list at lists dot mulberrytech dot com
On Thursday 17 May 2001 13:15, you wrote:
> Hi XSL-ers,
>
> Why doesn't this work and what can I do about it?
> (I know I can use xsl:value-of instead of the xsl:variable, but I need de
> aVar later)
>
> <xsl:choose>
> <xsl:when test="do a test">
> <xsl:variable name="aVar" select="when var"/>
> </xsl:when>
> <xsl:otherwise>
> <xsl:variable name="aVar" select="otherwise var"/>
> </xsl:otherwise>
> </xsl:choose>
>
> <xsl:value-of select="$aVar"/>
First:
If you want to select a string literal you have to quote it:
<xsl:variable name="aVar" select="'when var'"/>
Second:
The variable is out of scope outside of xsl:choose.
You can avoid that this way:
<xsl:variable name="aVar">
<xsl:choose>
<xsl:when test="do a test">
<xsl:value-of select="'when var'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'otherwise var'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$aVar"/>
--
Ingo Schildmann ingoschi@web.de
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list