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.