[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XPath 1.0 Expression to Test for 3 Digit Number
At 2012-05-27 09:14 +0100, Vasu Chakkera wrote:
string-length could be tricky if the number 999 is represented as 00999. I'm not sure about your concern because I already accommodated that situation with my answer: string-length(string(number(.)))=3] The number cast will ensure that any leading insignificant zeroes won't impact the string's length. Is there something I'm missing that prompted you to write? . . . . . . . . . Ken 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
|
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
|