The Node
interface is the primary datatype for the entire
Document Object Model
![]() | Cloning function.
| ||||||||||||||||||||||||
![]() | Constructors and assignment operators
| ||||||||||||||||||||||||
![]() | Destructor.
| ||||||||||||||||||||||||
![]() | Equality and Inequality operators.
| ||||||||||||||||||||||||
![]() | Functions to modify the DOM Node.
| ||||||||||||||||||||||||
![]() | Get functions.
| ||||||||||||||||||||||||
![]() | Query functions.
| ||||||||||||||||||||||||
![]() | Set functions.
|
TheNode
interface is the primary datatype for the entire Document Object Model. It represents a single node in the document tree. While all objects implementing theNode
interface expose methods for dealing with children, not all objects implementing theNode
interface may have children. For example,Text
nodes may not have children, and adding children to such nodes results in aDOMException
being raised.The attributes
nodeName
,nodeValue
andattributes
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 specificnodeType
(e.g.,nodeValue
for an Element orattributes
for a Comment), this returnsnull
. Note that the specialized interfaces may contain additional and more convenient mechanisms to get and set the relevant information.
DOM_Node(const DOM_Node &other)
DOM_Node& operator = (const DOM_Node &other)
DOM_Node& operator = (const DOM_NullPtr *val)
DOM_Node
s refer to the same
actual node, or are both null; return false otherwise.
this
object is compared
bool operator == (const DOM_NullPtr *other) const
bool operator != (const DOM_Node & other) const
bool operator != (const DOM_NullPtr * other) const
DOMString getNodeValue() const
DOMException
DOMSTRING_SIZE_ERR: Raised when it would return more characters than
fit in a DOMString
variable on the implementation
platform. short getNodeType() const
DOM_Node getParentNode() const
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, a null
DOM_Node
is returned.
DOM_NodeList getChildNodes() const
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.
DOM_Node getFirstChild() const
null
.
DOM_Node getLastChild() const
null
.
DOM_Node getPreviousSibling() const
null
.
DOM_Node getNextSibling() const
null
.
DOM_NamedNodeMap getAttributes() const
NamedNodeMap
containing the attributes of this node (if it
is an Element
) or null
otherwise
DOM_Document getOwnerDocument() const
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
.
void* getUserData() const
DOM_Node::setUserData(p)
.
parentNode
returns null
.).
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.
true
, recursively clone the subtree under the
specified node; if false
, clone only the node itself (and
its attributes, if it is an Element
).
newChild
before the existing child node
refChild
.
If refChild
is null
,
insert newChild
at the end of the list of children.
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. Note that a DOM_Node
that
has never been assigned to refer to an actual node is == null.
newChild
node, or if
the node to insert is one of this node's ancestors.
newChild
was created
from a different document than the one that created this node.
refChild
is not a child of
this node.
DOM_Node replaceChild(const DOM_Node &newChild, const DOM_Node &oldChild)
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.
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.
oldChild - The node being replaced in the list.
DOM_Node removeChild(const DOM_Node &oldChild)
oldChild
from the list
of children, and returns it.
NOT_FOUND_ERR: Raised if oldChild
is not a child of
this node. DOM_Node appendChild(const DOM_Node &newChild)
newChild
to the end of the list of children of
this node.
If the newChild
is already in the tree, it is
first removed.
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.DocumentFragment
object, the entire contents of the document fragment are moved into
the child list of this node
true
if the node has any children,
false
if the node has no children.
Operator == provides another way to perform this null test on a
DOM_Node.
bool isNull() const
DOM_Node
functions much like an object reference to an underlying Node, and
this function tests for that reference being null. Several DOM
APIs,
Node.getNextSibling()
for example, can return null, and
this function is used to test for that condition.
Deletion of the user data remains the responsibility of the
application program; it will not be automatically deleted when
the nodes themselves are reclaimed.
Because DOM_Node is not designed to be subclassed, userdata
provides an alternative means for extending the the information
kept with nodes by an application program.
void setUserData(void *p)
DOM_Node::getUserData(p)
.
alphabetic index hierarchy of classes
XML Parser for C++ 2.0 Copyright © IBM Corp, 1999 Center for Java Technology 10275 N. De Anza Blvd. Cupertino CA 95014 USA Email: xml4c@us.ibm.com |
|