RE: Can not convert number to a NodeList
The expression in the select attribute of xsl:for-each must (in XSLT 1.0) be a node-set. It can't be a number. In XSLT 2.0 you can say <xsl:for-each select="1 to $line"> to select a sequence of numbers. In XSLT 1.0, the "proper" way to do something a fixed number of times is a recursive template. But the following technique is often used as a workaround, provided the source document contains at least $line (or $column) nodes: <xsl:for-each select="(//node())[position() <= $line]"> <xsl:for-each select="(//node())[position() <= $column]"> <td><xsl:text>C</xsl:text></td> </xsl:for-each> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Carlos M. S. Bento Nogueira [mailto:cmsbn@xxxxxxxxxxxxxxxxx] > Sent: 11 June 2005 19:58 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Can not convert number to a NodeList > > Hi everyone. I'm trying to put this simple cycle to work : > > <xsl:for-each select="$line"> > <xsl:for-each select="$column"> > <td><xsl:text>C</xsl:text></td> > </xsl:for-each> > > <xsl:if test="$line>1"> > <tr><xsl:text>L</xsl:text></tr> > </xsl:if> > </xsl:for-each> > > but i'm always getting an exception: Can not convert number > to a NodeList > . > Yes this variables are numbers that must be passed to my xsl file. > I'm initializing them this way > <xsl:variable name="column" select="number(fi:styling/@column")/> > . > > Any ideas how to workaround this? I've tried exslt.org but > haven't found > what i needed. > > TIA, > CarlosN.
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format