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

Re: Can not convert #STRING to a NodeList! Error..

Subject: Re: Can not convert #STRING to a NodeList! Error..
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Sat, 8 Nov 2003 21:06:29 +0100
convert string nodelist
As Michael pointed out, this can only be a dynamic error.

This may happen if the parrameter is passet with xsl:apply-templates and
some other template (which knows nothing about the parameter or is not
passing it through) is instantiated. As result when the template that needs
the parameter is instantiated it is not passed any parameter.

A complete example is the following:

source.xml:
------------
<a>
  <b>
    <c/>
  </b>
</a>

stylesheet:
-----------
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>

  <xsl:template match="a">
    <xsl:apply-templates>
      <xsl:with-param name="labelsfile" select="document('')"/>
    </xsl:apply-templates>
   </xsl:template>

  <xsl:template match="c">
    <xsl:param name="labelsfile"/>

    <xsl:value-of select="count($labelsfile)"/>

    <xsl:for-each select="$labelsfile/*/*">
      <xsl:copy-of select="."/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

In this case the *dynamically* raised error message with Saxon 6.5.3 is:

"Error at xsl:value-of on line 14 of file:/(Untitled):
  The value is not a node-set"


=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL


"arun prasath" <arunwaits@xxxxxxxxxxx> wrote in message
news:BAY2-F124pwACkWHZqY00003637@xxxxxxxxxxxxxx
> Hi,
> In my XSL,
> from the parent template I load a XML file using document() function. and
I
> pass this as parameter to child templates.
> <xsl:call-template name="main">
>    <xsl:with-param name="labelsfile" select="document('English.xml')"/>
> </xsl:call-template>
>
> In my child templates, I am retrieving using
>     <xsl:param name="labelsfile"/>
>
> I also have declared a key(xsl:key) in the importing xml file in my xsl.
>     <xsl:for-each select="$labelsfile">
>         <xsl:value-of select="key('label','ecollab.businessfollowedby')"
/>
>     </xsl:for-each>
>
> when I transform this using my java program, I get the following
exception.
> Can not convert #STRING to a NodeList!
>
> I want to know why we get this error usually.
> please help
> regards
> s.arun prasath
>
> _________________________________________________________________
> Make fun prints Click here to order. http://www.kodakexpress.co.in
Delivery
> anywhere in India.
>
>
>  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.