Subject: Re: Assigning value to variable based on xsl:choose test
From: Abel Braaksma Online <abel.online@xxxxxxxxx>
Date: Mon, 24 Jul 2006 11:10:37 +0200
|
Hi David,
I think what you want to do is putting the test inside the variable.
Like this:
<xsl:variable name="numTickets">
<xsl:choose>
<xsl:when test="price_type = 56">8</xsl:when>
<xsl:when test="price_type = 57">4</xsl:when>
<xsl:otherwise>9</xsl:otherwise>
</xsl:choose>
</xsl:variable>
This way you can use the variable $numTickets inside any other function
in the same scope, or global scope if you defined the variable on root
level.
Cheers,
Abel Braaksma
Nuntia B.V.
David Murphy wrote:
Hello
Is it possible to set the value of a variable based upon a test?
My first effort is below, and I also tried to assign the value to the
variable using xsl:attribute but that doesn't work either.
<xsl:choose>
<xsl:when test="price_type = 56"><xsl:variable name="numTickets"
select="8"/></xsl:when>
<xsl:when test="price_type = 57"><xsl:variable name="numTickets"
select="4"/></xsl:when>
<xsl:otherwise><xsl:variable name="numTickets"
select="9"/></xsl:otherwise>
</xsl:choose>
...
<xsl:call-template name="counter">
<xsl:with-param name="max" select="$numTickets"/>
</xsl:call-template>
I'm guessing that one cannot assign values to variables inline like
this, but I've not managed to get it working so a bit of guidance that
will help me work this out would be much appreciated.
Regards, David
|