Package net.sf.saxon.sapling
Class SaplingDocument
java.lang.Object
net.sf.saxon.sapling.SaplingNode
net.sf.saxon.sapling.SaplingDocument
- All Implemented Interfaces:
Source
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 TypeMethodDescriptionintGet 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 destinationvoidSend a sequence of events representing this node to a supplied Receivervoidserialize(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.
-
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.
-
sendTo
Description copied from class:SaplingNodeSend a sequence of events representing this node to a supplied Receiver- Specified by:
sendToin classSaplingNode- Parameters:
receiver- the receiver to which the events are to be sent- 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
-