Re: [xsl] comparing a string to a number?

Subject: Re: [xsl] comparing a string to a number?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 16 Sep 2003 18:55:18 -0400
Hey Matt,

At 06:18 PM 9/16/2003, you wrote:
<xsl:if test="/Output/response/Field &lt; '20'">

This is confusing to me for a few reasons.

1) The '20' is in quotes

Yes: it does no harm, but it doesn't help either: the string will be coerced into a number. (It'll cost you a micro-millisecond unless your processor compiles it away.)


2) the value of the Field node is most often a number, but on some occasions it's a letter/number pair, like 1A or 1B.

Can this check ever work?

It will work in the sense that it won't throw an error, yes. Whether it "works" in the sense of giving you the results you want, depends on what you want.


Would 1A ever be "less" than '20'?

No, and it won't ever be more, either. Converted to a number it becomes NaN, which when compared as a number to 20 always results in false. (Someone please jump in if I'm wrong: these rules are defined in IEEE 754.)


Good question.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread