[xsl] Re: testing for child nodes

Subject: [xsl] Re: testing for child nodes
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sat, 24 Feb 2001 10:40:51 -0800 (PST)
 Robert Koberg wrote:
> I display the test value like so:
> **<xsl:value-of select="not(child::node())"/>**
> for a node that looks like this:
> <pointer role="News1" fileref="news1.xml"/>
> but the result is always true.  How do you test for this? The pertinent part
> of the XSL is below:
>    <xsl:choose>
>       <xsl:when test="node()!=text() and not(child::node())">
> .................................

What is always false in your case is:


This will be true if the current node has both text and non-text child nodes.

As your current node does not have any node() children at all, the above is false
and the whole "and"-expression:

node()!=text() and not(child::node())

is also false.

Most probably you wanted to specify the following:

    <xsl:when test="not(self::text()) and not(child::node())">

This makes more sense, but will also be true for comments and PI-s

For an element that has no children (elements, comments, PIs, text), 
specify the following expression:


Dimitre Novatchev.

Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 

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

Current Thread