Subject: RE: [xsl] Assigning value to variable based on xsl:choose test From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 24 Jul 2006 10:08:54 +0100 |
This is a FAQ. The problem with your code is that instead of creating one variable with two possible values, it creates two different variables, and of course they both go out of scope. The solution is <xsl:variable name="X"> <xsl:choose> <xsl:when test="....">8</xsl:when> <xsl:when test="....">4</xsl:when> </xsl:choose> </xsl:variable> In XSLT 2.0 you can also write <xsl:variable name="X" select="if (...) then 8 else 4"/> I've no idea where xsl:attribute might come into the picture, but perhaps that's best not asked. xsl:attribute is an instruction that creates attribute nodes in the result tree. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: David Murphy [mailto:david@xxxxxxxxxxxxxx] > Sent: 24 July 2006 10:08 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Assigning value to variable based on xsl:choose test > > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Assigning value to variable b, David Murphy | Thread | Re: [xsl] Assigning value to variab, Abel Braaksma Online |
[xsl] Assigning value to variable b, David Murphy | Date | Re: [xsl] Assigning value to variab, Abel Braaksma Online |
Month |