[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XPath 1.0 Expression to Test for 3 Digit Number


Subject: Re: [xsl] XPath 1.0 Expression to Test for 3 Digit Number
From: Vasu Chakkera <vasucv@xxxxxxxxx>
Date: Sun, 27 May 2012 09:14:56 +0100

string-length could be tricky if the number 999 is represented as 00999.

On 8 May 2012 21:14, G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2012-05-08 13:07 -0700, Don Smith wrote:
>>
>> I need an XPath 1.0 expression that will test a node and return a
>> boolean if the node content is a 3 digit number (i.e., 100-999) and
>> false if it's anything else.
>>
>> The catch is this expression won't
>> be in a transformation so I can't use variables or other additional
>> constructs. All I get is one expression. I've tried this
>>
>> *[(string(number(.)) !='NaN')]
>>
>>
>> and
>>  obtained the number that I need. But I can't get any sort of compare to
>>  work that makes the number be more than 99 and less than 1,000.
>
>
> Did you try just checking its length?  Note I use a different comparison to
> ensure the value is, itself, a number at all.
>
> *[number(.)=number(.) and string-length(string(number(.)))=3]
>
> I hope this helps.
>
> . . . . . . . . Ken
>
>
> --
> Public XSLT, XSL-FO, UBL and code list classes in Europe -- Oct 2012
> Contact us for world-wide XML consulting and instructor-led training
> Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm
> Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/
> G. Ken Holman                   mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Google+ profile: https://plus.google.com/116832879756988317389/about
> Legal business disclaimers:    http://www.CraneSoftwrights.com/legal
>



--
Vasu Chakkera
NodeLogic Limited
Oxford
www.node-logic.com
==============


Current Thread
Keywords