Saxon extensions to the W3C XSLT/XQuery specifications
Thanks to Gunther Schadow for these changes.
If an extension function returns null, this is now mapped to a zero-length sequence rather than to an external object that wraps null. This prevents some run-time type failures.
Exceptions thrown by an extension function are now wrapped in the XPathException thrown by the calling XPath expression, and hence in the TransformerException thrown by the transformation as a whole.
Public fields in Java classes are now accessible as zero-argument functions, for example the field
Double.MIN_VALUE
is accessible as Double:MIN_VALUE()
with the namespace prefix
bound as xmlns:Double="java:java.lang.Double"
. Non-static fields can be accessed by including
the object instance as the first argument. It is not possible (and rarely necessary or desirable!) to
modify public fields without use of a setter method. {saxon74}
The extension function saxon:is-null
(which was incorrectly documented as
saxon:if-null
) is now redundant, and is dropped.
The undocumented saxon:trace
function is dropped: use fn:trace
instead.