This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Unpredictable evaluation of boolean in XPath expression


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]