Re: [xsl] possible value-of return values

Subject: Re: [xsl] possible value-of return values
From: tcn@xxxxxxxxxxxxx (Trevor Nash)
Date: Mon, 30 Jul 2001 19:22:08 GMT
On Mon, 30 Jul 2001 14:38:52 -0400, you wrote:

>Given the following XML document:
><user name="Alex" password="Elephant" color=""/>
><user name="Reuter" password="Rhino"/>
>I was wondering if anyone knew the distinction in return values between:
><xsl:value-of select="/root/user[@name='Alex']/@color"/>
><xsl:value-of select="/root/user[@name='Reuter']/@color"/>
>My guess is they would both be null, but I need to execute logic which
>hinges on whether the attribute exists and has a null value OR whether it
>exists at all.
Not 'null' but an empty string.  Both are empty strings but for
different reasons: in the first case you are getting a node set
containing the attribute node, which when converted to a string gives
the value of the attribute, in the second you are getting an empty
node set which when converted to a string gives you "".  But when
converted to a boolean a non-empty node-set gives you true, and an
empty one false.  So:

<xsl:if test="/root/user[@name='Alex']/@color">
    This is true 
<xsl:if test="/root/user[@name='Reuter']/@color">
    This is false
>Anything you got would be great.
>	Alex
Trevor Nash
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@xxxxxxxxxxxxx

 XSL-List info and archive:

Current Thread