Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.w3c.dom
Interface Node

All Known Subinterfaces:
  Attr, CDATASection, CharacterData, Comment, Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, Notation, ProcessingInstruction, Text

public interface Node

The `Node` interface is the primary datatype for the entire Document Object Model. It represents a single node in the document tree. While all objects implementing the `Node` interface expose methods for dealing with children, not all objects implementing the `Node` interface may have children. For example, `Text` nodes may not have children, and adding children to such nodes results in a `DOMException` being raised.

The attributes `nodeName`, `nodeValue` and `attributes` are included as a mechanism to get at node information without casting down to the specific derived interface. In cases where there is no obvious mapping of these attributes for a specific `nodeType` (e.g., `nodeValue` for an Element or `attributes` for a Comment), this returns `null`. Note that the specialized interfaces may contain additional and more convenient mechanisms to get and set the relevant information.

The values of `nodeName`, `nodeValue`, and `attributes` vary according to the node type as follows:

Node Type | nodeName | nodeValue | attributes
Element | tagName | null | NamedNodeMap
Attr | name of attribute | value of attribute | null
Text | #text | content of the text node | null
CDATASection | #cdata-section | content of the CDATA Section | null
EntityReference | name of entity referenced | null | null
Entity | entity name | null | null
ProcessingInstruction | target | entire content excluding the target | null
Comment | #comment | content of the comment | null
Document | #document | null | null
DocumentType | document type name | null | null
DocumentFragment | #document-fragment | null | null
Notation | notation name | null | null

Property Summary
`nodeName` | getNodeName | The name of this node, depending on its type; see the table above.
`nodeValue` | getNodeValue setNodeValue | The value of this node, depending on its type; see the table above.
`nodeType` | getNodeType | A code representing the type of the underlying object, as defined above.
`parentNode` | getParentNode | The parent of this node. All nodes, except `Document`, `DocumentFragment`, and `Attr` may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is `null`.
`childNodes` | getChildNodes | A `NodeList` that contains all children of this node. If there are no children, this is a `NodeList` containing no nodes. The content of the returned `NodeList` is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the `NodeList` accessors; it is not a static snapshot of the content of the node. This is true for every `NodeList`, including the ones returned by the `getElementsByTagName` method.
`firstChild` | getFirstChild | The first child of this node. If there is no such node, this returns `null`.
`lastChild` | getLastChild | The last child of this node. If there is no such node, this returns `null`.
`previousSibling` | getPreviousSibling | The node immediately preceding this node. If there is no such node, this returns `null`.
`nextSibling` | getNextSibling | The node immediately following this node. If there is no such node, this returns `null`.
`attributes` | getAttributes | A `NamedNodeMap` containing the attributes of this node (if it is an `Element`) or `null` otherwise.
`ownerDocument` | getOwnerDocument | The `Document` object associated with this node. This is also the `Document` object used to create new nodes. When this node is a `Document` this is `null`.

Field Summary
`static short` | `ATTRIBUTE_NODE` The node is an `Attr`.
`static short` | `CDATA_SECTION_NODE` The node is a `CDATASection`.
`static short` | `COMMENT_NODE` The node is a `Comment`.
`static short` | `DOCUMENT_FRAGMENT_NODE` The node is a `DocumentFragment`.
`static short` | `DOCUMENT_NODE` The node is a `Document`.
`static short` | `DOCUMENT_TYPE_NODE` The node is a `DocumentType`.
`static short` | `ELEMENT_NODE` The node is a `Element`.
`static short` | `ENTITY_NODE` The node is an `Entity`.
`static short` | `ENTITY_REFERENCE_NODE` The node is an `EntityReference`.
`static short` | `NOTATION_NODE` The node is a `Notation`.
`static short` | `PROCESSING_INSTRUCTION_NODE` The node is a `ProcessingInstruction`.
`static short` | `TEXT_NODE` The node is a `Text` node.

