S9API interface
A new class JsonBuilder has been added, analagous to the DocumentBuilder. It can be instantiated from a Processor
using Processor.newJsonBuilder(), and allows JSON
documents to be parsed, returning an XdmValue
, typically an XdmMap
or XdmArray
.
The DocumentBuilder
class has two new methods parse(Source, Destination)
and
parse(File, Destination)
allowing parsed documents to be sent directly to a destination such as a
Serializer
without building a tree in memory.
The preferred way of capturing xsl:message
output is the new method
Xslt30Transformer.setMessageHandler(Consumer <Message> messageHandler)
(see AbstractXsltTransformer.setMessageHandler())
which encapsulates all the information about a message in the new Message object.
The interfaces comprising the recently-introduced Push
API have been reorganised, largely in the interests
of making them work in C# as well as Java (C# does not allow inner interfaces within an interface). The main factory
method Processor.newPush() is unchanged, but the detailed
interfaces have been moved to a new package, as follows:
Old name | New name |
---|---|
net.sf.saxon.s9api.Push | net.sf.saxon.s9api.push.Push |
net.sf.saxon.s9api.Push.Document | net.sf.saxon.s9api.push.Document |
net.sf.saxon.s9api.Push.Element | net.sf.saxon.s9api.push.Element |
net.sf.saxon.s9api.Push.Container | net.sf.saxon.s9api.push.Container |
The class StaticError has been folded into XmlProcessingError. Any remaining references to
StaticError
can generally be replaced with references to XmlProcessingError
. The name
StaticError
had become misleading because its instances were in many cases dynamic errors.
New methods firstItem() and lastItem() have been added to XdmStream
.