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: Michael Kay <mike@xxxxxxxxxxxx>
Date: Tue, 08 May 2012 22:26:38 +0100
Dimitre's solution will accept '0500', mine will not. I took the requirement to have three digits literally.

Michael Kay
Saxonica

On 08/05/2012 21:31, Dimitre Novatchev wrote:
floor(.) = number(.) and number(.)> 99 and not(number(.)> 999)


Cheers, Dimitre

On Tue, May 8, 2012 at 1:15 PM, Michael Kay<mike@xxxxxxxxxxxx> wrote:
translate(., '0123456789', '9999999999') = '999' and number(.)> 99

Michael Kay
Saxonica


On 08/05/2012 21:07, 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.

Thanks

Don

Current Thread