[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Getting an error with a variable


Subject: Re: [xsl] Getting an error with a variable
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 28 Jul 2006 11:52:44 +0100

variable bindings are in scope just for the element that contains your
binding, so in your case it is only in scope within the xsl:for-each.
So it's already gone out of scope outside the xsl:when clause.

Also it is a lot more efficient to use the form

<xsl:variable name="sNum" select="@no"/>

as that binds sNum to the attribute whereas

	      <xsl:variable name="sNum">
	        <xsl:value-of select="@no"/>
	      </xsl:variable>
makes a new root node with child a text node with string value the
string value of the attribute.


I think you want the h2 element to contain the @no attribute if
0=$paramVal4
and $paramVal2 otherwise, in which case no variables are needed:

<h2>
<xsl:value-of select="$paramVal2[not(0=$paramVal4)]
                      |
                       /stages[0=$paramVal4]/competition/itinerary/stage[1]/@no" />
</h2>


David


Current Thread