# JAXP 1.3 support: the XPath API

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()`.

Next