libxml++: xmlpp::TextReader Class Reference

# xmlpp::TextReader Class Reference

A TextReader-style XML parser A reader that provides fast, non-cached, forward-only access to XML data, in the style of .Net's XmlTextReader class. More...

`#include <libxml++/parsers/textreader.h>`

Inherits xmlpp::NonCopyable.

Collaboration diagram for xmlpp::TextReader:
[legend]

List of all members.

## Public Types

enum

xmlNodeType {
Attribute = 2,
CDATA = 4,
Comment = 8,
Document = 9,
DocumentFragment = 11,
DocumentType = 10,
Element = 1,
EndElement = 15,
EndEntity = 16,
Entity = 6,
EntityReference = 5,
None = 0,
Notation = 12,
ProcessingInstruction = 7,
SignificantWhitespace = 14,
Text = 3,
Whitespace = 13,
XmlDeclaration = 17
}

enum

xmlReadState {
Closed = 4,
EndOfFile = 3,
Error = 2,
Initial = 0,
Interactive = 1,
Reading = 5
}

enum

ParserProperties {
LoadDtd = 1,
DefaultAttrs = 2,
Validate = 3,
SubstEntities = 4
}

typedef unsigned int | size_type

## Public Member Functions

| TextReader (struct _xmlTextReader* cobj)
| Wraps a TextReader object from an underlying libxml object.
| TextReader (const Glib::ustring& URI)
| Creates a new TextReader object to parse a file or URI.
| TextReader (const unsigned char* data, size_type size, const Glib::ustring& uri=Glib::ustring())
| Creates a new TextReader object which parses in memory data.
| ~TextReader ()
bool | read ()
| Moves the position of the current instance to the next node in the stream, exposing its properties.
Glib::ustring | read_inner_xml ()
| Reads the contents of the current node, including child nodes and markup.
Glib::ustring | read_outer_xml ()
| Reads the current node and its contents, including child nodes and markup.
Glib::ustring | read_string ()
| Reads the contents of an element or a text node as a string.
bool | read_attribute_value ()
| Parses an attribute value into one or more Text and EntityReference nodes.
int | get_attribute_count () const
| Gets the number of attributes on the current node.
Glib::ustring | get_base_uri () const
| Gets the base Uniform Resource Identifier (URI) of the current node.
int | get_depth () const
| Gets the depth of the current node in the XML document.
bool | has_attributes () const
| Gets a value indicating whether the current node has any attributes.
bool | has_value () const
| Whether the node can have a text value.
bool | is_default () const
| Whether an Attribute node was generated from the default value defined in the DTD or schema.
bool | is_empty_element () const
| Check if the current node is empty.
Glib::ustring | get_local_name () const
Glib::ustring | get_name () const
Glib::ustring | get_namespace_uri () const
xmlNodeType | get_node_type () const
Glib::ustring | get_prefix () const
char | get_quote_char () const
Glib::ustring | get_value () const
Glib::ustring | get_xml_lang () const
xmlReadState | get_read_state () const
void | close ()
Glib::ustring | get_attribute (int number) const
Glib::ustring | get_attribute (const Glib::ustring& name) const
Glib::ustring | get_attribute (const Glib::ustring& local_name, const Glib::ustring& ns_uri) const
Glib::ustring | lookup_namespace (const Glib::ustring& prefix) const
bool | move_to_attribute (int number)
bool | move_to_attribute (const Glib::ustring& name)
bool | move_to_attribute (const Glib::ustring& local_name, const Glib::ustring& ns_uri)
bool | move_to_first_attribute ()
bool | move_to_next_attribute ()
bool | move_to_element ()
bool | get_normalization () const
void | set_normalization (bool value)
bool | get_parser_property (ParserProperties property) const
void | set_parser_property (ParserProperties property, bool value)
Node* | get_current_node ()
const Node* | get_current_node () const
Node* | expand ()
bool | next ()
bool | is_valid () const

## Detailed Description

A TextReader-style XML parser A reader that provides fast, non-cached, forward-only access to XML data, in the style of .Net's XmlTextReader class.

## Member Typedef Documentation

typedef unsigned int xmlpp::TextReader::size_type

## Member Enumeration Documentation

enum xmlpp::TextReader::ParserProperties

Enumerator:

  LoadDtd |
  DefaultAttrs |
  Validate |
  SubstEntities |

enum xmlpp::TextReader::xmlNodeType

Enumerator:

  Attribute |
  CDATA |
  Comment |
  Document |
  DocumentFragment |
  DocumentType |
  Element |
  EndElement |
  EndEntity |
  Entity |
  EntityReference |
  None |
  Notation |
  ProcessingInstruction |
  SignificantWhitespace |
  Text |
  Whitespace |
  XmlDeclaration |

enum xmlpp::TextReader::xmlReadState

Enumerator:

  Closed |
  EndOfFile |
  Error |
  Initial |
  Interactive |
  Reading |

## Constructor & Destructor Documentation

xmlpp::TextReader::TextReader | ( | struct _xmlTextReader * | cobj | ) |

Wraps a TextReader object from an underlying libxml object.

The TextReader takes ownership of cobj.

Parameters:

  | cobj | The underlying libxml xmlTextReader object.

xmlpp::TextReader::TextReader | ( | const Glib::ustring & | URI | ) |

Creates a new TextReader object to parse a file or URI.

Parameters:

  | URI | The URI to read.

xmlpp::TextReader::TextReader | ( | const unsigned char * | data,
|  | size_type | size,
|  | const Glib::ustring & | uri = `Glib::ustring()` |
| ) |  |  |

