Subject: Re: Re: XPath 2.0: Problems with the two boolean constants true and false
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 9 Oct 2003 10:25:05 -0700 (PDT)
|
Hi Jeni,
--- Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> wrote:
> Hi Dimitre,
>
> > But if the Data Model were saying that 0 and 1 are not simply
> > "string representations" (note that I didn't use '0' and '1' in my
> > previous example but just 0 and 1 -- that is not the strins '0' and
> > '1') but that 0 and 1 are *the* two xs:boolean constants,
> >
> > then
> >
> > it would make difference as the result of evaluating a boolean
> > expression would be not a "representation" but a real (or native, or
> > genuine) boolean value.
> >
> > Isn't it natural for a type to have its own genuine values and not
> > only a "representation"?
>
> Of course. But that's what we have currently, isn't it? The result of
> the expression:
>
> true() and false()
>
> is a native xs:boolean value, false, not the string 'false'.
>
> Perhaps you're finding problems because:
>
> <xsl:value-of select="true() and false()" />
>
> generates a text node whose string value is the result of converting
> the xs:boolean value false to a string (i.e. 'false')?
>
> Perhaps you would be better off using:
>
> <xsl:sequence select="true() and false()" />
>
> which actually adds the xs:boolean value false to the result sequence.
>
> In other words, use a template along the lines of:
>
> <xsl:template name="And" match="test:*" as="xs:boolean">
> <xsl:param name="arg1" as="xs:boolean"/>
> <xsl:param name="arg2" as="xs:boolean"/>
> <xsl:sequence select="$arg1 and $arg2"/>
> </xsl:template>
>
> Note that here the template is declared to have an xs:boolean value as
> its result; that declarations isn't completely necessary (it will
> still have an xs:boolean value as its result without it), but it's
> good practice.
>
> (Returning the actual xs:boolean value should also be more efficient
> since you're not having to create any nodes that way --
> <xsl:value-of>, theoretically at least, creates a text node.)
Completely agree with you.
In fact this was exactly my first attempt -- I hope that after I get the
new version of Saxon with the bug fixed this will really work.
Thank you once again.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|
Michael Kay - Thu, 9 Oct 2003 07:36:44 -0400 (EDT)
Michael Kay - Thu, 9 Oct 2003 07:48:22 -0400 (EDT)
|
|