Unpredictable evaluation of boolean in XPath expression

Subject: Unpredictable evaluation of boolean in XPath expression
From: Aaron Miller <amiller@xxxxxxxxx>
Date: Thu, 21 Sep 2000 19:13:57 -0700
This is interesting and infuriating. Maybe someone knows why it happens. I
have:

<xsl:variable name="enhancementRows">
<xsl:choose>
<xsl:when test="//enhancementList/graphic or //enhancementList/text">
45px,60px,*
</xsl:when>
<xsl:otherwise>
45px,*
</xsl:otherwise>
</xsl:choose>
</xsl:variable>


when I test this logic with something that I know should evaluate to false,
it works MOST of the time. however, sometimes it doesn't. Meaning what is
false is somehow evaluating to true.

I tested this as a fix:

<xsl:choose>
<xsl:when test="//enhancementList/graphic or //enhancementList/text">
<xsl:variable name="enhancementRows"> 45px,60px,* </xsl:variable>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="enhancementRows"> 45px,* </xsl:variable>
</xsl:otherwise>
</xsl:choose>

and found that it results in an error, at the line with <xsl:choose> in it.

So what is wrong with each of these?

thanks
aaron


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread