## javax.xml.transform.dom
Class DOMResult

    java.lang.Object
      javax.xml.transform.dom.DOMResult

All Implemented Interfaces:
  Result

public class DOMResult
extends java.lang.Object
implements Result

Acts as a holder for a transformation result tree in the form of a Document Object Model (DOM) tree.

If no output DOM source is set, the transformation will create a Document node as the holder for the result of the transformation, which may be retrieved with `getNode()`.

Field Summary
`static java.lang.String` `FEATURE` If `TransformerFactory.getFeature(java.lang.String)` returns `true` when passed this value as an argument, the `Transformer` supports `Result` output of this type.

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`DOMResult()` Zero-argument default constructor.
`DOMResult(org.w3c.dom.Node node)` Use a DOM node to create a new output target.
`DOMResult(org.w3c.dom.Node node, org.w3c.dom.Node nextSibling)` Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before.
`DOMResult(org.w3c.dom.Node node, org.w3c.dom.Node nextSibling, java.lang.String systemId)` Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before and the specified System ID.
`DOMResult(org.w3c.dom.Node node, java.lang.String systemId)` Use a DOM node to create a new output target with the specified System ID.

Method Summary
`org.w3c.dom.Node` `getNextSibling()` Get the child node before which the result nodes will be inserted.
`org.w3c.dom.Node` `getNode()` Get the node that will contain the result DOM tree.
`java.lang.String` `getSystemId()` Get the System Identifier.
`void` `setNextSibling(org.w3c.dom.Node nextSibling)` Set the child node before which the result nodes will be inserted.
`void` `setNode(org.w3c.dom.Node node)` Set the node that will contain the result DOM tree.
`void` `setSystemId(java.lang.String systemId)` Set the systemId that may be used in association with the node.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### FEATURE

    public static final java.lang.String FEATURE

  If `TransformerFactory.getFeature(java.lang.String)` returns `true` when passed this value as an argument, the `Transformer` supports `Result` output of this type.

  See Also:
    Constant Field Values

Constructor Detail

### DOMResult

    public DOMResult()

  Zero-argument default constructor.

  `node`, `siblingNode` and `systemId` will be set to `null`.

### DOMResult

    public DOMResult(org.w3c.dom.Node node)

  Use a DOM node to create a new output target.

  In practice, the node should be a `Document` node, a `DocumentFragment` node, or a `Element` node. In other words, a node that accepts children.

  `siblingNode` and `systemId` will be set to `null`.

Parameters:
  `node` - The DOM node that will contain the result tree.

### DOMResult

    public DOMResult(org.w3c.dom.Node node,
                     java.lang.String systemId)

  Use a DOM node to create a new output target with the specified System ID.

  In practice, the node should be a `Document` node, a `DocumentFragment` node, or a `Element` node. In other words, a node that accepts children.

  `siblingNode` will be set to `null`.

Parameters:
  `node` - The DOM node that will contain the result tree.
  `systemId` - The system identifier which may be used in association with this node.

### DOMResult

    public DOMResult(org.w3c.dom.Node node,
                     org.w3c.dom.Node nextSibling)

  Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before.

  In practice, `node` and `nextSibling` should be a `Document` node, a `DocumentFragment` node, or a `Element` node. In other words, a node that accepts children.

  Use `nextSibling` to specify the child node where the result nodes should be inserted before. If `nextSibling` is not a sibling of `node`, then an `IllegalArgumentException` is thrown. If `node` is `null` and `nextSibling` is not `null`, then an `IllegalArgumentException` is thrown. If `nextSibling` is `null`, then the behavior is the same as calling `DOMResult(Node node)`, i.e. append the result nodes as the last child of the specified `node`.

  `systemId` will be set to `null`.

Parameters:
  `node` - The DOM node that will contain the result tree.
  `nextSibling` - The child node where the result nodes should be inserted before.
Throws:
  `java.lang.IllegalArgumentException` - If `nextSibling` is not a sibling of `node`.
  `java.lang.IllegalArgumentException` - If `node` is `null` and `nextSibling` is not `null`.
Since:
  1.5

