This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: xsl:variable within xsl:choose. Why doesn't that work? And what does?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]