Package net.sf.saxon.dom
Class DOMSender
java.lang.Object
net.sf.saxon.dom.DOMSender
- All Implemented Interfaces:
SourceLocator
,LocationProvider
,SaxonLocator
,SourceLocationProvider
,Locator
DOMSender.java: pseudo-SAX driver for a DOM source document.
This class takes an existing
DOM Document and walks around it in a depth-first traversal,
calling a Receiver to process the nodes as it does so
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
int
getColumnNumber
(long locationId) Get the column number within the document, entity, or module containing a particular locationint
int
getLineNumber
(long locationId) Get the line number within the document, entity or module containing a particular locationgetSystemId
(long locationId) Get the URI of the document, entity, or module containing a particular locationvoid
send()
Walk a tree (traversing the nodes depth first).void
setSystemId
(String systemId) Set the systemId of the source document (which will also be used for the destination)
-
Field Details
-
root
-
systemId
-
-
Constructor Details
-
DOMSender
Create a DOMSender that will send events representing the nodes in a tree to a nominated receiver- Parameters:
startNode
- the root node of the tree to be send. Usually a document or element node.receiver
- the object to be notified of the resulting events. The supplied Receiver must be initialized with a PipelineConfiguration.The PipelineConfiguration of the Receiver will be modified to set this DOMSender as its LocationProvider.
-
-
Method Details
-
setSystemId
Set the systemId of the source document (which will also be used for the destination)- Parameters:
systemId
- the systemId of the source document
-
send
Walk a tree (traversing the nodes depth first).- Throws:
IllegalStateException
- if the start node is of a node kind other than document, document fragment, element, text, comment, or processing instruction (for example, if it is an attribute node).XPathException
- On any error in the document
-
getColumnNumber
public int getColumnNumber()- Specified by:
getColumnNumber
in interfaceLocator
- Specified by:
getColumnNumber
in interfaceSourceLocator
-
getLineNumber
public int getLineNumber()- Specified by:
getLineNumber
in interfaceLocator
- Specified by:
getLineNumber
in interfaceSourceLocator
-
getPublicId
- Specified by:
getPublicId
in interfaceLocator
- Specified by:
getPublicId
in interfaceSourceLocator
-
getSystemId
- Specified by:
getSystemId
in interfaceLocator
- Specified by:
getSystemId
in interfaceSourceLocator
-
getSystemId
Description copied from interface:LocationProvider
Get the URI of the document, entity, or module containing a particular location- Specified by:
getSystemId
in interfaceLocationProvider
- Parameters:
locationId
- identifier of the location in question (as passed down the Receiver pipeline)- Returns:
- the URI of the document, XML entity or module. For a SourceLocationProvider this will be the URI of the document or entity (the URI that would be the base URI if there were no xml:base attributes). In other cases it may identify the query or stylesheet module currently being executed.
-
getLineNumber
public int getLineNumber(long locationId) Description copied from interface:LocationProvider
Get the line number within the document, entity or module containing a particular location- Specified by:
getLineNumber
in interfaceLocationProvider
- Parameters:
locationId
- identifier of the location in question (as passed down the Receiver pipeline)- Returns:
- the line number within the document, entity or module, or -1 if no information is available.
-
getColumnNumber
public int getColumnNumber(long locationId) Description copied from interface:LocationProvider
Get the column number within the document, entity, or module containing a particular location- Specified by:
getColumnNumber
in interfaceLocationProvider
- Parameters:
locationId
- identifier of the location in question (as passed down the Receiver pipeline)- Returns:
- the column number within the document, entity, or module, or -1 if this is not available
-