[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: How to assign a nodelist to a variable

Subject: RE: How to assign a nodelist to a variable
From: "Sindigi, Ganesh K" <SindiGK@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 7 Jan 2004 16:10:01 -0700
xsl variable nodelist
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@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Lars Huttar
Sent: Wednesday, January 07, 2004 1:48 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.