Method Summary
`Node` | `appendChild(Node newChild)` Adds the node `newChild` to the end of the list of children of this node.
`Node` | `cloneNode(boolean deep)` Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
`NamedNodeMap` | `getAttributes()` Returns the value of the `attributes` property.
`NodeList` | `getChildNodes()` Returns the value of the `childNodes` property.
`Node` | `getFirstChild()` Returns the value of the `firstChild` property.
`Node` | `getLastChild()` Returns the value of the `lastChild` property.
`Node` | `getNextSibling()` Returns the value of the `nextSibling` property.
`java.lang.String` | `getNodeName()` Returns the value of the `nodeName` property.
`short` | `getNodeType()` Returns the value of the `nodeType` property.
`java.lang.String` | `getNodeValue()` Returns the value of the `nodeValue` property.
`Document` | `getOwnerDocument()` Returns the value of the `ownerDocument` property.
`Node` | `getParentNode()` Returns the value of the `parentNode` property.
`Node` | `getPreviousSibling()` Returns the value of the `previousSibling` property.
`boolean` | `hasChildNodes()` This is a convenience method to allow easy determination of whether a node has any children.
`Node` | `insertBefore(Node newChild, Node refChild)` Inserts the node `newChild` before the existing child node `refChild`.
`Node` | `removeChild(Node oldChild)` Removes the child node indicated by `oldChild` from the list of children, and returns it.
`Node` | `replaceChild(Node newChild, Node oldChild)` Replaces the child node `oldChild` with `newChild` in the list of children, and returns the `oldChild` node.
`void` | `setNodeValue(java.lang.String nodeValue)` Assigns the value of the `nodeValue` property.

Field Detail

### ELEMENT_NODE

    public static final short ELEMENT_NODE

  The node is a `Element`.

### ATTRIBUTE_NODE

    public static final short ATTRIBUTE_NODE

  The node is an `Attr`.

### TEXT_NODE

    public static final short TEXT_NODE

  The node is a `Text` node.

### CDATA_SECTION_NODE

    public static final short CDATA_SECTION_NODE

  The node is a `CDATASection`.

### ENTITY_REFERENCE_NODE

    public static final short ENTITY_REFERENCE_NODE

  The node is an `EntityReference`.

### ENTITY_NODE

    public static final short ENTITY_NODE

  The node is an `Entity`.

### PROCESSING_INSTRUCTION_NODE

    public static final short PROCESSING_INSTRUCTION_NODE

  The node is a `ProcessingInstruction`.

### COMMENT_NODE

    public static final short COMMENT_NODE

  The node is a `Comment`.

### DOCUMENT_NODE

    public static final short DOCUMENT_NODE

  The node is a `Document`.

### DOCUMENT_TYPE_NODE

    public static final short DOCUMENT_TYPE_NODE

  The node is a `DocumentType`.

### DOCUMENT_FRAGMENT_NODE

    public static final short DOCUMENT_FRAGMENT_NODE

  The node is a `DocumentFragment`.

### NOTATION_NODE

    public static final short NOTATION_NODE

  The node is a `Notation`.

Method Detail

### getNodeName

    public java.lang.String getNodeName()

  Returns the value of the `nodeName` property.

### setNodeValue

    public void setNodeValue(java.lang.String nodeValue)
                      throws DOMException

  Assigns the value of the `nodeValue` property.
  Throws:
    DOMException -

    NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.

### getNodeValue

    public java.lang.String getNodeValue()
                                  throws DOMException

  Returns the value of the `nodeValue` property.
  Throws:
    DOMException -

    DOMSTRING_SIZE_ERR: Raised when it would return more characters than fit in a `DOMString` variable on the implementation platform.

### getNodeType

    public short getNodeType()

  Returns the value of the `nodeType` property.

### getParentNode

    public Node getParentNode()

  Returns the value of the `parentNode` property.

### getChildNodes

    public NodeList getChildNodes()

  Returns the value of the `childNodes` property.

### getFirstChild

    public Node getFirstChild()

  Returns the value of the `firstChild` property.

### getLastChild

    public Node getLastChild()

  Returns the value of the `lastChild` property.

