net.sf.saxon.dom

## 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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Node` | `root`
    `protected String` | `systemId`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DOMSender(Node startNode, Receiver receiver)` Create a DOMSender that will send events representing the nodes in a tree to a nominated receiver

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getColumnNumber()`
    `int` | `getColumnNumber(long locationId)` Get the column number within the document, entity, or module containing a particular location
    `int` | `getLineNumber()`
    `int` | `getLineNumber(long locationId)` Get the line number within the document, entity or module containing a particular location
    `String` | `getPublicId()`
    `String` | `getSystemId()`
    `String` | `getSystemId(long locationId)` Get the URI of the document, entity, or module containing a particular location
    `void` | `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)

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### root

          protected Node root

    - #### systemId

          protected String systemId

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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 `SourceLocator`
      Specified by:
        `getColumnNumber` in interface `Locator`

    - #### getLineNumber

          public int getLineNumber()

      Specified by:
        `getLineNumber` in interface `SourceLocator`
      Specified by:
        `getLineNumber` in interface `Locator`

    - #### getPublicId

          public String getPublicId()

      Specified by:
        `getPublicId` in interface `SourceLocator`
      Specified by:
        `getPublicId` in interface `Locator`

    - #### getSystemId

          public String getSystemId()

      Specified by:
        `getSystemId` in interface `SourceLocator`
      Specified by:
        `getSystemId` in interface `Locator`

    - #### 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

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.