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
|