Subject: RE: How to assign a nodelist to a variable
From: "Lars Huttar" <lars_huttar@xxxxxxx>
Date: Wed, 7 Jan 2004 14:48:01 -0600
|
> Hi all....
>
> I need to do something like:
>
> <xsl:value-of select="ROW[field1 = 'A' and field2 = 'B']/f1" />
> <xsl:value-of select="ROW[field1 = 'A' and field2 = 'B']/f2" />
> <xsl:value-of select="ROW[field1 = 'A' and field2 = 'B']/f3" />
>
> Since I need to call ROW[field1 = 'A' and field2 = 'B']
> repeteadly, I think that by placing it in a variable first
> will be better, so I tried:
>
> <xsl:variable name="valores"><xsl:value-of select="ROW[field1
> = 'A' and field2 = 'B']" /></xsl:variable>
This should be changed to:
<xsl:variable name="valores" select="ROW[field1 = 'A' and field2 = 'B']" />
When a variable is given its value via the select attribute,
it can remain a nodeset.
When the value is given as the content (child[ren]) of xsl:variable,
it gets converted to a result tree fragment, which cannot be used
as a nodeset in XSL 1.0.
Lars
> and then called:
>
> <xsl:value-of select="$valores/f1" />
> <xsl:value-of select="$valores/f2" />
> <xsl:value-of select="$valores/f3" />
>
> but I receive the error:
>
> "Reference to variable or parameter 'valores' must evaluate
> to a node list."
>
> What should I do?
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|