Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle® Application Server XML Java API Reference 10g Release 2 (10.1.2) Part no. B12024-03 September 2004
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | 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

All Known Implementing Classes:
  oracle.xml.parser.v2.CharData, DTD, XDBAttribute, XDBCData, XDBCharData, XDBComment, XDBDocFragment, XDBDocument, XDBDocumentType, XDBElement, XDBEntity, XDBEntityReference, XDBNode, XDBNotation, XDBProcInst, XDBText, XMLAttr, XMLCDATA, XMLComment, XMLDocument, XMLDocumentFragment, XMLElement, XMLEntity, XMLEntityReference, XMLNode, XMLNotation, XMLPI, XMLText

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.

See also the Document Object Model (DOM) Level 2 Core Specification.

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 an `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()` A `NamedNodeMap` containing the attributes of this node (if it is an `Element`) or `null` otherwise.
`NodeList` | `getChildNodes()` A `NodeList` that contains all children of this node.
`Node` | `getFirstChild()` The first child of this node.
`Node` | `getLastChild()` The last child of this node.
`java.lang.String` | `getLocalName()` Returns the local part of the qualified name of this node.
`java.lang.String` | `getNamespaceURI()` The namespace URI of this node, or `null` if it is unspecified.
`Node` | `getNextSibling()` The node immediately following this node.
`java.lang.String` | `getNodeName()` The name of this node, depending on its type; see the table above.
`short` | `getNodeType()` A code representing the type of the underlying object, as defined above.
`java.lang.String` | `getNodeValue()` The value of this node, depending on its type; see the table above.
`Document` | `getOwnerDocument()` The `Document` object associated with this node.
`Node` | `getParentNode()` The parent of this node.
`java.lang.String` | `getPrefix()` The namespace prefix of this node, or `null` if it is unspecified.
`Node` | `getPreviousSibling()` The node immediately preceding this node.
`boolean` | `hasAttributes()` Returns whether this node (if it is an element) has any attributes.
`boolean` | `hasChildNodes()` Returns whether this node has any children.
`Node` | `insertBefore(Node newChild, Node refChild)` Inserts the node `newChild` before the existing child node `refChild`.
`boolean` | `isSupported(java.lang.String feature, java.lang.String version)` Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
`void` | `normalize()` Puts all `Text` nodes in the full depth of the sub-tree underneath this `Node`, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates `Text` nodes, i.e., there are neither adjacent `Text` nodes nor empty `Text` nodes.
`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)`
`void` | `setPrefix(java.lang.String prefix)`

Field Detail

### ELEMENT_NODE

    public static final short ELEMENT_NODE

  The node is an `Element`.
  See Also:
    Constant Field Values

### ATTRIBUTE_NODE

    public static final short ATTRIBUTE_NODE

  The node is an `Attr`.
  See Also:
    Constant Field Values

### TEXT_NODE

    public static final short TEXT_NODE

  The node is a `Text` node.
  See Also:
    Constant Field Values

### CDATA_SECTION_NODE

    public static final short CDATA_SECTION_NODE

  The node is a `CDATASection`.
  See Also:
    Constant Field Values

### ENTITY_REFERENCE_NODE

    public static final short ENTITY_REFERENCE_NODE

  The node is an `EntityReference`.
  See Also:
    Constant Field Values

### ENTITY_NODE

    public static final short ENTITY_NODE

  The node is an `Entity`.
  See Also:
    Constant Field Values

### PROCESSING_INSTRUCTION_NODE

    public static final short PROCESSING_INSTRUCTION_NODE

  The node is a `ProcessingInstruction`.
  See Also:
    Constant Field Values

### COMMENT_NODE

    public static final short COMMENT_NODE

  The node is a `Comment`.
  See Also:
    Constant Field Values

### DOCUMENT_NODE

    public static final short DOCUMENT_NODE

  The node is a `Document`.
  See Also:
    Constant Field Values

### DOCUMENT_TYPE_NODE

    public static final short DOCUMENT_TYPE_NODE

  The node is a `DocumentType`.
  See Also:
    Constant Field Values

### DOCUMENT_FRAGMENT_NODE

    public static final short DOCUMENT_FRAGMENT_NODE

  The node is a `DocumentFragment`.
  See Also:
    Constant Field Values

### NOTATION_NODE

    public static final short NOTATION_NODE

  The node is a `Notation`.
  See Also:
    Constant Field Values

Method Detail

### getNodeName

    public java.lang.String getNodeName()

  The name of this node, depending on its type; see the table above.

### getNodeValue

    public java.lang.String getNodeValue()
                                  throws DOMException

  The value of this node, depending on its type; see the table above. When it is defined to be `null`, setting it has no effect.
  Throws:
    `DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
    `DOMException` - DOMSTRING_SIZE_ERR: Raised when it would return more characters than fit in a `DOMString` variable on the implementation platform.

### setNodeValue

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

    `DOMException`

### getNodeType

    public short getNodeType()

  A code representing the type of the underlying object, as defined above.

### getParentNode

    public Node getParentNode()

  The parent of this node. All nodes, except `Attr`, `Document`, `DocumentFragment`, `Entity`, and `Notation` 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`.

