[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: IF test

Subject: Re: IF test
From: Mike Brown <mike@xxxxxxxx>
Date: Tue, 12 Mar 2002 02:41:47 -0700 (MST)
xsl if test not
laksh vr wrote:
> I want to check whether a arrtibute is present in a
> element.For ex,
> If there is a Book element, i want to check whether he
> has got a ISBN attribute. ISBN is not a element.It
> comes as a part of Book element.If a ISBN attribute is
> not found then i'm planning to give it a new Code
> attribute.
> I have problems in finding whether it is present or
> not.I used 
> <xsl:template match="Book">
>     <xsl:if test="not(@ISBN)">
>        .
>        .
>        .
> </xsl:template>

Looks fine to me.

"@ISBN" identifies a node-set consisting of the ISBN attribute of the current
Book element that you are processing.

"not(@ISBN)" coerces that node-set to a boolean and returns its opposite. The
coercion results in a boolean 'true' if any nodes in the set; false otherwise.
So, because not() gives you the opposite, "not(@ISBN)" will be true if there
is no 'ISBN' attribute.

Is this not what you wanted?

Perhaps you always have an ISBN attribute, but it sometimes has an empty 
string as its value? ...like <Book ISBN=""> ?

In that case,

<xsl:if test="not(string(@ISBN))">

or 

<xsl:if test="not(normalize-space(@ISBN))">

will do what you want.

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  personal: http://hyperreal.org/~mike/

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


Current Thread
  • IF test
    • laksh vr - Tue, 12 Mar 2002 04:08:44 -0500 (EST)
      • Michael Kay - Tue, 12 Mar 2002 04:37:37 -0500 (EST)
      • Mike Brown - Tue, 12 Mar 2002 04:37:45 -0500 (EST) <=
      • Jeni Tennison - Tue, 12 Mar 2002 04:47:58 -0500 (EST)

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.