clan::DomElement Class Reference

DOM Element class. More...

#include <dom_element.h>

+ Inheritance diagram for clan::DomElement:

Public Member Functions

 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 ()
 
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...
 
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...
 
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...
 
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
 
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
 
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...
 
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...
 
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...
 
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)
 
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...
 
DomString get_tag_name () const
 Returns the name of the element. More...
 
std::string get_text () const
 Returns the text of all child Text nodes appended together. More...
 
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...
 
void remove_attribute (const DomString &name)
 Removes an attribute by name. More...
 
void remove_attribute_ns (const DomString &namespace_uri, const DomString &local_name)
 
void set_attribute (const DomString &name, const DomString &value)
 Adds a new attribute. 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...
 
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...
 
DomAttr set_attribute_node (const DomAttr &attr)
 Set attribute node. More...
 
DomAttr set_attribute_node_ns (const DomAttr &attr)
 Set attribute node ns. More...
 
void set_attribute_ns (const DomString &namespace_uri, const DomString &qualified_name, const DomString &value)
 
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...
 
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_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...
 
- Public Member Functions inherited from clan::DomNode
 DomNode ()
 
 DomNode (const DomNode &copy)
 Constructs a DomNode. More...
 
 ~DomNode ()
 
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...
 
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...
 
DomNamedNodeMap get_attributes () const
 A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. 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...
 
DomString get_local_name () const
 Returns local part of the qualified name of this node. More...
 
DomString get_namespace_uri () const
 Returns the namespace URI of this node. More...
 
DomNode get_next_sibling () const
 The node immediately following this node. More...
 
DomString get_node_name () const
 Returns the node name. More...
 
unsigned short get_node_type () const
 Returns the node type (one of those in the NodeType enum). More...
 
DomString get_node_value () const
 Returns the node value. More...
 
DomDocument get_owner_document () const
 The Document object associated with this node. More...
 
DomNode get_parent_node () const
 Returns the parent of this node. More...
 
DomString get_prefix () const
 Returns the namespace prefix of the node. More...
 
DomNode get_previous_sibling () const
 The node immediately preceding 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...
 
DomNode insert_before (DomNode &new_child, DomNode &ref_child)
 Inserts the node new_child before the existing child node ref_child. More...
 
bool is_attr () const
 Returns true if this is an attribute node. More...
 
bool is_cdata_section () const
 Returns true if this is a CDATA section 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_fragment () const
 Returns true if this is a document fragment node. More...
 
bool is_document_type () const
 Returns true if this is a document type node. More...
 
bool is_element () const
 Returns true if this is an element node. More...
 
bool is_entity () const
 Returns true if this is an entity node. More...
 
bool is_entity_reference () const
 Returns true if this is an entity reference node. More...
 
bool is_notation () const
 Returns true if this is a notation node. More...
 
bool is_null () const
 Returns true if this is a null node. More...
 
bool is_processing_instruction () const
 Returns true if this is a processing instruction 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 is_text () const
 Returns true if this is a text 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...
 
void normalize ()
 Merges any adjacent Text nodes. More...
 
bool operator!= (const DomNode &other) const
 Compare operator. More...
 
DomNodeoperator= (const DomNode &copy)
 Copy assignment operator. More...
 
bool operator== (const DomNode &other) const
 Compare operator. 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 replace_child (DomNode &new_child, DomNode &old_child)
 Replaces the child node old_child with new_child in the list of children. 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...
 
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...
 
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...
 
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::vector< DomNodeselect_nodes (const DomString &xpath_expression) const
 Returns all the nodes 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...
 
void set_node_value (const DomString &value)
 Sets the node value. More...
 
void set_prefix (const DomString &prefix)
 Sets the namespace prefix of the node. More...
 
DomAttr to_attr () const
 Returns the Attribute interface to this node. More...
 
DomCDATASection to_cdata_section () const
 Returns the CDATA Section 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...
 
DomDocumentFragment to_document_fragment () const
 Returns the Document Fragment interface to this node. More...
 
DomDocumentType to_document_type () const
 Returns the Document Type interface to this node. More...
 
DomElement to_element () const
 Returns the Element interface to this node. More...
 
DomEntity to_entity () const
 Returns the Entity interface to this node. More...
 
DomEntityReference to_entity_reference () const
 Returns the Entity Reference interface to this node. More...
 
DomNotation to_notation () const
 Returns the Notation interface to this node. More...
 
DomProcessingInstruction to_processing_instruction () const
 Returns the Processing Instruction interface to this node. More...
 
DomText to_text () const
 Returns the Text interface to this node. 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)
 
 DomNode (const std::shared_ptr< DomNode_Impl > &impl)
 
- 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.

Constructor & Destructor Documentation

clan::DomElement::DomElement ( )

Constructs a DOM Element handle.

clan::DomElement::DomElement ( DomDocument doc,
const DomString tag_name,
const DomString namespace_uri = DomString() 
)
clan::DomElement::DomElement ( const std::shared_ptr< DomNode_Impl > &  impl)

Constructs a DomElement.

Parameters
impl= Shared Ptr
clan::DomElement::~DomElement ( )

Member Function Documentation

DomString clan::DomElement::get_attribute ( const DomString name) const

Returns the specified attribute.

DomString clan::DomElement::get_attribute ( const DomString name,
const DomString default_value 
) const

Get attribute.

