# Java API Changes

The `reset()` method has been implemented in Saxon's implementation of the JAXP `Transformer` class. This is designed to allow serial reuse of a Transformer. With Saxon, there is no benefit in reusing a transformer rather than creating a new one, unless you wish to reuse the document pool (the set of documents loaded using the `doc()` and `document()` functions. Therefore, this method does not clear the document pool. If you want to clear the document pool, call the `resetDocumentPool()` method as well.

It is now possible to register a `CollationURIResolver` with the `Configuration` (or, in XSLT, with the `TransformerFactory`) to resolve collation URIs used in a query or stylesheet, or in freestanding XPath expressions. If this is done, Saxon's collation URIs in the form `http://saxon.sf.net/collation?...` followed by query parameters are not recognized (however, the user-written collation URI resolver can invoke the default collation URI resolver to handle this format if it wishes.)

If an extension function returns an array, and some items in the array are null, Saxon now maps this to an XPath sequence in which the null items in the array are ignored. Previously this failed with the error "Object is null".

The type code returned by `NodeInfo.getTypeAnnotation()` may now include a bit indicating that the returned type is DTD-derived rather than schema-derived. This bit is also set when a type code is passed for an attribute node in the `Receiver` and `PullProvider` interfaces.

Next