RE: boolean attribute values

Subject: RE: boolean attribute values
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Mon, 26 Jul 1999 10:32:31 +0100
Yes, an attribute set to "false" will be true.
Be careful, though: an attribute value is not a string, it is a nodeset.>
>From 4.3 of the XPath spec:
> "a string is true if and only if its length is non-zero"
> 
> since attribute values are all strings, does this mean an 
> attribute set to
> "false" will be true?  So without doing an explicit test, the 
> only way of
> setting an attribute to false is to set it to a zero-length string?
> 
Yes, an attribute set to "false" will be true.

Be careful, though: an attribute value is not a string, it is a nodeset.
Testing xsl:if test="@att" will return true if the attribute has any value,
including a zero length string, because the nodeset is converted to a
boolean without going via a string, and is true if the nodeset is non-empty.

Mike Kay


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


Current Thread