Home | All Classes | Grouped Classes | Index | Search

Class CL_DomNode

DOM Node class. More...

Derived from: none
Derived by: CL_DomAttr CL_DomCharacterData CL_DomDocument CL_DomDocumentFragment CL_DomDocumentType CL_DomElement CL_DomEntity CL_DomEntityReference CL_DomNotation CL_DomProcessingInstruction
Group: Core (XML)

#include <ClanLib/core.h>

Construction:

CL_DomNode

Attributes:

get_node_name

Returns the node name.

get_node_value

Returns the node value.

set_node_value

Sets the node value.

get_node_type

Returns the node type (one of those in the NodeType enum).

get_parent_node

Returns the parent of this node.

get_child_nodes

Returns a NodeList that contains all children of this node.

get_first_child

The first child of this node.

get_last_child

The last child of this node.

get_previous_sibling

The node immediately preceding this node.

get_next_sibling

The node immediately following this node.

get_attributes

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

get_owner_document

The Document object associated with this node.

is_null

Returns true if this is a null node.

is_element

Returns true if this is an element node.

is_attr

Returns true if this is an attribute node.

is_text

Returns true if this is a text node.

is_cdata_section

Returns true if this is a CDATA section node.

is_entity_reference

Returns true if this is an entity reference node.

is_entity

Returns true if this is an entity node.

is_processing_instruction

Returns true if this is a processing instruction node.

is_comment

Returns true if this is a comment node.

is_document

Returns true if this is a document node.

is_document_type

Returns true if this is a document type node.

is_document_fragment

Returns true if this is a document fragment node.

is_notation

Returns true if this is a notation node.

has_child_nodes

Returns true if this node has any children.

Operations:

operator =

Copy assignment operator.

operator ==

Compare operator.

insert_before

Inserts the node new_child before the existing child node ref_child.

replace_child

Replaces the child node old_child with new_child in the list of children.

remove_child

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

append_child

Adds the node new_child to the end of the list of children of this node.

clone_node

Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.

is_same_node

Returns whether this node is the same node as the given one.

to_element

Returns the Element interface to this node.

to_attr

Returns the Attribute interface to this node.

to_text

Returns the Text interface to this node.

to_cdata_section

Returns the CDATA Section interface to this node.

to_entity_reference

Returns the Entity Reference interface to this node.

to_entity

Returns the Entity interface to this node.

to_processing_instruction

Returns the Processing Instruction interface to this node.

to_comment

Returns the Comment interface to this node.

to_document

Returns the Document interface to this node.

to_document_type

Returns the Document Type interface to this node.

to_document_fragment

Returns the Document Fragment interface to this node.

to_notation

Returns the Notation interface to this node.

named_item

Returns the first child node with the specified node name.

Implementation:

impl

Detailed description:

!group=Core/XML! !header=core.h!

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 CL_DOMException being thrown.

The attributes 'node_name', 'node_value' 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 node_type (e.g., node_value 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.



Questions or comments, write to the
ClanLib mailing list.