FileDocCategorySizeDatePackage
DOMResult.javaAPI DocJava SE 5 API14074Fri Aug 26 14:58:24 BST 2005javax.xml.transform.dom

DOMResult

public class DOMResult extends 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 {@link #getNode()}.

author
Jeff Suttor
version
$Revision: 1.4.16.5 $, $Date: 2004/07/13 22:27:49 $

Fields Summary
public static final String
FEATURE

If {@link javax.xml.transform.TransformerFactory#getFeature} returns true when passed this value as an argument, the Transformer supports Result output of this type.

private Node
node

The node to which the transformation will be appended.

private Node
nextSibling

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

private String
systemId

The System ID that may be used in association with the node.

Constructors Summary
public DOMResult()

Zero-argument default constructor.

node, siblingNode and systemId will be set to null.


                      
      
        setNode(null);
        setNextSibling(null);
        setSystemId(null);
    
public DOMResult(Node node)

Use a DOM node to create a new output target.

In practice, the node should be a {@link org.w3c.dom.Document} node, a {@link org.w3c.dom.DocumentFragment} node, or a {@link org.w3c.dom.Element} node. In other words, a node that accepts children.

siblingNode and systemId will be set to null.

param
node The DOM node that will contain the result tree.

        setNode(node);
        setNextSibling(null);
        setSystemId(null);
    
public DOMResult(Node node, String systemId)

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

In practice, the node should be a {@link org.w3c.dom.Document} node, a {@link org.w3c.dom.DocumentFragment} node, or a {@link org.w3c.dom.Element} node. In other words, a node that accepts children.

siblingNode will be set to null.

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

        setNode(node);
        setNextSibling(null);
        setSystemId(systemId);
    
public DOMResult(Node node, 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 {@link org.w3c.dom.Document} node, a {@link org.w3c.dom.DocumentFragment} node, or a {@link org.w3c.dom.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 {@link #DOMResult(Node node)}, i.e. append the result nodes as the last child of the specified node.

systemId will be set to null.

param
node The DOM node that will contain the result tree.
param
nextSibling The child node where the result nodes should be inserted before.
throws
IllegalArgumentException If nextSibling is not a sibling of node.
throws
IllegalArgumentException If node is null and nextSibling is not null.
since
1.5

        
        // does the corrent parent/child relationship exist?
        if (nextSibling != null) {
            // cannot be a sibling of a null node
            if (node == null) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is contained by the \"null\" node.");
            }
            
            // nextSibling contained by node?
            if ((node.compareDocumentPosition(nextSibling)&Node.DOCUMENT_POSITION_CONTAINED_BY)==0) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is not contained by the node.");
            }
        }

        setNode(node);
        setNextSibling(nextSibling);
        setSystemId(null);
    
public DOMResult(Node node, Node nextSibling, 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 {@link org.w3c.dom.Document} node, a {@link org.w3c.dom.DocumentFragment} node, or a {@link org.w3c.dom.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 {@link #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.

param
node The DOM node that will contain the result tree.
param
nextSibling The child node where the result nodes should be inserted before.
param
systemId The system identifier which may be used in association with this node.
throws
IllegalArgumentException If nextSibling is not a sibling of node.
throws
IllegalArgumentException If node is null and nextSibling is not null.
since
1.5


        // does the corrent parent/child relationship exist?
        if (nextSibling != null) {
            // cannot be a sibling of a null node
            if (node == null) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is contained by the \"null\" node.");
            }
            
            // nextSibling contained by node?
            if ((node.compareDocumentPosition(nextSibling)&Node.DOCUMENT_POSITION_CONTAINED_BY)==0) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is not contained by the node.");
            }
        }

        setNode(node);
        setNextSibling(nextSibling);
        setSystemId(systemId);
    
Methods Summary
public org.w3c.dom.NodegetNextSibling()

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

If no node was set via {@link #DOMResult(Node node, Node nextSibling)}, {@link #DOMResult(Node node, Node nextSibling, String systemId)} or {@link #setNextSibling(Node nextSibling)}, then null will be returned.

return
The child node before which the result nodes will be inserted.
since
1.5

        return nextSibling;
    
public org.w3c.dom.NodegetNode()

Get the node that will contain the result DOM tree.

If no node was set via {@link #DOMResult(Node node)}, {@link #DOMResult(Node node, String systeId)}, {@link #DOMResult(Node node, Node nextSibling)}, {@link #DOMResult(Node node, Node nextSibling, String systemId)} or {@link #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.

return
The node to which the transformation will be appended.

        return node;
    
public java.lang.StringgetSystemId()

Get the System Identifier.

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

return
The system identifier.

        return systemId;
    
public voidsetNextSibling(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 {@link #DOMResult(Node node)}, i.e. append the result nodes as the last child of the specified node.

param
nextSibling The child node before which the result nodes will be inserted.
throws
IllegalArgumentException If nextSibling is not a descendant of node.
throws
IllegalStateException If node is null and nextSibling is not null.
since
1.5

        
        // does the corrent parent/child relationship exist?
        if (nextSibling != null) {
            // cannot be a sibling of a null node
            if (node == null) {
                throw new IllegalStateException("Cannot create a DOMResult when the nextSibling is contained by the \"null\" node.");
            }
            
            // nextSibling contained by node?
            if ((node.compareDocumentPosition(nextSibling)&Node.DOCUMENT_POSITION_CONTAINED_BY)==0) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is not contained by the node.");
            }
        }

        this.nextSibling = nextSibling;
    
public voidsetNode(org.w3c.dom.Node node)

Set the node that will contain the result DOM tree.

In practice, the node should be a {@link org.w3c.dom.Document} node, a {@link org.w3c.dom.DocumentFragment} node, or a {@link org.w3c.dom.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.

param
node The node to which the transformation will be appended.
throws
IllegalStateException If nextSibling is not null and nextSibling is not a child of node.
throws
IllegalStateException If node is null and nextSibling is not null.

        // does the corrent parent/child relationship exist?
        if (nextSibling != null) {
            // cannot be a sibling of a null node
            if (node == null) {
                throw new IllegalStateException("Cannot create a DOMResult when the nextSibling is contained by the \"null\" node.");
            }
            
            // nextSibling contained by node?
            if ((node.compareDocumentPosition(nextSibling)&Node.DOCUMENT_POSITION_CONTAINED_BY)==0) {
                throw new IllegalArgumentException("Cannot create a DOMResult when the nextSibling is not contained by the node.");
            }
        }

        this.node = node;
    
public voidsetSystemId(java.lang.String systemId)

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

param
systemId The system identifier as a URI string.

        this.systemId = systemId;