### DOMResult

    public DOMResult(org.w3c.dom.Node node,
                     org.w3c.dom.Node nextSibling,
                     java.lang.String systemId)

  Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before and the specified System ID.

  In practice, `node` and `nextSibling` should be a `Document` node, a `DocumentFragment` node, or a `Element` node. In other words, a node that accepts children.

  Use `nextSibling` to specify the child node where the result nodes should be inserted before. If `nextSibling` is not a sibling of `node`, then an `IllegalArgumentException` is thrown. If `node` is `null` and `nextSibling` is not `null`, then an `IllegalArgumentException` is thrown. If `nextSibling` is `null`, then the behavior is the same as calling `DOMResult(Node node, String systemId)`, i.e. append the result nodes as the last child of the specified node and use the specified System ID.

Parameters:
  `node` - The DOM node that will contain the result tree.
  `nextSibling` - The child node where the result nodes should be inserted before.
  `systemId` - The system identifier which may be used in association with this node.
Throws:
  `java.lang.IllegalArgumentException` - If `nextSibling` is not a sibling of `node`.
  `java.lang.IllegalArgumentException` - If `node` is `null` and `nextSibling` is not `null`.
Since:
  1.5

Method Detail

### setNode

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

  Set the node that will contain the result DOM tree.

  In practice, the node should be a `Document` node, a `DocumentFragment` node, or a `Element` node. In other words, a node that accepts children.

  An `IllegalStateException` is thrown if `nextSibling` is not `null` and `node` is not a parent of `nextSibling`. An `IllegalStateException` is thrown if `node` is `null` and `nextSibling` is not `null`.

  Parameters:
    `node` - The node to which the transformation will be appended.
  Throws:
    `java.lang.IllegalStateException` - If `nextSibling` is not `null` and `nextSibling` is not a child of `node`.
    `java.lang.IllegalStateException` - If `node` is `null` and `nextSibling` is not `null`.

### getNode

    public org.w3c.dom.Node getNode()

  Get the node that will contain the result DOM tree.

  If no node was set via `DOMResult(Node node)`, `DOMResult(Node node, String systeId)`, `DOMResult(Node node, Node nextSibling)`, `DOMResult(Node node, Node nextSibling, String systemId)` or `setNode(Node node)`, then the node will be set by the transformation, and may be obtained from this method once the transformation is complete. Calling this method before the transformation will return `null`.

  Returns:
    The node to which the transformation will be appended.

### setNextSibling

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

  Set the child node before which the result nodes will be inserted.

  Use `nextSibling` to specify the child node before which the result nodes should be inserted. If `nextSibling` is not a descendant of `node`, then an `IllegalArgumentException` is thrown. If `node` is `null` and `nextSibling` is not `null`, then an `IllegalStateException` is thrown. If `nextSibling` is `null`, then the behavior is the same as calling `DOMResult(Node node)`, i.e. append the result nodes as the last child of the specified `node`.

  Parameters:
    `nextSibling` - The child node before which the result nodes will be inserted.
  Throws:
    `java.lang.IllegalArgumentException` - If `nextSibling` is not a descendant of `node`.
    `java.lang.IllegalStateException` - If `node` is `null` and `nextSibling` is not `null`.
  Since:
    1.5

### getNextSibling

    public org.w3c.dom.Node getNextSibling()

  Get the child node before which the result nodes will be inserted.

  If no node was set via `DOMResult(Node node, Node nextSibling)`, `DOMResult(Node node, Node nextSibling, String systemId)` or `setNextSibling(Node nextSibling)`, then `null` will be returned.

  Returns:
    The child node before which the result nodes will be inserted.
  Since:
    1.5

### setSystemId

    public void setSystemId(java.lang.String systemId)

  Set the systemId that may be used in association with the node.

  Specified by:
    `setSystemId` in interface `Result`
  Parameters:
    `systemId` - The system identifier as a URI string.

### getSystemId

    public java.lang.String getSystemId()

  Get the System Identifier.

  If no System ID was set via `DOMResult(Node node, String systemId)`, `DOMResult(Node node, Node nextSibling, String systemId)` or `setSystemId(String systemId)`, then `null` will be returned.

  Specified by:
    `getSystemId` in interface `Result`
  Returns:
    The system identifier.