Changes to Functions and Operators
format-number() function now accepts an empty sequence as the first argument, treating it as
if the value
NaN were supplied. The function now formats decimal values without
first converting them to doubles; this means that the full precision can be retained. The function also implements
a change to the W3C specification that has been agreed but not yet published: when a number such as 123 is
formatted using the picture "000.###", the result will now contain no trailing decimal point. That is, the output
will be "123" rather than "123.".
error() function now implements the signatures defined in the current specification. Note however
that (a) the URI part of the error QName is currently ignored, and (b) the third argument to the
function, if specified, has no effect.
escape-uri() function now accepts an empty sequence: in this case it returns a
zero-length string. The function now never escapes a % sign: previously a percent sign was escaped
unless followed by two hex digits.
lang() function now accepts an optional second argument giving the node whose language
is to be tested.
local-name-from-QName() function has been changed to return a value of type
lower-case() functions have been changed to return
a zero-length string when the argument is an empty sequence.
resolve-uri() functions have
been changed to return an empty sequence when
the first argument is an empty sequence.
normalize-space(), when called with no arguments,
now use the string-value of the context item as their input, rather than the atomized value of the context item. This
makes no difference unless you are using a schema.
A number of functions have been changed to report the error codes defined in the W3C specification.