RE: [xsl] problem with boolean AND expression [false AND false ->true] in xslt2.0

Subject: RE: [xsl] problem with boolean AND expression [false AND false ->true] in xslt2.0
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 10 Dec 2009 11:51:01 -0000
Check your spelling of "entry" vs "Entry". XML is case-sensitive.

To avoid such errors, consider using schema-awareness, which will check the
names appearing in path expressions against the names that are valid
according to the schema.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay  

> -----Original Message-----
> From: Robby Pelssers [mailto:robby.pelssers@xxxxxxxxx] 
> Sent: 10 December 2009 11:32
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] problem with boolean AND expression [false AND 
> false ->true] in xslt2.0
> 
> Hi all,
> 
> I have the weirdest problem with the result of a AND 
> expression of 2 booleans.  I'm using Saxon8.7 FYI.
>     <xsl:variable name="symbolAndParameterAreEqual"
> select="deep-equal($previousRow/Entry[1], 
> $currentRow/Entry[1]) and deep-equal($previousRow/Entry[2], 
> $currentRow/Entry[2])"
> as="xs:boolean"/>    
>  
>     <xsl:comment>
>     symbol matches precedingrow = <xsl:value-of 
> select="deep-equal($previousRow/entry[1], $currentRow/entry[1])"/>  
>     parameter matches precedingrow = <xsl:value-of 
> select="deep-equal($previousRow/entry[2], $currentRow/entry[2])"/>
>     both are equal = <xsl:value-of
> select="$symbolAndParameterAreEqual"/>
>     </xsl:comment>
> 
> Results in
> <!--
>     symbol matches precedingrow = false  
>     parameter matches precedingrow = false
>     both are equal = true
> -->
> 
> The deep-equal function always returns the good result but when
> combining the two Boolean results in an AND expression they always
> return True.
> 
> Anyone who can shed any light onto this problem?
> 
> Kind regards,
> Robby Pelssers
> http://robbypelssers.blogspot.com/

Current Thread