public class XdmDestination extends Object implements Destination
XdmDestination
is a Destination
in which an XdmNode
is constructed to hold the output of a query or transformation:
that is, a tree using Saxon's implementation of the XDM data model
No data needs to be supplied to the XdmDestination
object. The query or transformation
populates an XdmNode
, which may then be retrieved using the getXdmNode
method.
An XdmDestination
is designed to hold a single tree rooted at a document or element node.
It should therefore not be used as the destination of a query that produces multiple
documents, multiple elements, nodes other than elements and documents, or atomic values. If the query
does produce such a result, an exception will be thrown.
An XdmDestination can be reused to hold the results of a second query or transformation only
if the reset()
method is first called to reset its state.
If an XDM tree is to be built from a lexical XML document, or programmatically from the application
by writing a sequence of events, the recommended mechanism is to use a DocumentBuilder
rather
than this class.
Constructor and Description |
---|
XdmDestination() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the destination, allowing resources to be released.
|
URI |
getBaseURI()
Get the base URI that will be used for the document node when the XdmDestination is written to.
|
Receiver |
getReceiver(Configuration config)
Return a Receiver.
|
TreeModel |
getTreeModel()
Get the tree model to be used for documents constructed using this XdmDestination.
|
XdmNode |
getXdmNode()
Return the node at the root of the tree, after it has been constructed.
|
void |
reset()
Allow the
XdmDestination to be reused, without resetting other properties
of the destination. |
void |
setBaseURI(URI baseURI)
Set the base URI for the document node that will be created when the XdmDestination is written to.
|
void |
setTreeModel(TreeModel model)
Set the tree model to be used for documents constructed using this XdmDestination.
|
public void setBaseURI(URI baseURI)
baseURI
- the base URI for the node that will be constructed when the XdmDestination is written to.
This must be an absolute URIIllegalArgumentException
- if the baseURI supplied is not an absolute URIpublic URI getBaseURI()
public void setTreeModel(TreeModel model)
model
- typically one of the constants TreeModel.TINY_TREE
,
TreeModel.TINY_TREE_CONDENSED
, or TreeModel.LINKED_TREE
. However, in principle
a user-defined tree model can be used.public TreeModel getTreeModel()
TreeModel.TINY_TREE
,
TreeModel.TINY_TREE_CONDENSED
, or TreeModel.LINKED_TREE
. However, in principle
a user-defined tree model can be used.public Receiver getReceiver(Configuration config) throws SaxonApiException
getReceiver
in interface Destination
config
- The Saxon configuration. This is supplied so that the destination can
use information from the configuration (for example, a reference to the name pool)
to construct or configure the returned Receiver.SaxonApiException
- if the Receiver cannot be createdpublic void close() throws SaxonApiException
close
in interface Destination
SaxonApiException
- if any failure occurspublic XdmNode getXdmNode()
This method should not be called while the tree is under construction.
IllegalStateException
- if called during the execution of the process that
is writing the tree.public void reset()
XdmDestination
to be reused, without resetting other properties
of the destination.Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.