From Roger:
How do I determine that the value of $exp is a numeric atomic value?
In EXSLT:
exslt:object-type($x) = 'number'
This is better than "number($x) = number($x)" because boolean and string
result in false (see comments from Michael below).
From Michael for XPath 2.0:
$x instance of xs:double or $x instance of xs:float or $x instance of
xs:decimal
From Dimitre for XPath 1.0 (with comments from Michael below):
number($x) = number($x)
From David:)
The xpath/xquery specs
essentially informally use such a type to
http://www.w3.org/TR/xpath20/#dt-numeric
but because it isn't really a type there have to be special XDM
type promotion rules.
Mit besten Gruessen / Best wishes,
Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
Fixpack team lead
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
From: Michael Kay <mike(_at_)saxonica(_dot_)com>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: 10/02/2010 11:55 PM
Subject: Re: [xsl] How do I determine that an item is a numeric atomic
value?
In XPath 1.0:
==========
number($x) = number($x)
That would also return true if $x is a string or boolean or a node that
can be converted to a number, for example the string "12" or the boolean
true() or an attribute containing the value "12". In fact I think that's
the closest you can get in XPath 1.0 - and it's good enough, because you
don't really want to know whether it IS a number, you want to know
whether it can be used in a context where a number is required.
Michael Kay
Saxonica
In XPath 2.0
==========
Either the above, or:
$x instance of xs:double or $x instance of xs:decimal
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--