xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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


Subject: [xsl] Re: Can not convert #STRING to a NodeList! Error..
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Sat, 8 Nov 2003 21:06:29 +0100

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
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor