Public Types | Public Member Functions | Private Attributes
bxml_element Class Reference

An XML element. More...

#include <bxml_document.h>

Inheritance diagram for bxml_element:
Inheritance graph
[legend]

List of all members.

Public Types

typedef vcl_vector
< bxml_data_sptr >
::const_iterator 
const_data_iterator
typedef vcl_map< vcl_string,
vcl_string >::const_iterator 
const_attr_iterator
enum  datatype { TEXT, ELEMENT }

Public Member Functions

 bxml_element ()
 Constructor - default.
 bxml_element (const vcl_string &name)
 Constructor.
virtual ~bxml_element ()
 Destructor.
datatype type () const
 Return the type of XML data.
vcl_string name () const
 Return the name of the element.
vcl_string attribute (const vcl_string &attr_name) const
 Return the value of an attribute.
bool get_attribute (const vcl_string &attr_name, vcl_string &value) const
 Specialization for vcl_string.
template<class T >
bool get_attribute (const vcl_string &attr_name, T &value) const
 Return the value of an attribute.
vcl_vector< vcl_string > attributes (const vcl_string &attr_name) const
 Return the values of all attributes with a given name.
bool get_attributea (const vcl_string &attr_name, vcl_vector< vcl_string > &values) const
 Specialization for vcl_string.
template<class T >
bool get_attributes (const vcl_string &attr_name, vcl_vector< T > &values) const
 Return the value of an attribute.
unsigned int num_attributes () const
 Return the number of attributes.
const_attr_iterator attr_begin () const
 An iterator to the beginning of the attributes.
const_attr_iterator attr_end () const
 An iterator to the end of the attributes.
unsigned int num_data () const
 Return the number of data nodes.
const_data_iterator data_begin () const
 An iterator to the beginning of the data.
const_data_iterator data_end () const
 An iterator to the end of the data.
void append_text (const vcl_string &text)
 Append text in this element.
void append_data (const bxml_data_sptr &el)
 Append data (typically another element) in this element.
template<class T >
void set_attribute (const vcl_string &attr_name, const T &attr_value, unsigned p=5)
 Set attribute with and optional precision.
void set_attribute (const vcl_string &attr_name, const vcl_string &attr_value)
 Specialization for vcl_string below.
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Private Attributes

vcl_string name_
 The name of the element.
vcl_map< vcl_string, vcl_string > attributes_
 The map of attributes to values.
vcl_vector< bxml_data_sptrdata_
 The character data.

Detailed Description

An XML element.

Definition at line 73 of file bxml_document.h.


Member Typedef Documentation

typedef vcl_map<vcl_string,vcl_string>::const_iterator bxml_element::const_attr_iterator

Definition at line 77 of file bxml_document.h.

typedef vcl_vector<bxml_data_sptr>::const_iterator bxml_element::const_data_iterator

Definition at line 76 of file bxml_document.h.


Member Enumeration Documentation

enum bxml_data::datatype [inherited]
Enumerator:
TEXT 
ELEMENT 

Definition at line 33 of file bxml_document.h.


Constructor & Destructor Documentation

bxml_element::bxml_element ( ) [inline]

Constructor - default.

Definition at line 80 of file bxml_document.h.

bxml_element::bxml_element ( const vcl_string &  name) [inline]

Constructor.

Definition at line 83 of file bxml_document.h.

virtual bxml_element::~bxml_element ( ) [inline, virtual]

Destructor.

Definition at line 86 of file bxml_document.h.


Member Function Documentation

void bxml_element::append_data ( const bxml_data_sptr el) [inline]

Append data (typically another element) in this element.

Definition at line 168 of file bxml_document.h.

void bxml_element::append_text ( const vcl_string &  text)

Append text in this element.

Definition at line 35 of file bxml_document.cxx.

const_attr_iterator bxml_element::attr_begin ( ) const [inline]

An iterator to the beginning of the attributes.

Definition at line 150 of file bxml_document.h.

const_attr_iterator bxml_element::attr_end ( ) const [inline]

An iterator to the end of the attributes.

Definition at line 153 of file bxml_document.h.

vcl_string bxml_element::attribute ( const vcl_string &  attr_name) const

Return the value of an attribute.

Definition at line 15 of file bxml_document.cxx.

vcl_vector<vcl_string> bxml_element::attributes ( const vcl_string &  attr_name) const

Return the values of all attributes with a given name.

const_data_iterator bxml_element::data_begin ( ) const [inline]

An iterator to the beginning of the data.

Definition at line 159 of file bxml_document.h.

const_data_iterator bxml_element::data_end ( ) const [inline]

An iterator to the end of the data.

Definition at line 162 of file bxml_document.h.

bool bxml_element::get_attribute ( const vcl_string &  attr_name,
vcl_string &  value 
) const [inline]

Specialization for vcl_string.

Definition at line 98 of file bxml_document.h.

template<class T >
bool bxml_element::get_attribute ( const vcl_string &  attr_name,
T &  value 
) const [inline]

Return the value of an attribute.

See also:
specialization for vcl_string.

Definition at line 107 of file bxml_document.h.

bool bxml_element::get_attributea ( const vcl_string &  attr_name,
vcl_vector< vcl_string > &  values 
) const [inline]

Specialization for vcl_string.

Definition at line 121 of file bxml_document.h.

template<class T >
bool bxml_element::get_attributes ( const vcl_string &  attr_name,
vcl_vector< T > &  values 
) const [inline]

Return the value of an attribute.

See also:
specialization for vcl_string.

Definition at line 130 of file bxml_document.h.

vcl_string bxml_element::name ( ) const [inline]

Return the name of the element.

Definition at line 92 of file bxml_document.h.

unsigned int bxml_element::num_attributes ( ) const [inline]

Return the number of attributes.

Definition at line 147 of file bxml_document.h.

unsigned int bxml_element::num_data ( ) const [inline]

Return the number of data nodes.

Definition at line 156 of file bxml_document.h.

template<class T >
void bxml_element::set_attribute ( const vcl_string &  attr_name,
const T &  attr_value,
unsigned  p = 5 
) [inline]

Set attribute with and optional precision.

Definition at line 173 of file bxml_document.h.

void bxml_element::set_attribute ( const vcl_string &  attr_name,
const vcl_string &  attr_value 
) [inline]

Specialization for vcl_string below.

Definition at line 181 of file bxml_document.h.

datatype bxml_element::type ( ) const [inline, virtual]

Return the type of XML data.

Implements bxml_data.

Definition at line 89 of file bxml_document.h.


Member Data Documentation

vcl_map<vcl_string,vcl_string> bxml_element::attributes_ [private]

The map of attributes to values.

Definition at line 189 of file bxml_document.h.

vcl_vector<bxml_data_sptr> bxml_element::data_ [private]

The character data.

Definition at line 192 of file bxml_document.h.

vcl_string bxml_element::name_ [private]

The name of the element.

Definition at line 186 of file bxml_document.h.


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