Package net.sf.saxon.sapling
Class SaplingDocument
java.lang.Object
net.sf.saxon.sapling.SaplingNode
net.sf.saxon.sapling.SaplingDocument
- All Implemented Interfaces:
Source,ActiveSource
A document node in a sapling tree. A document node may have a sequence of children, each of which
is an element, text, comment, or processing-instruction node. A document node has an optional base URI.
Like all sapling nodes, a SaplingDocument is immutable. All operations such as adding children
deliver a new document node. A sapling node generally exists only transiently during tree
construction; to make use of the constructed tree, it will usually be converted to a regular tree when
construction is complete, using toXdmNode(Processor) or toNodeInfo(Configuration).
SaplingDocument implements Source, and a sapling document
can therefore be supplied in most Saxon interfaces that expect a Source. However, third-party software
that expects a Source as input is unlikely to recognize this class, unless explicitly
stated to the contrary.
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a sapling document node with no children and no base URISaplingDocument(String baseUri) Create a sapling document node with no children, having a specified base URI -
Method Summary
Modifier and TypeMethodDescriptionvoiddeliver(Receiver receiver, ParseOptions options) Send a sequence of events representing this node to a supplied ReceiverintGet the kind of node (document, element, text, comment, or processing instruction)Get the system identifier.voidsend(Processor processor, Destination destination) Send the document to an arbitrary destinationvoidserialize(Serializer serializer) Serialize the documentvoidsetSystemId(String systemId) Set the system identifier for this Source.toNodeInfo(Configuration config) Convert the sapling document to a regular document, returning theNodeInfoobject representing the document node of the resulting treeConvert the sapling document to a regular document, returning theXdmNodeobject representing the document node of the resulting treewithChild(SaplingNode... children) Add a number of child nodes to a document node, returning a new document node with additional children beyond those already present.Methods inherited from class net.sf.saxon.sapling.SaplingNode
emptyNodeList
-
Constructor Details
-
SaplingDocument
public SaplingDocument()Create a sapling document node with no children and no base URI -
SaplingDocument
Create a sapling document node with no children, having a specified base URI- Parameters:
baseUri- the base URI of the document node
-
-
Method Details
-
setSystemId
Set the system identifier for this Source. This method is provided because it is needed to satisfy theSourceinterface; however it always throws an exception, becauseSaplingDocumentis immutable.- Specified by:
setSystemIdin interfaceSource- Parameters:
systemId- The system identifier as a URL string.- Throws:
UnsupportedOperationException- always
-
getSystemId
Get the system identifier. This implementation of the method returns the base URI.- Specified by:
getSystemIdin interfaceSource- Returns:
- The base URI of the document.
-
getNodeKind
public int getNodeKind()Description copied from class:SaplingNodeGet the kind of node (document, element, text, comment, or processing instruction)- Specified by:
getNodeKindin classSaplingNode- Returns:
- the kind of node, for example
Type.ELEMENTfor an element node.
-
withChild
Add a number of child nodes to a document node, returning a new document node with additional children beyond those already present. The target document is not modified, neither are the added children.- Parameters:
children- The nodes to be added as children. The supplied nodes are added in order after any existing children.- Returns:
- the new parent document node
- Throws:
IllegalArgumentException- if any of the nodes supplied as an argument is a document node.
-
deliver
Description copied from class:SaplingNodeSend a sequence of events representing this node to a supplied Receiver- Specified by:
deliverin interfaceActiveSource- Specified by:
deliverin classSaplingNode- Parameters:
receiver- the receiver to which the events are to be sentoptions- parse options (currently ignored)- Throws:
XPathException- if the receiver throws an exception
-
toNodeInfo
Convert the sapling document to a regular document, returning theNodeInfoobject representing the document node of the resulting tree- Parameters:
config- the Saxon Configuration- Returns:
- the document node at the root of the constructed tree. The implementation model for the tree will be the default tree model of the Configuration
- Throws:
XPathException- if construction fails; this could happen if constraints have been violated
-
toXdmNode
Convert the sapling document to a regular document, returning theXdmNodeobject representing the document node of the resulting tree- Parameters:
processor- the s9api Processor object that is to own the resulting tree- Returns:
- the document node at the root of the constructed tree. The implementation model for the tree will be the default tree model of the Processor's Configuration
- Throws:
SaxonApiException- if construction fails; this could happen if constraints have been violated
-
serialize
Serialize the document- Parameters:
serializer- the serializer to be used; the serialized representation of the node will be written to the serializer's destination.- Throws:
SaxonApiException- if anything goes wrong
-
send
Send the document to an arbitrary destination- Parameters:
processor- the s9api processordestination- the destination to which the document will be copied.- Throws:
SaxonApiException- if anything goes wrong
-