RE: [xsl] If statement and empty attribute

Subject: RE: [xsl] If statement and empty attribute
From: "Martinez, Brian" <brian.martinez@xxxxxxxxxxx>
Date: Tue, 6 May 2003 14:09:58 -0600
> From: Karl J. Stubsjoen [mailto:karl@xxxxxxxxxxxxx]
> Sent: Tuesday, May 06, 2003 1:42 PM
> Subject: [xsl] If statement and empty attribute
> 
> Hi,
> I have an if statement which should evaluate to true when the 
> attribute
> viewable='true' or does not exist.  It would evaluate to 
> false only when the
> attribute viewable equals 'false'.  I've got the following:
> 
>         <xsl:if test="@viewable!='false'">
>              <xsl:value-of select="$currentVAL"/>&nbsp;
>         </xsl:if>
> 
> Which works, if the attribute viewable exists, but if it 
> doesn't exist then
> the statement is always false.  Any suggestions?  It needs to 
> evaluate to
> true if the attribute does not exist.

<xsl:if test="@viewable = 'true' or not(@viewable)">
  <xsl:value-of select="$currentVAL"/>&nbsp;
</xsl:if>

not() will return true if the expression in the argument evaluates to false
(a bit like 2 - (-2) = 4).  So, in this case if @viewable is not present,
then the first part of the above test will return false, but the or operator
will cause the processor to evaluate the second part, which will be true.

hth,
b.

| brian martinez                           brian.martinez@xxxxxxxxxxx |
| lead gui programmer                                    303.708.7248 |
| cheap tickets, part of trip network                fax 303.790.9350 |
| 6436 s. racine cir.                             englewood, co 80111 |
| cendant travel distribution services   http://www.cheaptickets.com/ |

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


Current Thread