The Saxon XQuery implementation allows you to call Java methods as external functions. The
function does not need to be declared. Use a namespace declaration such as
namespace math="java:java.lang.Math", and invoke the method as
More details of this mechanism are found in Writing Extension Functions.
Saxon recognizes the XQuery pragma syntax, but it currently defines only one pragma of its
saxon:validate-type pragma (see Extensions), and this is now redundant since the equivalent
facility is standard in XQuery 3.0. Saxon will adopt the correct fallback behavior if
presented with a query that uses another vendor's extensions, provided these are designed
in conformance with the W3C pragma specification.
A function may be marked as a memo function either by using the function annotation
%saxon:memo-function or by preceding the function declaration with the
declare option saxon:memo-function.
Saxon recognizes the XQuery option declaration syntax. Several specific option declarations are provided, but most of these are obsolete:
declare option saxon:defaultdeclares a default value for external variables (query parameters). No longer needed in XQuery 3.0, which provides native syntax for declaring default values.
declare option saxon:outputdeclares a serialization parameter. Superseded by
declare option output:XXXXX.
declare option saxon:memo-functiondefines whether the following function declaration is to be implemented as a memo function; superseded by the function annotation
Any other option declaration in the Saxon namespace is ignored with a warning; an option declaration in any other namespace is ignored silently.