### getChildNodes

    public NodeList getChildNodes()

  A `NodeList` that contains all children of this node. If there are no children, this is a `NodeList` containing no nodes.

### getFirstChild

    public Node getFirstChild()

  The first child of this node. If there is no such node, this returns `null`.

### getLastChild

    public Node getLastChild()

  The last child of this node. If there is no such node, this returns `null`.

### getPreviousSibling

    public Node getPreviousSibling()

  The node immediately preceding this node. If there is no such node, this returns `null`.

### getNextSibling

    public Node getNextSibling()

  The node immediately following this node. If there is no such node, this returns `null`.

### getAttributes

    public NamedNodeMap getAttributes()

  A `NamedNodeMap` containing the attributes of this node (if it is an `Element`) or `null` otherwise.

### getOwnerDocument

    public Document 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` or a `DocumentType` which is not used with any `Document` yet, this is `null`.

### 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.
  Returns:
    The node being inserted.
  Throws:
    `DOMException` - 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 or if the parent of the node being inserted 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 `newChild` is a `DocumentFragment` object, `oldChild` is replaced by all of the `DocumentFragment` children, which are inserted in the same order. If the `newChild` is already in the tree, it is first removed.
  Returns:
    The node replaced.
  Throws:
    `DOMException` - 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 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 or the parent of the new 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.
  Returns:
    The node removed.
  Throws:
    `DOMException` - 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.
  Returns:
    The node added.
  Throws:
    `DOMException` - 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()

  Returns whether this node has any children.
  Returns:
    `true` if this node has any children, `false` otherwise.

### 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` is `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 an `Attribute` directly, as opposed to be cloned as part of an `Element` cloning operation, returns a specified attribute ( `specified` is `true`). Cloning any other type of node simply returns a copy of this node.
  Note that cloning an immutable subtree results in a mutable copy, but the children of an `EntityReference` clone are readonly . In addition, clones of unspecified `Attr` nodes are specified. And, cloning `Document`, `DocumentType`, `Entity`, and `Notation` nodes is implementation dependent.
  Returns:
    The duplicate node.

### normalize

    public void normalize()

  Puts all `Text` nodes in the full depth of the sub-tree underneath this `Node`, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates `Text` nodes, i.e., there are neither adjacent `Text` nodes nor empty `Text` nodes. This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used.In cases where the document contains `CDATASections`, the normalize operation alone may not be sufficient, since XPointers do not differentiate between `Text` nodes and `CDATASection` nodes.

### isSupported

    public boolean isSupported(java.lang.String feature,
                               java.lang.String version)

  Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
  Returns:
    Returns `true` if the specified feature is supported on this node, `false` otherwise.
  Since:
    DOM Level 2

### getNamespaceURI

    public java.lang.String getNamespaceURI()

  The namespace URI of this node, or `null` if it is unspecified.
  This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time.
  For nodes of any type other than `ELEMENT_NODE` and `ATTRIBUTE_NODE` and nodes created with a DOM Level 1 method, such as `createElement` from the `Document` interface, this is always `null`.Per the Namespaces in XML Specification an attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it simply has no namespace.
  Since:
    DOM Level 2

### getPrefix

    public java.lang.String getPrefix()

  The namespace prefix of this node, or `null` if it is unspecified.
  Note that setting this attribute, when permitted, changes the `nodeName` attribute, which holds the qualified name, as well as the `tagName` and `name` attributes of the `Element` and `Attr` interfaces, when applicable.
  Note also that changing the prefix of an attribute that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the `namespaceURI` and `localName` do not change.
  For nodes of any type other than `ELEMENT_NODE` and `ATTRIBUTE_NODE` and nodes created with a DOM Level 1 method, such as `createElement` from the `Document` interface, this is always `null`.
  Throws:
    `DOMException` - INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character.
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
    NAMESPACE_ERR: Raised if the specified `prefix` is malformed, if the `namespaceURI` of this node is `null`, if the specified prefix is "xml" and the `namespaceURI` of this node is different from " http://www.w3.org/XML/1998/namespace", if this node is an attribute and the specified prefix is "xmlns" and the `namespaceURI` of this node is different from " http://www.w3.org/2000/xmlns/", or if this node is an attribute and the `qualifiedName` of this node is "xmlns" .
  Since:
    DOM Level 2

### setPrefix

    public void setPrefix(java.lang.String prefix)
                   throws DOMException

    `DOMException`

### getLocalName

    public java.lang.String getLocalName()

  Returns the local part of the qualified name of this node.
  For nodes of any type other than `ELEMENT_NODE` and `ATTRIBUTE_NODE` and nodes created with a DOM Level 1 method, such as `createElement` from the `Document` interface, this is always `null`.
  Since:
    DOM Level 2

### hasAttributes

    public boolean hasAttributes()

  Returns whether this node (if it is an element) has any attributes.
  Returns:
    `true` if this node has any attributes, `false` otherwise.
  Since:
    DOM Level 2

Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle® Application Server XML Java API Reference 10g Release 2 (10.1.2) Part no. B12024-03 September 2004
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000 W3C® (MIT, INRIA, Keio), All rights reserved.