public class XdmDestination extends AbstractDestination
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 node.
If the result of a query is an arbitrary sequence, it will be normalized according to the rules
of the "sequence normalization" operation described in the W3C XSLT/XQuery Serialization
Recommendation, which results in either a single document node, or an error.
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.
RawDestination
.helper
Constructor and Description |
---|
XdmDestination() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the destination, allowing resources to be released.
|
java.net.URI |
getBaseURI()
Get the base URI that will be used for the document node when the XdmDestination is written to.
|
Receiver |
getReceiver(PipelineConfiguration pipe,
SerializationProperties params)
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(java.net.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.
|
closeAndNotify, getDestinationBaseURI, onClose, setDestinationBaseURI
public void setBaseURI(java.net.URI baseURI)
baseURI
- the base URI for the node that will be constructed when the XdmDestination is written to.
This must be an absolute URIjava.lang.IllegalArgumentException
- if the baseURI supplied is not an absolute URIpublic java.net.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(PipelineConfiguration pipe, SerializationProperties params)
pipe
- 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.params
- The serialization properties requested. Largely irrelevant for this Destination
,
except perhaps for item-separator
.public void close()
public XdmNode getXdmNode()
This method should not be called while the tree is under construction.
java.lang.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-2020 Saxonica Limited. All rights reserved.