Creates a new TextReader object which parses in memory data.

Parameters:

  | data | The data to parse.
  | size | The number of bytes in data.
  | uri | The base URI of the file.

xmlpp::TextReader::~TextReader | ( |  | ) |

## Member Function Documentation

void xmlpp::TextReader::close | ( |  | ) |

Node* xmlpp::TextReader::expand | ( |  | ) |

Glib::ustring xmlpp::TextReader::get_attribute | ( | const Glib::ustring & | local_name,
|  | const Glib::ustring & | ns_uri |
| ) |  |  | const

Glib::ustring xmlpp::TextReader::get_attribute | ( | const Glib::ustring & | name | ) | const

Glib::ustring xmlpp::TextReader::get_attribute | ( | int | number | ) | const

int xmlpp::TextReader::get_attribute_count | ( |  | ) | const

Gets the number of attributes on the current node.

Returns:
  The number of attributes on the current node, or zero if the current node does not support attributes.

Glib::ustring xmlpp::TextReader::get_base_uri | ( |  | ) | const

Gets the base Uniform Resource Identifier (URI) of the current node.

Returns:
  The base URI of the current node or an empty Glib::ustring if not available.

const Node* xmlpp::TextReader::get_current_node | ( |  | ) | const

Node* xmlpp::TextReader::get_current_node | ( |  | ) |

int xmlpp::TextReader::get_depth | ( |  | ) | const

Gets the depth of the current node in the XML document.

Returns:
  The depth of the current node in the XML document.

Glib::ustring xmlpp::TextReader::get_local_name | ( |  | ) | const

Glib::ustring xmlpp::TextReader::get_name | ( |  | ) | const

Glib::ustring xmlpp::TextReader::get_namespace_uri | ( |  | ) | const

xmlNodeType xmlpp::TextReader::get_node_type | ( |  | ) | const

bool xmlpp::TextReader::get_normalization | ( |  | ) | const

bool xmlpp::TextReader::get_parser_property | ( | ParserProperties | property | ) | const

Glib::ustring xmlpp::TextReader::get_prefix | ( |  | ) | const

char xmlpp::TextReader::get_quote_char | ( |  | ) | const

xmlReadState xmlpp::TextReader::get_read_state | ( |  | ) | const

Glib::ustring xmlpp::TextReader::get_value | ( |  | ) | const

Glib::ustring xmlpp::TextReader::get_xml_lang | ( |  | ) | const

bool xmlpp::TextReader::has_attributes | ( |  | ) | const

Gets a value indicating whether the current node has any attributes.

Returns:
  true if the current has attributes, false otherwise.

bool xmlpp::TextReader::has_value | ( |  | ) | const

Whether the node can have a text value.

Returns:
  true if the current node can have an associated text value, false otherwise.

bool xmlpp::TextReader::is_default | ( |  | ) | const

Whether an Attribute node was generated from the default value defined in the DTD or schema.

Returns:
  true if defaulted, false otherwise.

bool xmlpp::TextReader::is_empty_element | ( |  | ) | const

Check if the current node is empty.

Returns:
  true if empty, false otherwise.

bool xmlpp::TextReader::is_valid | ( |  | ) | const

Glib::ustring xmlpp::TextReader::lookup_namespace | ( | const Glib::ustring & | prefix | ) | const

bool xmlpp::TextReader::move_to_attribute | ( | const Glib::ustring & | local_name,
|  | const Glib::ustring & | ns_uri |
| ) |  |  |

bool xmlpp::TextReader::move_to_attribute | ( | const Glib::ustring & | name | ) |

bool xmlpp::TextReader::move_to_attribute | ( | int | number | ) |

bool xmlpp::TextReader::move_to_element | ( |  | ) |

bool xmlpp::TextReader::move_to_first_attribute | ( |  | ) |

bool xmlpp::TextReader::move_to_next_attribute | ( |  | ) |

bool xmlpp::TextReader::next | ( |  | ) |

bool xmlpp::TextReader::read | ( |  | ) |

Moves the position of the current instance to the next node in the stream, exposing its properties.

Returns:
  true if the node was read successfully, false if there is no more nodes to read.

bool xmlpp::TextReader::read_attribute_value | ( |  | ) |

Parses an attribute value into one or more Text and EntityReference nodes.

Returns:
  A bool where true indicates the attribute value was parsed, and false indicates the reader was not positioned on an attribute node or all the attribute values have been read.

Glib::ustring xmlpp::TextReader::read_inner_xml | ( |  | ) |

Reads the contents of the current node, including child nodes and markup.

Returns:
  A Glib::ustring containing the XML content, or and empty Glib::ustring if the current node is neither an element nor attribute, or has no child nodes.

Glib::ustring xmlpp::TextReader::read_outer_xml | ( |  | ) |

Reads the current node and its contents, including child nodes and markup.

Returns:
  A Glib::ustring containing the XML content, or an empty Glib::ustring if the current node is neither an element nor attribute.

Glib::ustring xmlpp::TextReader::read_string | ( |  | ) |

Reads the contents of an element or a text node as a string.

Returns:
  A Glib::ustring containing the contents of the Element or Text node, or an empty Glib::ustring if the reader is positioned on any other type of node.

void xmlpp::TextReader::set_normalization | ( | bool | value | ) |

void xmlpp::TextReader::set_parser_property | ( | ParserProperties | property,
|  | bool | value |
| ) |  |  |

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

- parsers/textreader.h