Subject: RE: How to assign a nodelist to a variable
From: "Martinez, Brian" <brian.martinez@xxxxxxxxxxx>
Date: Wed, 7 Jan 2004 13:46:18 -0700
|
> From: Jaime A Stuardo Bahamondes [mailto:jstuardo@xxxxxxxxxxx]
> Sent: Wednesday, January 07, 2004 2:30 PM
> Subject: How to assign a nodelist to a variable
>
>
> <xsl:variable name="valores"><xsl:value-of select="ROW[field1
> = 'A' and field2 = 'B']" /></xsl:variable>
>
> 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?
VFAQ. An XSLT variable which contains a template body (such as the value-of
element in your example) always returns a result tree fragment, which in
XSLT 1.0 cannot be directly evaluated as a node-set. Write your variable
as:
<xsl:variable name="valores" select="ROW[field1 = 'A' and field2 = 'B']"/>
Not only does this return a node-set, it's more efficient.
If you're using an XPath expression to set the value of a variable, you
should always use the select attribute so you can take advantage of the
built-in data types.
hth,
b.
| brian martinez brian.martinez@xxxxxxxxxxx |
| lead gui programmer 303.357.3548 |
| cheap tickets, part of trip network fax 303.357.3380 |
| 6560 greenwood plaza blvd., suite 400 englewood, co 80111 |
| cendant travel distribution services http://www.cheaptickets.com/ |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|