Parameters
name= Dom String
default_value= Dom String
Returns
Dom String
bool clan::DomElement::get_attribute_bool ( const DomString name,
bool  default_value = false 
) const

Returns the boolean value of the attribute node with the given tag name.

bool clan::DomElement::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.

float clan::DomElement::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.

float clan::DomElement::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.

int clan::DomElement::get_attribute_int ( const DomString name,
int  default_value = 0 
) const

Returns the integer value of the attribute node with the given tag name.

int clan::DomElement::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.

DomAttr clan::DomElement::get_attribute_node ( const DomString name) const

Get attribute node.

Parameters
name= Dom String
Returns
Dom Attr
DomAttr clan::DomElement::get_attribute_node_ns ( const DomString namespace_uri,
const DomString local_name 
) const
DomString clan::DomElement::get_attribute_ns ( const DomString namespace_uri,
const DomString local_name 
) const

Returns the specified attribute.

DomString clan::DomElement::get_attribute_ns ( const DomString namespace_uri,
const DomString local_name,
const DomString default_value 
) const
bool clan::DomElement::get_child_bool ( const DomString name,
bool  default_value = false 
) const

Returns the boolean value of the child node with the given tag name.

Finds the first child node with the specified tag name, then returns the content of its first child text node as an boolean

bool clan::DomElement::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.

Finds the first child node with the specified local name and namespace, then returns the content of its first child text node as an boolean

int clan::DomElement::get_child_int ( const DomString name,
int  default_value = 0 
) const

Returns the integer value of the child node with the given tag name.

Finds the first child node with the specified tag name, then returns the content of its first child text node as an integer

int clan::DomElement::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.

Finds the first child node with the specified local name and namespace, then returns the content of its first child text node as an integer

DomString clan::DomElement::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.

Finds the first child node with the specified tag name, then returns the content of its first child text node

DomString clan::DomElement::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.

Finds the first child node with the specified local name and namespace, then returns the content of its first child text node

DomNodeList clan::DomElement::get_elements_by_tag_name ( const DomString name)

Returns a NodeList of all descendant elements with a given tag name.

The descendant elements are returned in the order in which they would be encountered in a preorder traversal of the Element tree.

DomNodeList clan::DomElement::get_elements_by_tag_name_ns ( const DomString namespace_uri,
const DomString local_name 
)
DomElement clan::DomElement::get_first_child_element ( ) const

Returns the first child node that is an element node.

DomElement clan::DomElement::get_next_sibling_element ( ) const

Returns the next sibling node that is an element node.

DomString clan::DomElement::get_tag_name ( ) const

Returns the name of the element.

std::string clan::DomElement::get_text ( ) const

Returns the text of all child Text nodes appended together.

bool clan::DomElement::has_attribute ( const DomString name) const

Returns true if the element has the specified attribute.

bool clan::DomElement::has_attribute_ns ( const DomString namespace_uri,
const DomString local_name 
) const

Returns true if the element has the specified attribute.

void clan::DomElement::remove_attribute ( const DomString name)

Removes an attribute by name.

If the removed attribute has a default value it is immediately replaced.

void clan::DomElement::remove_attribute_ns ( const DomString namespace_uri,
const DomString local_name 
)
void clan::DomElement::set_attribute ( const DomString name,
const DomString value 
)

Adds a new attribute.

If an attribute with that name is already present in the element, its value is changed to be that of the value parameter.

This value is a simple string, it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and is appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an Attr node plus any Text and EntityReference nodes, build the appropriate subtree, and use set_attribute_node to assign it as the value of an attribute.

void clan::DomElement::set_attribute_bool ( const DomString name,
bool  value 
)

Sets the attribute node with the specified tag name to the given boolean value.

void clan::DomElement::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.

void clan::DomElement::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.

void clan::DomElement::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.

void clan::DomElement::set_attribute_int ( const DomString name,
int  value 
)

Sets the attribute node with the specified tag name to the given integer value.

void clan::DomElement::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.

DomAttr clan::DomElement::set_attribute_node ( const DomAttr attr)

Set attribute node.

Parameters
attr= Dom Attr
Returns
Dom Attr
DomAttr clan::DomElement::set_attribute_node_ns ( const DomAttr attr)

Set attribute node ns.

Parameters
attr= Dom Attr
Returns
Dom Attr
void clan::DomElement::set_attribute_ns ( const DomString namespace_uri,
const DomString qualified_name,
const DomString value 
)
void clan::DomElement::set_child_bool ( const DomString name,
bool  value 
)

Sets the child node with the specified tag name to the given boolean value.

Sets the first child node with the specified tag name, creating it if it does not exist, to the given boolean value

void clan::DomElement::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.

Sets the first child node with the specified qualified name and namespace, creating it if it does not exist, to the given boolean value

void clan::DomElement::set_child_int ( const DomString name,
int  value 
)

Sets the child node with the specified tag name to the given integer value.

Sets the first child node with the specified tag name, creating it if it does not exist, to the given integer value

void clan::DomElement::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.

Sets the first child node with the specified qualified name and namespace, creating it if it does not exist, to the given integer value

void clan::DomElement::set_child_string ( const DomString name,
const DomString value 
)

Sets the child node with the specified tag name to the given text value.

Sets the first child node with the specified tag name, creating it if it does not exist, to the given text value

void clan::DomElement::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.

Sets the first child node with the specified qualified name and namespace, creating it if it does not exist, to the given text value


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