xsl-list
[Top] [All Lists]

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

2003-11-08 13:06:29
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(_at_)hotmail(_dot_)com> wrote in message
news:BAY2-F124pwACkWHZqY00003637(_at_)hotmail(_dot_)com(_dot_)(_dot_)(_dot_)
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