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 TypeMethodDescriptionintintgetColumnNumber(long locationId) Get the column number within the document, entity, or module containing a particular locationintintgetLineNumber(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 locationvoidsend()Walk a tree (traversing the nodes depth first).voidsetSystemId(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:
getColumnNumberin interfaceLocator- Specified by:
getColumnNumberin interfaceSourceLocator
-
getLineNumber
public int getLineNumber()- Specified by:
getLineNumberin interfaceLocator- Specified by:
getLineNumberin interfaceSourceLocator
-
getPublicId
- Specified by:
getPublicIdin interfaceLocator- Specified by:
getPublicIdin interfaceSourceLocator
-
getSystemId
- Specified by:
getSystemIdin interfaceLocator- Specified by:
getSystemIdin interfaceSourceLocator
-
getSystemId
Description copied from interface:LocationProviderGet the URI of the document, entity, or module containing a particular location- Specified by:
getSystemIdin 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:LocationProviderGet the line number within the document, entity or module containing a particular location- Specified by:
getLineNumberin 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:LocationProviderGet the column number within the document, entity, or module containing a particular location- Specified by:
getColumnNumberin 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
-