CL_DomElement - ClanLib Game SDK

Home | All Classes | Grouped Classes | Index | Search

# Class CL_DomElement

DOM Element class. More...

Derived from: CL_DomNode
Derived by: none
Group: Core (XML)

#include <ClanLib/core.h>

Construction:

CL_DomElement | Constructs a DOM Element handle.

Attributes:

get_tag_name | Returns the name of the element.

Operations:

has_attribute | Returns true if the element has the specified attribute.
get_attribute | Returns the specified attribute.
set_attribute | Adds a new attribute.
remove_attribute | Removes an attribute by name.
get_elements_by_tag_name | Returns a NodeList of all descendant elements with a given tag name.
normalize | Merges any adjacent Text nodes.
get_text | Returns the text of all child Text nodes appended together.

Detailed description:

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

By far the vast majority of objects (apart from text) that authors encounter when traversing a document are Element nodes. Assume the following XML document:

      &lt;elementExample id="demo"&gt;
       &lt;subelement1/&gt;
       &lt;subelement2&gt;&lt;subsubelement/&gt;&lt;/subelement2&gt;
      &lt;/elementExample/gt;

When represented using DOM, the top node is an Element node for "elementExample", which contains two child Element nodes, one for "subelement1" and one for "subelement2". "subelement1" contains no child nodes.

Elements may have attributes associated with them; since the Element interface inherits from Node, the generic Node interface method getAttributes may be used to retrieve the set of all attributes for an element. There are methods on the Element interface to retrieve either an Attr object by name or an attribute value by name. In XML, where an attribute value may contain entity references, an Attr object should be retrieved to examine the possibly fairly complex sub-tree representing the attribute value.

Questions or comments, write to the ClanLib mailing list.