### getPreviousSibling

    public Node getPreviousSibling()

  Returns the value of the `previousSibling` property.

### getNextSibling

    public Node getNextSibling()

  Returns the value of the `nextSibling` property.

### getAttributes

    public NamedNodeMap getAttributes()

  Returns the value of the `attributes` property.

### getOwnerDocument

    public Document getOwnerDocument()

  Returns the value of the `ownerDocument` property.

### insertBefore

    public Node insertBefore(Node newChild,
                             Node refChild)
                      throws DOMException

  Inserts the node `newChild` before the existing child node `refChild`. If `refChild` is `null`, insert `newChild` at the end of the list of children.

  If `newChild` is a `DocumentFragment` object, all of its children are inserted, in the same order, before `refChild`. If the `newChild` is already in the tree, it is first removed.

  Parameters:
    `newChild` - The node to insert.
    `refChild` - The reference node, i.e., the node before which the new node must be inserted.
  Returns:
    The node being inserted.
  Throws:
    HIERARCHY_REQUEST_ERR: - Raised if this node is of a type that does not allow children of the type of the `newChild` node, or if the node to insert is one of this node's ancestors.

    WRONG_DOCUMENT_ERR: Raised if `newChild` was created from a different document than the one that created this node.

    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

    NOT_FOUND_ERR: Raised if `refChild` is not a child of this node.

### replaceChild

    public Node replaceChild(Node newChild,
                             Node oldChild)
                      throws DOMException

  Replaces the child node `oldChild` with `newChild` in the list of children, and returns the `oldChild` node. If the `newChild` is already in the tree, it is first removed.

  Parameters:
    `newChild` - The new node to put in the child list.
    `oldChild` - The node being replaced in the list.
  Returns:
    The node replaced.
  Throws:
    HIERARCHY_REQUEST_ERR: - Raised if this node is of a type that does not allow children of the type of the `newChild` node, or it the node to put in is one of this node's ancestors.

    WRONG_DOCUMENT_ERR: Raised if `newChild` was created from a different document than the one that created this node.

    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

    NOT_FOUND_ERR: Raised if `oldChild` is not a child of this node.

### removeChild

    public Node removeChild(Node oldChild)
                     throws DOMException

  Removes the child node indicated by `oldChild` from the list of children, and returns it.

  Parameters:
    `oldChild` - The node being removed.
  Returns:
    The node removed.
  Throws:
    NO_MODIFICATION_ALLOWED_ERR: - Raised if this node is readonly.

    NOT_FOUND_ERR: Raised if `oldChild` is not a child of this node.

### appendChild

    public Node appendChild(Node newChild)
                     throws DOMException

  Adds the node `newChild` to the end of the list of children of this node. If the `newChild` is already in the tree, it is first removed.

  Parameters:
    `newChild` - The node to add.

    If it is a `DocumentFragment` object, the entire contents of the document fragment are moved into the child list of this node

  Returns:
    The node added.
  Throws:
    HIERARCHY_REQUEST_ERR: - Raised if this node is of a type that does not allow children of the type of the `newChild` node, or if the node to append is one of this node's ancestors.

    WRONG_DOCUMENT_ERR: Raised if `newChild` was created from a different document than the one that created this node.

    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

### hasChildNodes

    public boolean hasChildNodes()

  This is a convenience method to allow easy determination of whether a node has any children.

  Returns:
    `true` if the node has any children, `false` if the node has no children.

### cloneNode

    public Node cloneNode(boolean deep)

  Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent ( `parentNode` returns `null`.).

  Cloning an `Element` copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child `Text` node. Cloning any other type of node simply returns a copy of this node.

  Parameters:
    `deep` - If `true`, recursively clone the subtree under the specified node; if `false`, clone only the node itself (and its attributes, if it is an `Element`).
  Returns:
    The duplicate node.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit Feedback to xml-feedback@java.sun.com
Copyright © 1998-2000 Sun Microsystems, Inc. All Rights Reserved.
Sun Microsystems, Inc.
901 San Antonio Road
Palo Alto, California, 94303, U.S.A.