RE: [xsl] an expression to check if a parameter is a non-zero number - comments

Subject: RE: [xsl] an expression to check if a parameter is a non-zero number - comments
From: "SANWAL, ABHISHEK (HP-Houston)" <abhishek.sanwal@xxxxxx>
Date: Thu, 30 Oct 2003 15:13:56 -0600

That works perfectly.

test="number($ImageWidth)" <- perfect

test="number($ImageWidth)!=0" <- tried it but apparently it did not
satisfy the cases I needed.

e.g. When the value was 100mm the second test did not work as it should.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
<xsl:template match="/">
<xsl:variable name="ImageWidth">100mm</xsl:variable>


Abhishek Sanwal
HP - Houston Campus

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Wendell Piez
Sent: Thursday, October 30, 2003 1:09 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] an expression to check if a parameter is a non-zero
number - comments


At 01:33 PM 10/30/2003, you wrote:
>test="true(string-length(translate($ImageWidth,'0123456789.','')) = 0
>and $ImageWidth != 0)">
>I want to check if the incoming parameter ImageWidth is a non-zero
>I am wondering it the above expression would work?

Take it out of the spurious true() function, and it should, but....

(There is a function true() but it doesn't take any arguments, it simply

returns the Boolean value "true").

>Is there a better way to do that checking ?

Try test="number($ImageWidth)"

If $ImageWidth is a number, it'll test as true unless its value is 0.

If $ImageWidth is a string, it'll be turned into a number by the
function, and test as true unless it is 0 or NaN ("not-a-number").

If $ImageWidth is a node-set, the first node in it will be converted
into a 
string, and test as above. Same if it's a result-tree-fragment.

If $ImageWidth is a Boolean, it'll be true if it's true, false if not.


Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      
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:

 XSL-List info and archive:

Current Thread