Re: [xsl] How to check for absence of a node?

Subject: Re: [xsl] How to check for absence of a node?
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Fri, 15 Jun 2001 16:15:27 +0100
Hi Sudhir,

> I would like to call error-template in case
> A. I don't find the node "format/tr[2]/td[position()>1]", or

The test here is just:

  not(format/tr[2]/td[position() > 1])

> B. The value of format/tr[2]/td[position()>1] is "NA"

>From your code, I think you want to know if *all* the tds following
the first are equal to 'NA'. You have to turn the XPath around to make
that test - you want to know if it's *not* the case that *at least
one* of the tds is *not equal to* 'NA':

  not(format/tr[2]/td[position() > 1] != 'NA')

So the XSLT should be:

  <xsl:variable name="cells"
                select="format/tr[2]/td[position() > 1]"  />
     <xsl:when test="not($cells) or
                     not($cells != 'NA')">
        <xsl:call-template name="error-template" />
        <xsl:apply-templates select="format" />

I hope that helps,


Jeni Tennison

 XSL-List info and archive:

Current Thread