[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: behavior of boolean() when applied to an empty va

Subject: Re: behavior of boolean() when applied to an empty variable
From: "Christopher R. Maden" <crism@xxxxxxxxx>
Date: Mon, 11 Jul 2011 23:24:15 -0400
Re:  behavior of boolean() when applied to an empty  va
On 07/11/2011 10:31 PM, Wolfhart Totschnig wrote:
> The boolean() function behaves in a way I don't understand when given
> an empty variable as argument. I was hoping one of you could explain
> it to me.
>
> Take the following two variables:
>
> <xsl:variable name="empty1"></xsl:variable>
>
> <xsl:variable name="empty2">
>    <xsl:if test="false()">
>        <xsl:value-of select=" 'some non-empty string' "/>
>    </xsl:if>
> </xsl:variable>
>
> The value of both variables is the same, i.e. "", an empty string.

Nope.

I thought this was simpler than it actually is, but then I re-read it...
then, finally, I found <URL: http://www.w3.org/TR/xslt#variable-values >:

> If the variable-binding element does not have a select attribute and
> has non-empty content (i.e. the variable-binding element has one or
> more child nodes), then the content of the variable-binding element
> specifies the value.

Even though $empty2 evaluates to a no-op, it has non-empty content, and
so the result is an empty result tree.  That casts to a Boolean as true.

> If the variable-binding element has empty content and does not have a
> select attribute, then the value of the variable is an empty string.

So $empty1 does in fact equate to the empty string, which casts as false.

~Chris
--
Chris Maden, text nerd  <URL: http://crism.maden.org/ >
bMankind are more disposed to suffer, while evils are sufferable
 than to right themselves by abolishing the forms to which they
 are accustomed.b b Thomas Jefferson

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.