SAXONICA

Saxon Documentation
Full Contents
About Saxon
Changes in this Release
| Version 8.6.1 (24 November 2005)
| Version 8.6 (3 November 2005)
| Version 8.5.1 (26 August 2005)
| Version 8.5 (2 August 2005)
| Version 8.4 (4 April 2005)
| Version 8.3 (11 February 2005)
» | Version 8.2 (21 December 2004)
| Version 8.1.1 (8 October 2004)
| Version 8.1 (24 September 2004)
| Version 8.0 (1 June 2004)
Conditions of Use
Using XSLT 2.0
Using XQuery
Handling Source Documents
XML Schema Processing
The XPath API
Standards Conformance
Extensibility
Saxon Extensions
Sample Saxon Applications
The Saxon SQL Extension
XSLT Elements
XPath 2.0 Expression Syntax
Function Library
XSLT Patterns

# Changes to Functions and Operators

The XSLT `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.".

The `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 `error()` function, if specified, has no effect.

The `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.

The `lang()` function now accepts an optional second argument giving the node whose language is to be tested.

The `local-name-from-QName()` function has been changed to return a value of type `xs:NCName`.

The `upper-case()` and `lower-case()` functions have been changed to return a zero-length string when the argument is an empty sequence.

The functions `string-to-codepoints()`, `resolve-QName()`, and `resolve-uri()` functions have been changed to return an empty sequence when the first argument is an empty sequence.

The functions `string-length()` and `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.

Next