DOM Attribute class. More...

#include <dom_attr.h>

+ Inheritance diagram for clan::DomAttr:

Public Member Functions

 DomAttr ()
 Constructs a DOM Attr handle. More...
 
 DomAttr (DomDocument doc, const DomString &name, const DomString &namespace_uri=DomString())
 Constructs a DomAttr. More...
 
 DomAttr (const std::shared_ptr< DomNode_Impl > &impl)
 Constructs a DomAttr. More...
 
 ~DomAttr ()
 
DomString get_name () const
 Returns the name of this attribute. More...
 
DomElement get_owner_element () const
 Returns the attribute's owner element. More...
 
bool get_specified () const
 If this attribute was explicitly given a value in the original document, this is true; otherwise, it is false. More...
 
DomString get_value () const
 Returns the value of the attribute. More...
 
void set_value (const DomString &value)
 Sets the value of the attribute. 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 Attribute class.

The Attr interface represents an attribute in an Element object. Typically the allowable values for the attribute are defined in a document type definition.

Attr objects inherit the Node interface, but since they are not actually child nodes of the element they describe, the DOM does not consider them part of the document tree. Thus, the Node attributes parentNode, previousSibling, and nextSibling have a null value for Attr objects. The DOM takes the view that attributes are properties of elements rather than having a separate identity from the elements they are associated with; this should make it more efficient to implement such features as default attributes associated with all elements of a given type. Furthermore, Attr nodes may not be immediate children of a DocumentFragment. However, they can be associated with Element nodes contained within a DocumentFragment. In short, users and implementors of the DOM need to be aware that Attr nodes have some things in common with other objects inheriting the Node interface, but they also are quite distinct.

The attribute's effective value is determined as follows: if this attribute has been explicitly assigned any value, that value is the attribute's effective value; otherwise, if there is a declaration for this attribute, and that declaration includes a default value, then that default value is the attribute's effective value; otherwise, the attribute does not exist on this element in the structure model until it has been explicitly added. Note that the nodeValue attribute on the Attr instance can also be used to retrieve the string version of the attribute's value(s).

In XML, where the value of an attribute can contain entity references, the child nodes of the Attr node provide a representation in which entity references are not expanded. These child nodes may be either Text or EntityReference nodes. Because the attribute type may be unknown, there are no tokenized attribute values.

Constructor & Destructor Documentation

clan::DomAttr::DomAttr ( )

Constructs a DOM Attr handle.

clan::DomAttr::DomAttr ( DomDocument  doc,
const DomString name,
const DomString namespace_uri = DomString() 
)

Constructs a DomAttr.

Parameters
doc= Dom Document
name= Dom String
namespace_uri= Dom String
clan::DomAttr::DomAttr ( const std::shared_ptr< DomNode_Impl > &  impl)

Constructs a DomAttr.

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

Member Function Documentation

DomString clan::DomAttr::get_name ( ) const

Returns the name of this attribute.

DomElement clan::DomAttr::get_owner_element ( ) const

Returns the attribute's owner element.

The Element node this attribute is attached to or null if this attribute is not in use.

bool clan::DomAttr::get_specified ( ) const

If this attribute was explicitly given a value in the original document, this is true; otherwise, it is false.

  • If the attribute has an assigned value in the document then specified is true, and the value is the assigned value.
  • If the attribute has no assigned value in the document and has a default value in the DTD, then specified is false, and the value is the default value in the DTD.
  • If the attribute has no assigned value in the document and has a value of #IMPLIED in the DTD, then the attribute does not appear in the structure model of the document.
DomString clan::DomAttr::get_value ( ) const

Returns the value of the attribute.

void clan::DomAttr::set_value ( const DomString value)

Sets the value of the attribute.


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