xsl-list
[Top] [All Lists]

RE: How to assign a nodelist to a variable

2004-01-07 16:10:01
I have something similar scenario.  I need to select the nodeset using 'key'
and pass this to other templates.  
If I do like below, I am getting tree fragment.
<xsl:variable name="switch"> 
   <xsl:template name="pTH">
      <xsl:param name="cT"/>
      <xsl:for-each select="$fieldHeaders">
         <xsl:for-each select="key('customerLookup',
$cT/ancestor-or-self::customerList/@id)/*">
            <xsl:value-of select="name(.)"/>
         </xsl:for-each>
      </xsl:for-each>
   </xsl:template>
</xsl:variable>

How do I achieve this?

Thanks,
Ganesh.

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Lars Huttar
Sent: Wednesday, January 07, 2004 1:48 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] How to assign a nodelist to a variable


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

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list