Subject: Re: 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
|