RE: [xsl] Checking if node has data

Subject: RE: [xsl] Checking if node has data
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 3 Aug 2004 09:05:50 +0100
>   One way could be:
> 
>   <xsl:template match="fruit">
>    <xsl:variable name="x">
>    	<xsl:value-of select="."/>	
>    </xsl:variable>
>    <xsl:if test="$x!=''">
>    	<!--DO SOMETHING-->
>    </xsl:if>
>   </xsl:template>
> 

That's an amazingly long-winded way of writing

<xsl:if test=".!=''">
    	<!--DO SOMETHING-->
</xsl:if>

but it should work. Provided that the test you want is that the element
exists and has a string-value of "". This isn't the same as a test that the
"node has data", for example the element might have attributes and child
elements and still not satisfy this test.

Michael Kay

Current Thread