|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath 2.0: Problems with the two boolean constants
>
> I see two problems with the boolean constants true and false:
>
> 1. They cannot be used in an XPath expression -- cannot be
> distinguished from child::true and child::false
There are no constants "true" and "false". As in XPath 1.0, the truth
values are represented by the function calls true() and false(). No
change here from 1.0.
>
> 2. boolean('false') is true. This is especially confusing
> and may be the source of many programmers' headaches.
Again, no change here from 1.0. I haven't seen this cause much problem
in practice, though the introduction of xs:boolean alongside
[fn:]boolean may be confusing. xs:boolean() uses the schema rules: '0'
and 'false' give false, '1' and 'true' give true, any other string is an
error.
>
> Because of these I chose in my code to use functions
> returning xs:integer (0 and 1) and for templates to write
> code like the following:
>
> <xsl:template name="And" match="*[namespace-uri()='allTrue-And']">
> <xsl:param name="arg1"/>
> <xsl:param name="arg2"/>
> <xsl:value-of select="number(number($arg1) and
> number($arg2))"/>
> </xsl:template>
>
> Am I wrong? Is there a way to overcome the above problems?
>
It seems odd to me to use numbers instead of booleans because you don't
like the string-to-boolean conversions. If you don't like the
string-to-boolean conversions just don't use them; you can still use
booleans!
Michael Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








