xsl-list
[Top] [All Lists]

RE: How to assign a nodelist to a variable

2004-01-07 13:46:18
From: Jaime A Stuardo Bahamondes [mailto:jstuardo(_at_)security(_dot_)cl]
Sent: Wednesday, January 07, 2004 2:30 PM
Subject: [xsl] 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(_dot_)martinez(_at_)cendant(_dot_)com |
| 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



<Prev in Thread] Current Thread [Next in Thread>