Number Functions
XPath includes a few simple numeric functions for summing groups of numbers and finding the nearest integer to a number. It doesn’t have the full power of the math libraries in Java or Fortran—for instance, there’s no square root or exponentiation function—but it’s got enough to do most of the basic math you need for XSLT or the even simpler requirements of XPointer.
The number( ) function can take any type as an argument and convert
it to a number. If the argument is omitted, then it converts the
context node. Booleans are converted to 1 if true and 0 if false.
Strings are converted in a plausible fashion. For instance the
string “7.5” will be converted to the number 7.5. The string “Fred”
will be converted to NaN. Node-sets are converted to numbers by
first converting them to their string value and then converting the
resulting string to a number. The detailed rules are a little more
complex, but as long as the object you’re converting can reasonably
be interpreted as a single number, chances are the number() function will do what you expect.
If the object you’re converting can’t be reasonably interpreted as a
single number, then the number()
function will return NaN.
The round( ) , floor( ), and
ceiling( ) functions all take a
single number as an argument. The floor(
) function returns the greatest integer less than or equal
to its argument. The ceiling( )
function returns the smallest integer greater than or equal to its
argument. The round( ) function returns ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access