Extensibility mechanisms
When extension function calls map to polymorphic Java methods, the selection of the particular method to invoke is now delayed until after the type analysis of the expression tree has been done. This gives a better chance of identifying the required method from the static types of the supplied arguments.
Extension types (types returned by extension functions that do not relate to any type in the XPath type system) are now analysed when binding Java methods. This also improves the chances of binding polymorphic methods successfully.
The conversion of Java objects to XPath data types when supplied as stylesheet or query parameters
now takes account of the declared type (at least to some extent). If the type is declared using a Java class
for example j:java.util.Date
where the namespace prefix j
is bound to
http://saxon.sf.net/java-type
, then no conversion will take place, only checking that the
supplied value is of the correct class. It is then possible to manage all conversions explicitly by calling Java methods
on this object (represented as extension functions).