JAXP interface (transformation, XPath, schema processing)
The classes that deliver the JAXP 1.3 XPath API have been moved to a separate JAR file, saxon8-xpath.jar. This need not be on the classpath (and therefore jaxp-api.jar need not be on the classpath) unless the application actually needs to use the free-standing JAXP XPath API.
To allow applications to use XPath expressions without requiring installation of JAXP 1.3, a new simple
(but non-standard) XPath API has been introduced in package net.sf.saxon.sxpath
. This
is part of the standard saxon8.jar
distribution. It is based on the design principles of the
JAXP 1.3 API, but removes some features: it does not support variables or functions, and does not allow
the result type to be set (you can control the result type by using casts or constructor functions within
the XPath expression itself).
All references to JAXP 1.3 classes such as javax.xml.namespace.QName
have been
removed from the main body of the saxon8.jar
code, to remove installation problems
under JDK 1.4. Many of these references were not really needed, for example they were used to represent
error codes within the XPathException object.
The Saxon class StandaloneContext
, which can be used to set up the static context
in the lower-level native API
for evaluating XPath expressions, now allows the default namespace for elements and types to be set,
by means of a new method setDefaultElementNamespace()
.