Subject: Re: Less than symbol in xsl:if or xsl:when
From: sudheshna iyer <sudheshnaiyer@xxxxxxxxx>
Date: Fri, 8 Oct 2010 01:24:45 -0700 (PDT)
|
Thank you folks. In addition to getting the answers, I will also get the newer
ways/standards of implementing a solution!
----- Original Message ----
From: Sam Wilmott <sam@xxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Thu, October 7, 2010 10:26:16 PM
Subject: Re: Less than symbol in xsl:if or xsl:when
On 2010-10-07, at 3:42 PM, sudheshna iyer wrote:
> The following stmt works, but when I replace > with <, it doesn't work. I am
> compiling with xmlspy with xslt1.0
> <xsl:when test="string-length($VAR1) > $VAR2"> => Works
>
> <xsl:when test="string-length($VAR1) < $VAR3"> => Doesn't work
>
> My main goal is to check whether length of VAR2 is in between 2 numbers.. like
>
>
> string-length($VAR1) >= $VAR2and string-length($VAR1) <= $VAR3
>
> How do I achieve this?
If you're using XSLT 2.0 rather than XSLT 1.0, then a better way to do it is:
string-length($VAR1) ge $VAR2and string-length($VAR1) le $VAR3
XSLT 2.0 introduced the scalar operators eq, ne, lt, gt, le and ge, which
compare single values rather than lists, which is what XSLT 1.0 comparison
operators do. They are therefore safer to use when you're comparing single
values and they don't run into syntactic difficulties.
Sam.
------------
Sam Wilmott
sam@xxxxxxxxxx
|