[xsl] error: At xsl:choose, the value of "" is not a node-set

Subject: [xsl] error: At xsl:choose, the value of "" is not a node-set
From: Xiaocun Xu <xiaocunxu@xxxxxxxxx>
Date: Wed, 1 Aug 2001 14:29:58 -0700 (PDT)
Hi,

  I am puzzled at an error I am encountering:
Transform failed: At xsl:choose on line 149 of
file:/C:/test/gXML2ePASS_base.xsl: The value of "" is
not a node-set

The xsl:choose line in question is the one in the
following code, line 4 in FixAttribute template.

<xsl:template name="FixAttribute">
  <xsl:param name="header"></xsl:param>
  <xsl:if test="./node()">
    <xsl:choose>
      <xsl:when
test="starts-with($header/cell[@column=current()/@column],
'*')">
        <xsl:attribute
name="{substring($header/cell[@column=current()/@column],
2)}">
	  <xsl:call-template name="CheckForDate">
	    <xsl:with-param name="attributeName"
select="$header/cell[@column=current()/@column]"/>
	  </xsl:call-template>
	</xsl:attribute>
      </xsl:when>
      <xsl:otherwise>
	<xsl:attribute
name="{$header/cell[@column=current()/@column]}">
	  <xsl:call-template name="CheckForDate">
	    <xsl:with-param name="attributeName"
select="$header/cell[@column=current()/@column]"/>
	  </xsl:call-template>
	</xsl:attribute>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:if>
</xsl:template>

This template is called in:
<xsl:template match="cell" mode="Organization">
  <xsl:if test="current()">
    <xsl:call-template name="FixAttribute">
      <xsl:with-param name="header"
select="$OrganizationHeader"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>

The "" node-set the error refers to is the cell
element?  If so, I should have filtered it out with
<xsl:if test="./node()">, right?

Any help would be very much appeciated.

Xiaocun

__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread