Package net.sf.saxon.dom

## Class DOMWriter

- java.lang.Object
- - net.sf.saxon.event.Builder
  - - net.sf.saxon.dom.DOMWriter

- All Implemented Interfaces:
    `javax.xml.transform.Result`, `Receiver`
  Direct Known Subclasses:
    `DominoTreeModel.DominoBuilder`

      public class DOMWriter
      extends Builder

  DOMWriter is a Receiver that attaches the result tree to a specified Node in the DOM Document

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.event.Builder

      `AXIOM_TREE, baseURI, config, currentRoot, DOMINO_TREE, JDOM_TREE, JDOM2_TREE, lineNumbering, LINKED_TREE, MUTABLE_LINKED_TREE, namePool, open, started, timing, TINY_TREE, TINY_TREE_CONDENSED, uniformBaseURI, UNSPECIFIED_TREE_MODEL, useEventLocation`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DOMWriter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `characters​(java.lang.CharSequence chars, Location locationId, int properties)` | Character data.
    `void` | `close()` | End of the document.
    `void` | `comment​(java.lang.CharSequence chars, Location locationId, int properties)` | Handle a comment.
    `void` | `endDocument()` | Notify the end of a document node
    `void` | `endElement()` | End of an element.
    `NodeInfo` | `getCurrentRoot()` | Get the current root node.
    `protected org.w3c.dom.Document` | `getDOMDocumentNode()` | Get the constructed DOM Document node
    `PipelineConfiguration` | `getPipelineConfiguration()` | Get the pipeline configuration used for this document
    `java.lang.String` | `getSystemId()` | Get the system identifier that was set with setSystemId.
    `void` | `open()` | Start of the document.
    `void` | `processingInstruction​(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)` | Handle a processing instruction.
    `void` | `setNextSibling​(org.w3c.dom.Node nextSibling)` | Set next sibling
    `void` | `setNode​(org.w3c.dom.Node node)` | Set the attachment point for the new subtree
    `void` | `setPipelineConfiguration​(PipelineConfiguration pipe)` | Set the pipelineConfiguration
    `void` | `setSystemId​(java.lang.String systemId)` | Set the System ID of the destination tree
    `void` | `setUnparsedEntity​(java.lang.String name, java.lang.String systemID, java.lang.String publicID)` | Notify an unparsed entity URI.
    `void` | `startDocument​(int properties)` | Start of a document node.
    `void` | `startElement​(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties)` | Start of an element.
    `boolean` | `usesTypeAnnotations()` | Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events

    - ### Methods inherited from class net.sf.saxon.event.Builder

      `getBaseURI, getBuilderMonitor, getConfiguration, isTiming, isUseEventLocation, reset, setBaseURI, setLineNumbering, setTiming, setUseEventLocation`

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

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

    - ### Methods inherited from interface net.sf.saxon.event.Receiver

      `append, append, handlesAppend`

