libxml++  5.4.0
Public Member Functions | List of all members
xmlpp::AttributeNode Class Reference

Represents an explicit attribute of an XML element node. More...

#include <libxml++/attributenode.h>

Inheritance diagram for xmlpp::AttributeNode:
Inheritance graph
[legend]

Public Member Functions

 AttributeNode (_xmlNode * node)
 
 ~AttributeNode () override
 
const _xmlAttr * cobj () const noexcept
 Access the underlying libxml implementation. More...
 
_xmlAttr * cobj () noexcept
 Access the underlying libxml implementation. More...
 
ustring get_value () const override
 Get the value of this attribute. More...
 
void set_value (const ustring & value)
 Set the value of this attribute. More...
 
- Public Member Functions inherited from xmlpp::Attribute
 Attribute (_xmlNode * node)
 
 ~Attribute () override
 
- Public Member Functions inherited from xmlpp::Node
 Node (_xmlNode * node)
 
 ~Node () override
 Destructor. More...
 
const _xmlNode * cobj () const noexcept
 Access the underlying libxml implementation. More...
 
_xmlNode * cobj () noexcept
 Access the underlying libxml implementation. More...
 
bool eval_to_boolean (const ustring & xpath, const PrefixNsMap & namespaces, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
bool eval_to_boolean (const ustring & xpath, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
double eval_to_number (const ustring & xpath, const PrefixNsMap & namespaces, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
double eval_to_number (const ustring & xpath, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
ustring eval_to_string (const ustring & xpath, const PrefixNsMap & namespaces, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
ustring eval_to_string (const ustring & xpath, XPathResultType * result_type=nullptr) const
 Evaluate an XPath expression. More...
 
std::variant< NodeSet, bool, double, ustringeval_xpath (const ustring & xpath, const PrefixNsMap & namespaces={})
 Evaluate an XPath expression. More...
 
std::variant< const_NodeSet, bool, double, ustringeval_xpath (const ustring & xpath, const PrefixNsMap & namespaces={}) const
 Evaluate an XPath expression. More...
 
NodeSet find (const ustring & xpath)
 Find nodes from an XPath expression. More...
 
const_NodeSet find (const ustring & xpath) const
 Find nodes from an XPath expression. More...
 
NodeSet find (const ustring & xpath, const PrefixNsMap & namespaces)
 Find nodes from an XPath expression. More...
 
const_NodeSet find (const ustring & xpath, const PrefixNsMap & namespaces) const
 Find nodes from an XPath expression. More...
 
NodeList get_children (const ustring & name=ustring())
 Obtain the list of child nodes. More...
 
const_NodeList get_children (const ustring & name=ustring()) const
 Obtain the list of child nodes. More...
 
Nodeget_first_child (const ustring & name=ustring())
 Get the first child of this node. More...
 
const Nodeget_first_child (const ustring & name=ustring()) const
 Get the first child of this node. More...
 
int get_line () const
 Discover at what line number this node occurs in the XML file. More...
 
ustring get_name () const
 Get the name of this node. More...
 
ustring get_namespace_prefix () const
 Get the namespace prefix of this node. More...
 
ustring get_namespace_uri () const
 Get the namespace URI of this node. More...
 
Nodeget_next_sibling ()
 Get the next sibling for this node. More...
 
const Nodeget_next_sibling () const
 Get the next sibling for this node. More...
 
Elementget_parent ()
 Get the parent element for this node. More...
 
const Elementget_parent () const
 Get the parent element for this node. More...
 
ustring get_path () const
 Get the XPath of this node. More...
 
Nodeget_previous_sibling ()
 Get the previous sibling for this node. More...
 
const Nodeget_previous_sibling () const
 Get the previous sibling for this node . More...
 
Nodeimport_node (const Node * node, bool recursive=true)
 Import node(s) from another document under this node, without affecting the source node. More...
 
void set_name (const ustring & name)
 Set the name of this node. More...
 
void set_namespace (const ustring & ns_prefix)
 Set the namespace prefix used by the node. More...
 
- Public Member Functions inherited from xmlpp::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Additional Inherited Members

- Public Types inherited from xmlpp::Node
using const_NodeList = std::list< const Node * >
 
using const_NodeSet = std::vector< const Node * >
 
using NodeList = std::list< Node * >
 
using NodeSet = std::vector< Node * >
 
using PrefixNsMap = std::map< ustring, ustring >
 A map of namespace prefixes to namespace URIs. More...
 
- Static Public Member Functions inherited from xmlpp::Node
static void create_wrapper (_xmlNode * node)
 Construct the correct C++ instance for a given libxml C struct instance. More...
 
static void free_wrappers (_xmlNode * node)
 Delete the C++ instance for a given libxml C struct instance, and also recursively destroy the C++ instances for any children. More...
 
static void remove_node (Node * node)
 Remove a node and its children. More...
 
- Protected Member Functions inherited from xmlpp::NonCopyable
 NonCopyable () noexcept
 
virtual ~NonCopyable ()
 

Detailed Description

Represents an explicit attribute of an XML element node.

This will be instantiated by the parser.

Since libxml++ 2.36:

Constructor & Destructor Documentation

◆ AttributeNode()

xmlpp::AttributeNode::AttributeNode ( _xmlNode *  node)
explicit

◆ ~AttributeNode()

xmlpp::AttributeNode::~AttributeNode ( )
override

Member Function Documentation

◆ cobj() [1/2]

const _xmlAttr* xmlpp::AttributeNode::cobj ( ) const
noexcept

Access the underlying libxml implementation.

Since libxml++ 3.0:
Replaces Attribute::cobj() const

◆ cobj() [2/2]

_xmlAttr* xmlpp::AttributeNode::cobj ( )
noexcept

Access the underlying libxml implementation.

Since libxml++ 3.0:
Replaces Attribute::cobj()

◆ get_value()

ustring xmlpp::AttributeNode::get_value ( ) const
overridevirtual

Get the value of this attribute.

Returns
The attribute's value.

Implements xmlpp::Attribute.

◆ set_value()

void xmlpp::AttributeNode::set_value ( const ustring value)

Set the value of this attribute.

Since libxml++ 3.0:
Replaces Attribute::set_value()