|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: an expression to check if a parameter is a non-zer
> > 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. Yes, I was wrong. NaN!=0 is true. Wendell's test is better. Michael Kay > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:fo="http://www.w3.org/1999/XSL/Format"> > <xsl:template match="/"> > <xsl:variable name="ImageWidth">100mm</xsl:variable> > <xsl:comment>before</xsl:comment> > <xsl:if > test="number($ImageWidth)"><xsl:value-of > select="$ImageWidth"></xsl:value-of></xsl:if> > <xsl:comment>after</xsl:comment> <xsl:comment>before</xsl:comment> > <xsl:if > test="number($ImageWidth)!=0"><xsl:value-of > select="$ImageWidth"></xsl:value-of></xsl:if> > <xsl:comment>after</xsl:comment> > > </xsl:template> > </xsl:stylesheet> > > > Abhishek Sanwal > HP - Houston Campus > abhishek.sanwal@xxxxxx > > -----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: an expression to check if a parameter is a > non-zero number - comments > > Abhishek, > > At 01:33 PM 10/30/2003, you wrote: > ><xsl:when > >test="true(string-length(translate($ImageWidth,'0123456789.', > '')) = 0 > >and $ImageWidth != 0)"> > > > >I want to check if the incoming parameter ImageWidth is a non-zero > >number. > > > >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 > number() > 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. > > 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 > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








