Changes to XQuery API
Saxon now implements the early release draft of XQJ (dated May 2006). Note that this is a preliminary version of this API
is subject to change. This interface, and its Saxon implementation, are provided in a separate JAR file saxon8-xqj.jar. It
is dependent on some classes
in JAXP 1.3, which means that it is simplest to use this with J2SE 5.0, although it can in principle work on the JDK 1.4 platform.
Although this is still a preliminary specification, there is likely to be increasing emphasis on the XQJ API in future
releases at the expense of the current proprietary API for XQuery applications.
Areas where the implementation is known to be incomplete include:
Some extensions have also been implemented. Specifically, the code for mapping Java objects to XPath items will accept
any JAXP Source object and return the corresponding document node, and it will also accept an XMLStreamReader (StAX parser)
as the source of a document node.
Because it is required by XQJ, Saxon now provides the ability to read query and transformation results using the
XMLStreamReader interface (also known as StAX).
Other XQuery changes
A new method is provided in
StaticQueryContext to allow the static type of the context item to be specified. This information, if supplied,
will be used when type-checking and optimizing the query, and an error will be reported at run-time if the actual context
item does not conform to this type.