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

Subject: Re: [xsl] error: At xsl:choose, the value of "" is not a node-set
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 01 Aug 2001 17:59:20 -0400
Xiaocun:

I think the problem is with the value of $OrganizationHeader, which you're passing into the FixAttribute template. What is it? I'll bet it's not a node-set. In other words, my guess is that $header isn't a node-set in the XPath inside your starts-with().

Cheers,
Wendell

At 05:29 PM 8/1/01, you wrote:
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


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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



Current Thread