S9API interface

The Processor class now has a zero-argument constructor (new Processor()) which delivers the most capable processor available, based on the software and license key found on the classpath. For example if Saxon-EE is on the classpath and a license key with schema validation capability is located, then a Saxon-EE configuration is created; while if Saxon-PE is on the classpath, but no license key is found, it will deliver a Saxon-HE configuration. It is possible to interrogate the returned Processor to determine its capabilities.

A number of changes have been made to simplify the use of item types and sequence types (particularly useful when defining extension functions):

The XsltCompiler has two new convenience methods: the compile() and compilePackage() methods now have overloads that take a java.io.File as their argument.

The SchemaManager has a new convenience method: the load() method now has an overload that takes a java.io.File as its argument.

The output of the XdmNode method toString() has changed so it is now consistent with the output of XdmValue.toString() in the case where the XdmValue comprises a single node. That is, it is now output using the adaptive serialization method.

The class XdmNode has a new convenience method getOutermostElement() to find the outermost element (also known as the document element) of a tree.