- - ### Constructor Detail

    - #### DOMWriter

          public DOMWriter()

  - ### Method Detail

    - #### setPipelineConfiguration

          public void setPipelineConfiguration​(PipelineConfiguration pipe)

      Set the pipelineConfiguration
      Specified by:
        `setPipelineConfiguration` in interface `Receiver`
      Overrides:
        `setPipelineConfiguration` in class `Builder`
      Parameters:
        `pipe` - the pipeline configuration

    - #### getPipelineConfiguration

          public PipelineConfiguration getPipelineConfiguration()

      Get the pipeline configuration used for this document
      Specified by:
        `getPipelineConfiguration` in interface `Receiver`
      Overrides:
        `getPipelineConfiguration` in class `Builder`
      Returns:
        the pipeline configuration

    - #### setSystemId

          public void setSystemId​(java.lang.String systemId)

      Set the System ID of the destination tree
      Specified by:
        `setSystemId` in interface `Receiver`
      Specified by:
        `setSystemId` in interface `javax.xml.transform.Result`
      Overrides:
        `setSystemId` in class `Builder`
      Parameters:
        `systemId` - the SystemId, that is, the document-uri.

    - #### setUnparsedEntity

          public void setUnparsedEntity​(java.lang.String name,
                                        java.lang.String systemID,
                                        java.lang.String publicID)
                                 throws XPathException

      Notify an unparsed entity URI.
      Parameters:
        `name` - The name of the unparsed entity
        `systemID` - The system identifier of the unparsed entity
        `publicID` - The public identifier of the unparsed entity
      Throws:
        `XPathException` - if an error occurs

    - #### getSystemId

          public java.lang.String getSystemId()

      Get the system identifier that was set with setSystemId.
      Specified by:
        `getSystemId` in interface `javax.xml.transform.Result`
      Overrides:
        `getSystemId` in class `Builder`
      Returns:
        The system identifier that was set with setSystemId, or null if setSystemId was not called.

    - #### open

          public void open()

      Start of the document.
      Specified by:
        `open` in interface `Receiver`
      Overrides:
        `open` in class `Builder`

    - #### close

          public void close()

      End of the document.
      Specified by:
        `close` in interface `Receiver`
      Overrides:
        `close` in class `Builder`

    - #### startDocument

          public void startDocument​(int properties)
                             throws XPathException

      Start of a document node.
      Parameters:
        `properties` - bit-significant integer indicating properties of the document node. The definitions of the bits are in class `ReceiverOption`
      Throws:
        `XPathException` - if an error occurs

    - #### endDocument

          public void endDocument()
                           throws XPathException

      Notify the end of a document node
      Throws:
        `XPathException` - if an error occurs

    - #### startElement

          public void startElement​(NodeName elemName,
                                   SchemaType type,
                                   AttributeMap attributes,
                                   NamespaceMap namespaces,
                                   Location location,
                                   int properties)
                            throws XPathException

      Start of an element.
      Parameters:
        `elemName` - the name of the element.
        `type` - the type annotation of the element.
        `attributes` - the attributes of this element
        `namespaces` - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
        `location` - an object providing information about the module, line, and column where the node originated
        `properties` - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class `ReceiverOption`
      Throws:
        `XPathException` - if an error occurs

    - #### endElement

          public void endElement()
                          throws XPathException

      End of an element.
      Throws:
        `XPathException` - if an error occurs

    - #### characters

          public void characters​(java.lang.CharSequence chars,
                                 Location locationId,
                                 int properties)
                          throws XPathException

      Character data.
      Parameters:
        `chars` - The characters
        `locationId` - provides information such as line number and system ID.
        `properties` - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
          Disable escaping for this text node
        USE_CDATA
          Output as a CDATA section
      Throws:
        `XPathException` - if an error occurs

    - #### processingInstruction

          public void processingInstruction​(java.lang.String target,
                                            java.lang.CharSequence data,
                                            Location locationId,
                                            int properties)
                                     throws XPathException

      Handle a processing instruction.
      Parameters:
        `target` - The PI name. This must be a legal name (it will not be checked).
        `data` - The data portion of the processing instruction
        `locationId` - provides information such as line number and system ID.
        `properties` - Additional information about the PI.
      Throws:
        `XPathException` - if an error occurs

    - #### comment

          public void comment​(java.lang.CharSequence chars,
                              Location locationId,
                              int properties)
                       throws XPathException

      Handle a comment.
      Parameters:
        `chars` - The content of the comment
        `locationId` - provides information such as line number and system ID.
        `properties` - Additional information about the comment.
      Throws:
        `XPathException` - if an error occurs

    - #### usesTypeAnnotations

          public boolean usesTypeAnnotations()

      Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
      Specified by:
        `usesTypeAnnotations` in interface `Receiver`
      Overrides:
        `usesTypeAnnotations` in class `Builder`
      Returns:
        true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation

    - #### setNode

          public void setNode​(org.w3c.dom.Node node)

      Set the attachment point for the new subtree
      Parameters:
        `node` - the node to which the new subtree will be attached

    - #### setNextSibling

          public void setNextSibling​(org.w3c.dom.Node nextSibling)

      Set next sibling
      Parameters:
        `nextSibling` - the node, which must be a child of the attachment point, before which the new subtree will be created. If this is null the new subtree will be added after any existing children of the attachment point.

    - #### getCurrentRoot

          public NodeInfo getCurrentRoot()

      Get the current root node. This will normally be a document node, but if the root of the tree is an element node, it can be an element.
      Overrides:
        `getCurrentRoot` in class `Builder`
      Returns:
        the root of the tree that is currently being built, or that has been most recently built using this builder

    - #### getDOMDocumentNode

          protected org.w3c.dom.Document getDOMDocumentNode()

      Get the constructed DOM Document node
      Returns:
        the DOM Document node