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: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 08 May 2012 16:14:16 -0400
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

Current Thread