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(_at_)CraneSoftwrights(_dot_)com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--