| glibmm 2.78.1
    | 
The abstract markup parser base class. More...
#include <glibmm/markup.h>

| Public Types | |
| typedef std::map< Glib::ustring, Glib::ustring, Glib::Markup::AttributeKeyLess > | AttributeMap | 
|  Public Types inherited from sigc::trackable | |
| typedef internal::func_destroy_notify | func_destroy_notify | 
|  Public Types inherited from sigc::notifiable | |
| typedef internal::func_destroy_notify | func_destroy_notify | 
| Public Member Functions | |
| virtual | ~Parser ()=0 | 
|  Public Member Functions inherited from sigc::trackable | |
| trackable () noexcept | |
| trackable (const trackable &src) noexcept | |
| trackable (trackable &&src) noexcept | |
| ~trackable () | |
| void | add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const | 
| void | notify_callbacks () | 
| trackable & | operator= (const trackable &src) | 
| trackable & | operator= (trackable &&src) noexcept | 
| void | remove_destroy_notify_callback (notifiable *data) const | 
| Protected Member Functions | |
| Parser () | |
| Constructs a Parser object.  More... | |
| Parser (const Parser &)=delete | |
| Parser & | operator= (const Parser &)=delete | 
| Parser (Parser && other) noexcept | |
| Parser & | operator= (Parser && other) noexcept | 
| virtual void | on_start_element (ParseContext & context, const Glib::ustring & element_name, const AttributeMap & attributes) | 
| Called for open tags <foo bar="baz">.  More... | |
| virtual void | on_end_element (ParseContext & context, const Glib::ustring & element_name) | 
| Called for close tags </foo>.  More... | |
| virtual void | on_text (ParseContext & context, const Glib::ustring & text) | 
| Called for character data.  More... | |
| virtual void | on_passthrough (ParseContext & context, const Glib::ustring & passthrough_text) | 
| Called for strings that should be re-saved verbatim in this same position, but are not otherwise interpretable.  More... | |
| virtual void | on_error (ParseContext & context, const MarkupError & error) | 
| Called on error, including one thrown by an overridden virtual method.  More... | |
The abstract markup parser base class.
To implement a parser for your markup format, derive from Glib::Markup::Parser and implement the virtual methods.
You don't have to override all of the virtual methods. If a particular method is not implement the data passed to it will be ignored. Except for the error method, any of these callbacks can throw an error exception; in particular the MarkupError::UNKNOWN_ELEMENT, MarkupError::UNKNOWN_ATTRIBUTE, and MarkupError::INVALID_CONTENT errors are intended to be thrown from these overridden methods. If you throw an error from a method, Glib::Markup::ParseContext::parse() will report that error back to its caller.
| typedef std::map<Glib::ustring, Glib::ustring, Glib::Markup::AttributeKeyLess> Glib::Markup::Parser::AttributeMap | 
| 
 | pure virtual | 
| 
 | protected | 
Constructs a Parser object.
Note that Markup::Parser is an abstract class which can't be instantiated directly. To implement the parser for your markup format, derive from Markup::Parser and implement the virtual methods.
| 
 | protecteddelete | 
| 
 | protectednoexcept | 
| 
 | protectedvirtual | 
Called for close tags </foo>. 
This virtual method is invoked when the closing tag of an element is seen.
| context | The Markup::ParseContext object the parsed data belongs to. | 
| element_name | The name of the element. | 
| Glib::MarkupError | An exception you should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the MarkupError::UNKNOWN_ELEMENT, MarkupError::UNKNOWN_ATTRIBUTE, and MarkupError::INVALID_CONTENT errors are intended to be thrown from user-implemented methods. | 
| 
 | protectedvirtual | 
Called on error, including one thrown by an overridden virtual method.
| context | The Markup::ParseContext object the parsed data belongs to. | 
| error | A MarkupError object with detailed information about the error. | 
| 
 | protectedvirtual | 
Called for strings that should be re-saved verbatim in this same position, but are not otherwise interpretable.
This virtual method is invoked for comments, processing instructions and doctype declarations; if you're re-writing the parsed document, write the passthrough text back out in the same position.
| context | The Markup::ParseContext object the parsed data belongs to. | 
| passthrough_text | The text that should be passed through. | 
| Glib::MarkupError | An exception you should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the MarkupError::UNKNOWN_ELEMENT, MarkupError::UNKNOWN_ATTRIBUTE, and MarkupError::INVALID_CONTENT errors are intended to be thrown from user-implemented methods. | 
| 
 | protectedvirtual | 
Called for open tags <foo bar="baz">. 
This virtual method is invoked when the opening tag of an element is seen.
| context | The Markup::ParseContext object the parsed data belongs to. | 
| element_name | The name of the element. | 
| attributes | A map of attribute name/value pairs. | 
| Glib::MarkupError | An exception you should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the MarkupError::UNKNOWN_ELEMENT, MarkupError::UNKNOWN_ATTRIBUTE, and MarkupError::INVALID_CONTENT errors are intended to be thrown from user-implemented methods. | 
| 
 | protectedvirtual | 
Called for character data.
This virtual method is invoked when some text is seen (text is always inside an element).
| context | The Markup::ParseContext object the parsed data belongs to. | 
| text | The parsed text in UTF-8 encoding. | 
| Glib::MarkupError | An exception you should throw if something went wrong, for instance if an unknown attribute name was encountered. In particular the MarkupError::UNKNOWN_ELEMENT, MarkupError::UNKNOWN_ATTRIBUTE, and MarkupError::INVALID_CONTENT errors are intended to be thrown from user-implemented methods. |