[xsl] node() and empty elements

Subject: [xsl] node() and empty elements
From: Robert Goheen <RobertG@xxxxxxxxxxx>
Date: Wed, 10 Jan 2001 14:44:49 -0800
I noticed this behavior that seemed odd to me when using MSXML 3.0, and
couldn't find anything in the XMLT standards about whether this is the
proper behavior or not.

Given the following fragment:
<Tag_1>
	<Tag_2 />
</Tag_1>

node() at the Tag_1 context returns true, while at the Tag_2 context its
false.  It struck me as odd, as I expected an "empty node" to be a node none
the less.

Is this the expected behavior or an MSXML feature?  And if this is the
expected behavior, what's the logic behind it? And, if it is expected,
what's the best way to test for "is-empty-element"?




BTW: here's my little test template (a kind'a identity transform), just in
case I did something wrong....

<xsl:template match="/ | *">

	<xsl:value-of select="name(.)" /> IsNode=<xsl:value-of
select="boolean(node())" />  <br/>

	<xsl:copy>
		<xsl:apply-templates select="*"/>
	</xsl:copy>
</xsl:template>



Thanks!



Robert S. Goheen
mailto:robertg@xxxxxxxxxxx

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


Current Thread