Re: [xsl] check if a node is empty

Subject: Re: [xsl] check if a node is empty
From: jeremyf@xxxxxxxxxxx
Date: Thu, 17 Oct 2002 10:49:01 -0400
Jeni,
      Thank you. That worked a treat! I said it would be something so
simple....
      Thanks for your rapid response to my question.

Jeremy





Hi jeremyf,

> I have an XML document that may contain nodes with no children
>
>       <node>
>       </node>

That's an element called 'node' with a single text node child (the
text node is just whitespace, but it still counts as a text node
unless you're stripping spaces?).

> I need to test if this is the case in my XSL in order to output the
> correct information

I suspect that you want to test whether the 'node' element contains
any element children, in which case the test should be:

<xsl:template match="node">
      <xsl:choose>
            <xsl:when test="*">
                  'node' element has child elements
            </xsl:when>
            <xsl:otherwise>
                  'node' element doesn't have child elements
            </xsl:otherwise>
      </xsl:choose>
</xsl:template>

But you might mean any one of:

  test="node()"                 -- any child nodes
  test="* or text()"            -- any element or text children
  test="* or normalize-space()" -- any element or text aside from
                                   whitespace

I hope that one of those fulfills your requirements.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/







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


Current Thread