List of all members
clan::DomElement Class Reference
clanCore XML

DOM Element class. More...

`#include <dom_element.h>`

Inheritance diagram for clan::DomElement:

## Public Member Functions
Construction
| DomElement ()
| Constructs a DOM Element handle. More...
| DomElement (DomDocument &doc, const DomString &tag_name, const DomString &namespace_uri=DomString())
| DomElement (const std::shared_ptr< DomNode_Impl > &impl)
| Constructs a DomElement. More...
| ~DomElement ()
Attributes
DomString | get_tag_name () const
| Returns the name of the element. More...
Operations
bool | has_attribute (const DomString &name) const
| Returns true if the element has the specified attribute. More...
bool | has_attribute_ns (const DomString &namespace_uri, const DomString &local_name) const
| Returns true if the element has the specified attribute. More...
DomString | get_attribute (const DomString &name) const
| Returns the specified attribute. More...
DomString | get_attribute (const DomString &name, const DomString &default_value) const
| Get attribute. More...
DomString | get_attribute_ns (const DomString &namespace_uri, const DomString &local_name) const
| Returns the specified attribute. More...
DomString | get_attribute_ns (const DomString &namespace_uri, const DomString &local_name, const DomString &default_value) const
void | set_attribute (const DomString &name, const DomString &value)
| Adds a new attribute. More...
void | set_attribute_ns (const DomString &namespace_uri, const DomString &qualified_name, const DomString &value)
void | remove_attribute (const DomString &name)
| Removes an attribute by name. More...
void | remove_attribute_ns (const DomString &namespace_uri, const DomString &local_name)
DomAttr | get_attribute_node (const DomString &name) const
| Get attribute node. More...
DomAttr | get_attribute_node_ns (const DomString &namespace_uri, const DomString &local_name) const
DomAttr | set_attribute_node (const DomAttr &attr)
| Set attribute node. More...
DomAttr | set_attribute_node_ns (const DomAttr &attr)
| Set attribute node ns. More...
DomNodeList | get_elements_by_tag_name (const DomString &name)
| Returns a NodeList of all descendant elements with a given tag name. More...
DomNodeList | get_elements_by_tag_name_ns (const DomString &namespace_uri, const DomString &local_name)
std::string | get_text () const
| Returns the text of all child Text nodes appended together. More...
DomString | get_child_string (const DomString &name, const DomString &default_value=DomString()) const
| Returns the text value of the child node with the given tag name. More...
DomString | get_child_string_ns (const DomString &namespace_uri, const DomString &local_name, const DomString &default_value=DomString()) const
| Returns the text value of the child node with the given local name and namespace. More...
int | get_child_int (const DomString &name, int default_value=0) const
| Returns the integer value of the child node with the given tag name. More...
int | get_child_int_ns (const DomString &namespace_uri, const DomString &local_name, int default_value=0) const
| Returns the integer value of the child node with the given local name and namespace. More...
bool | get_child_bool (const DomString &name, bool default_value=false) const
| Returns the boolean value of the child node with the given tag name. More...
bool | get_child_bool_ns (const DomString &namespace_uri, const DomString &local_name, bool default_value=false) const
| Returns the boolean value of the child node with the given local name and namespace. More...
void | set_child_string (const DomString &name, const DomString &value)
| Sets the child node with the specified tag name to the given text value. More...
void | set_child_string_ns (const DomString &namespace_uri, const DomString &qualified_name, const DomString &value)
| Sets the child node with the specified qualified name and namespace to the given text value. More...
void | set_child_int (const DomString &name, int value)
| Sets the child node with the specified tag name to the given integer value. More...
void | set_child_int_ns (const DomString &namespace_uri, const DomString &qualified_name, int value)
| Sets the child node with the specified qualified name and namespace to the given integer value. More...
void | set_child_bool (const DomString &name, bool value)
| Sets the child node with the specified tag name to the given boolean value. More...
void | set_child_bool_ns (const DomString &namespace_uri, const DomString &qualified_name, bool value)
| Sets the child node with the specified qualified name and namespace to the given boolean value. More...
DomElement | get_first_child_element () const
| Returns the first child node that is an element node. More...
DomElement | get_next_sibling_element () const
| Returns the next sibling node that is an element node. More...
int | get_attribute_int (const DomString &name, int default_value=0) const
| Returns the integer value of the attribute node with the given tag name. More...
int | get_attribute_int_ns (const DomString &namespace_uri, const DomString &local_name, int default_value=0) const
| Returns the integer value of the attribute node with the given local name and namespace. More...
bool | get_attribute_bool (const DomString &name, bool default_value=false) const
| Returns the boolean value of the attribute node with the given tag name. More...
bool | get_attribute_bool_ns (const DomString &namespace_uri, const DomString &local_name, bool default_value=false) const
| Returns the boolean value of the attribute node with the given local name and namespace. More...
float | get_attribute_float (const DomString &name, float default_value=0.0f) const
| Returns the floating-point value of the attribute node with the given tag name. More...
float | get_attribute_float_ns (const DomString &namespace_uri, const DomString &local_name, float default_value=0.0f) const
| Returns the floating-point value of the attribute node with the given local name and namespace. More...
void | set_attribute_int (const DomString &name, int value)
| Sets the attribute node with the specified tag name to the given integer value. More...
void | set_attribute_int_ns (const DomString &namespace_uri, const DomString &qualified_name, int value)
| Sets the attribute node with the specified qualified name and namespace to the given integer value. More...
void | set_attribute_bool (const DomString &name, bool value)
| Sets the attribute node with the specified tag name to the given boolean value. More...
void | set_attribute_bool_ns (const DomString &namespace_uri, const DomString &qualified_name, bool value)
| Sets the attribute node with the specified qualified name and namespace to the given boolean value. More...
void | set_attribute_float (const DomString &name, float value, int num_decimal_places=6)
| Sets the attribute node with the specified tag name to the given floating-point value. More...
void | set_attribute_float_ns (const DomString &namespace_uri, const DomString &qualified_name, float value, int num_decimal_places=6)
| Sets the attribute node with the specified qualified name and namespace to the given floating-point value. More...
Public Member Functions inherited from clan::DomNode
| DomNode ()
| DomNode (const DomNode &copy)
| Constructs a DomNode. More...
| ~DomNode ()
DomNode & | operator= (const DomNode &copy)
| Copy assignment operator. More...
bool | operator== (const DomNode &other) const
| Compare operator. More...
bool | operator!= (const DomNode &other) const
| Compare operator. More...
void | normalize ()
| Merges any adjacent Text nodes. More...
DomNode | insert_before (DomNode &new_child, DomNode &ref_child)
| Inserts the node new_child before the existing child node ref_child. More...
DomNode | replace_child (DomNode &new_child, DomNode &old_child)
| Replaces the child node old_child with new_child in the list of children. More...
DomNode | remove_child (DomNode &old_child)
| Removes the child node indicated by old_child from the list of children, and returns it. More...
DomNode | append_child (DomNode new_child)
| Adds the node new_child to the end of the list of children of this node. More...
DomNode | clone_node (bool deep) const
| Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. More...
DomElement | to_element () const
| Returns the Element interface to this node. More...
DomAttr | to_attr () const
| Returns the Attribute interface to this node. More...
DomText | to_text () const
| Returns the Text interface to this node. More...
DomCDATASection | to_cdata_section () const
| Returns the CDATA Section interface to this node. More...
DomEntityReference | to_entity_reference () const
| Returns the Entity Reference interface to this node. More...
DomEntity | to_entity () const
| Returns the Entity interface to this node. More...
DomProcessingInstruction | to_processing_instruction () const
| Returns the Processing Instruction interface to this node. More...
DomComment | to_comment () const
| Returns the Comment interface to this node. More...
DomDocument | to_document () const
| Returns the Document interface to this node. More...
DomDocumentType | to_document_type () const
| Returns the Document Type interface to this node. More...
DomDocumentFragment | to_document_fragment () const
| Returns the Document Fragment interface to this node. More...
DomNotation | to_notation () const
| Returns the Notation interface to this node. More...
DomNode | named_item (const DomString &name) const
| Returns the first child node with the specified node name. More...
DomNode | named_item_ns (const DomString &namespace_uri, const DomString &local_name) const
| Retrieves the first child node with the specified namespace URI and local name. More...
DomString | find_namespace_uri (const DomString &qualified_name) const
| Searches the node tree upwards for the namespace URI of the given qualified name. More...
DomString | find_prefix (const DomString &namespace_uri) const
| Searches the node tree upwards for the prefix name for the namespace URI. More...
std::vector< DomNode > | select_nodes (const DomString &xpath_expression) const
| Returns all the nodes matching the specified xpath expression using this node as the context node. More...
DomNode | select_node (const DomString &xpath_expression) const
| Returns the first node matching the specified xpath expression using this node as the context node. More...
std::string | select_string (const DomString &xpath_expression) const
| Returns the first node value matching the specified xpath expression using this node as the context node. More...
int | select_int (const DomString &xpath_expression) const
| Returns the first node value (as integer) matching the specified xpath expression using this node as the context node. More...
float | select_float (const DomString &xpath_expression) const
| Returns the first node value (as float) matching the specified xpath expression using this node as the context node. More...
bool | select_bool (const DomString &xpath_expression) const
| Returns the first node value (as boolean) matching the specified xpath expression using this node as the context node. More...
DomString | get_node_name () const
| Returns the node name. More...
DomString | get_namespace_uri () const
| Returns the namespace URI of this node. More...
DomString | get_prefix () const
| Returns the namespace prefix of the node. More...
void | set_prefix (const DomString &prefix)
| Sets the namespace prefix of the node. More...
DomString | get_local_name () const
| Returns local part of the qualified name of this node. More...
DomString | get_node_value () const
| Returns the node value. More...
void | set_node_value (const DomString &value)
| Sets the node value. More...
unsigned short | get_node_type () const
| Returns the node type (one of those in the NodeType enum). More...
DomNode | get_parent_node () const
| Returns the parent of this node. More...
DomNodeList | get_child_nodes () const
| Returns a NodeList that contains all children of this node. More...
DomNode | get_first_child () const
| The first child of this node. More...
DomNode | get_last_child () const
| The last child of this node. More...
DomNode | get_previous_sibling () const
| The node immediately preceding this node. More...
DomNode | get_next_sibling () const
| The node immediately following this node. More...
DomNamedNodeMap | get_attributes () const
| A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. More...
DomDocument | get_owner_document () const
| The Document object associated with this node. More...
bool | is_null () const
| Returns true if this is a null node. More...
bool | is_element () const
| Returns true if this is an element node. More...
bool | is_attr () const
| Returns true if this is an attribute node. More...
bool | is_text () const
| Returns true if this is a text node. More...
bool | is_cdata_section () const
| Returns true if this is a CDATA section node. More...
bool | is_entity_reference () const
| Returns true if this is an entity reference node. More...
bool | is_entity () const
| Returns true if this is an entity node. More...
bool | is_processing_instruction () const
| Returns true if this is a processing instruction node. More...
bool | is_comment () const
| Returns true if this is a comment node. More...
bool | is_document () const
| Returns true if this is a document node. More...
bool | is_document_type () const
| Returns true if this is a document type node. More...
bool | is_document_fragment () const
| Returns true if this is a document fragment node. More...
bool | is_notation () const
| Returns true if this is a notation node. More...
bool | is_supported (const DomString &feature, const DomString &version) const
| Tests whether the DOM implementation implements a specific feature and that feature is supported by this node. More...
bool | has_attributes () const
| Returns true if this node (if its an element) has any attributes. More...
bool | has_child_nodes () const
| Returns true if this node has any children. More...

## Additional Inherited Members
Public Types inherited from clan::DomNode
enum | NodeType { NULL_NODE = 0, ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12 }
| An integer indicating which type of node this is. More...
Protected Member Functions inherited from clan::DomNode
| DomNode (DomDocument doc, unsigned short node_type)
| Constructs a DomNode. More...
| DomNode (const std::shared_ptr< DomNode_Impl > &impl)
| Constructs a DomNode. More...
Protected Attributes inherited from clan::DomNode
std::shared_ptr< DomNode_Impl > | impl

## Detailed Description

DOM Element class.

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:

       <elementExample id="demo">
        <subelement1/>
        <subelement2><subsubelement/></subelement2>
       </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.

The documentation for this class was generated from the following file:

- dom_element.h