Subject: RE: [xsl] problem with boolean AND expression [false AND false ->true] in xslt2.0 From: "Robby Pelssers" <robby.pelssers@xxxxxxxxx> Date: Thu, 10 Dec 2009 12:56:13 +0100 |
Thx Michael, Using the schema aware processor would probably only make sense if I were to apply a single xslt on an xml document referencing a schema. However, I'm using cocoon pipelines to process 1 document where the intermediate results no longer conform to the original schema so these kinds of mistakes seem unavoidable. Unless you have a good proposal for this particular way of working? Many thx for spotting this stupid error ;-) Robby -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: Thursday, December 10, 2009 12:51 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] problem with boolean AND expression [false AND false ->true] in xslt2.0 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] problem with boolean AND , Michael Kay | Thread | [xsl] Problems calculating the runn, Alex Muir |
RE: [xsl] problem with boolean AND , Michael Kay | Date | [xsl] Problems calculating the runn, Alex Muir |
Month |