xsl-list
[Top] [All Lists]

RE: Can I use a boolean variable in an xsl:if test

2005-02-08 08:58:35
This:

<xsl:variable name="show">
  <xsl:value-of select = "$time != 60000" />
</xsl:variable>

is not a boolean variable, it is a result tree fragment. If you convert a
result tree fragment to a boolean, the result is always true.

The correct way to write a boolean variable is:

<xsl:variable name="show" select="$time != 60000" />

I simply have no idea why this verbose, inefficient, and often incorrect
style using <xsl:value-of> within <xsl:variable> has become so popular.

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

-----Original Message-----
From: Ken Goodridge [mailto:goodridgehunting(_at_)yahoo(_dot_)com] 
Sent: 08 February 2005 15:39
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Can I use a boolean variable in an xsl:if test


   I've been using the following xsl with success, but
I am seeing the xsl:if not work properly in another
installation. In both cases I get
<debug><show>false</show><time>60000</time></debug>,
but in one case the noshow shows. Does this code break
the rules or am I seeing a bug in the xsl transform?
In both cases I'm using xalan. I can check to see if
the versions are different if someone thinks that may
help.

<xsl:template name="my_template">
        <xsl:param name="time"/>

<!-- Don't show if time is one minute -->
<xsl:variable name="show">
  <xsl:value-of select = "$time != 60000" />
</xsl:variable>

<debug>
    <show><xsl:value-of select = "$show" /></show>
    <time><xsl:value-of select = "$time" /></time>
</debug>

<xsl:if test="$show">
    <noshow><xsl:value-of select = "$show" /></noshow>
</xsl:if>

</xsl:template>




              
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - What will yours do?
http://my.yahoo.com 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--