Class DOMSender

java.lang.Object
net.sf.saxon.dom.DOMSender
All Implemented Interfaces:
SourceLocator, LocationProvider, SaxonLocator, SourceLocationProvider, Locator

public class DOMSender extends Object implements SaxonLocator, SourceLocationProvider
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 Details

    • root

      protected Node root
    • systemId

      protected String systemId
  • Constructor Details

    • DOMSender

      public DOMSender(Node startNode, Receiver receiver)
      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

      public void setSystemId(String systemId)
      Set the systemId of the source document (which will also be used for the destination)
      Parameters:
      systemId - the systemId of the source document
    • send

      public void send() throws XPathException
      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 interface Locator
      Specified by:
      getColumnNumber in interface SourceLocator
    • getLineNumber

      public int getLineNumber()
      Specified by:
      getLineNumber in interface Locator
      Specified by:
      getLineNumber in interface SourceLocator
    • getPublicId

      public String getPublicId()
      Specified by:
      getPublicId in interface Locator
      Specified by:
      getPublicId in interface SourceLocator
    • getSystemId

      public String getSystemId()
      Specified by:
      getSystemId in interface Locator
      Specified by:
      getSystemId in interface SourceLocator
    • getSystemId

      public String getSystemId(long locationId)
      Description copied from interface: LocationProvider
      Get the URI of the document, entity, or module containing a particular location
      Specified by:
      getSystemId in interface LocationProvider
      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 interface LocationProvider
      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 interface LocationProvider
      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