libxml++
5.4.0
|
DOM XML parser. More...
#include <libxml++/parsers/domparser.h>
Public Member Functions | |
DomParser () | |
Create a parser with an empty document. More... | |
DomParser (const std::string & filename, bool validate=false) | |
Instantiate the parser and parse a document immediately. More... | |
~DomParser () override | |
const Document * | get_document () const noexcept |
Get the parsed document. More... | |
Document * | get_document () noexcept |
Get the parsed document. More... | |
void | get_xinclude_options (bool & process_xinclude, bool & generate_xinclude_nodes, bool & fixup_base_uris) const noexcept |
Get whether and how the parser will perform XInclude substitution. More... | |
operator bool () const noexcept | |
Test whether a document has been parsed. More... | |
void | parse_file (const std::string & filename) override |
Parse an XML document from a file. More... | |
void | parse_memory (const ustring & contents) override |
Parse an XML document from a string. More... | |
void | parse_memory_raw (const unsigned char * contents, size_type bytes_count) override |
Parse an XML document from raw memory. More... | |
void | parse_stream (std::istream & in) override |
Parse an XML document from a stream. More... | |
void | set_xinclude_options (bool process_xinclude=true, bool generate_xinclude_nodes=true, bool fixup_base_uris=true) noexcept |
Set whether and how the parser will perform XInclude substitution. More... | |
Public Member Functions inherited from xmlpp::Parser | |
Parser () | |
~Parser () override | |
bool | get_include_default_attributes () const noexcept |
See set_include_default_attributes(). More... | |
void | get_parser_options (int & set_options, int & clear_options) const noexcept |
See set_parser_options(). More... | |
bool | get_substitute_entities () const noexcept |
See set_substitute_entities(). More... | |
bool | get_throw_messages () const noexcept |
See set_throw_messages(). More... | |
bool | get_validate () const noexcept |
See set_validate(). More... | |
void | set_include_default_attributes (bool val=true) noexcept |
Set whether default attribute values from the DTD shall be included in the node tree. More... | |
void | set_parser_options (int set_options=0, int clear_options=0) noexcept |
Set and/or clear parser option flags. More... | |
void | set_substitute_entities (bool val=true) noexcept |
Set whether the parser will automatically substitute entity references with the text of the entities' definitions. More... | |
void | set_throw_messages (bool val=true) noexcept |
Set whether the parser will collect and throw error and warning messages. More... | |
void | set_validate (bool val=true) noexcept |
By default, the parser will not validate the XML file. More... | |
Public Member Functions inherited from xmlpp::NonCopyable | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable (NonCopyable &&)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (NonCopyable &&)=delete |
Protected Member Functions | |
void | check_xinclude_and_finish_parsing () |
void | parse_context () |
void | release_underlying () override |
Protected Member Functions inherited from xmlpp::Parser | |
virtual void | check_for_error_and_warning_messages () |
virtual void | check_for_exception () |
virtual void | handle_exception () |
To be called in an exception handler. More... | |
virtual void | initialize_context () |
virtual void | on_parser_error (const ustring & message) |
virtual void | on_parser_warning (const ustring & message) |
virtual void | on_validity_error (const ustring & message) |
virtual void | on_validity_warning (const ustring & message) |
Protected Member Functions inherited from xmlpp::NonCopyable | |
NonCopyable () noexcept | |
virtual | ~NonCopyable () |
Protected Attributes | |
Document * | doc_ |
int | xinclude_options_ = 0 |
Protected Attributes inherited from xmlpp::Parser | |
_xmlParserCtxt * | context_ |
std::unique_ptr< exception > | exception_ |
Additional Inherited Members | |
Public Types inherited from xmlpp::Parser | |
using | size_type = unsigned int |
Protected Types inherited from xmlpp::Parser | |
enum class | MsgType { ParserError , ParserWarning , ValidityError , ValidityWarning } |
Static Protected Member Functions inherited from xmlpp::Parser | |
static void | callback_error_or_warning (bool is_parser, bool is_error, void * ctx, const char * msg, va_list var_args) |
static void | callback_error_or_warning (MsgType msg_type, void * ctx, const char * msg, va_list var_args) |
static void | callback_parser_error (void * ctx, const char * msg,...) |
static void | callback_parser_warning (void * ctx, const char * msg,...) |
static void | callback_validity_error (void * ctx, const char * msg,...) |
static void | callback_validity_warning (void * ctx, const char * msg,...) |
static ParserCallbackCFuncType | get_callback_parser_error_cfunc () |
static ParserCallbackCFuncType | get_callback_parser_warning_cfunc () |
static ParserCallbackCFuncType | get_callback_validity_error_cfunc () |
static ParserCallbackCFuncType | get_callback_validity_warning_cfunc () |
DOM XML parser.
DOM = Document Object Model
xmlpp::DomParser::DomParser | ( | ) |
Create a parser with an empty document.
xmlpp::internal_error | If an empty document can't be created. |
|
explicit |
Instantiate the parser and parse a document immediately.
filename | The path to the file. |
validate | Whether the parser should validate the XML. |
|
override |
|
protected |
|
noexcept |
Get the parsed document.
nullptr
.
|
noexcept |
Get the parsed document.
nullptr
.
|
noexcept |
Get whether and how the parser will perform XInclude substitution.
[out] | process_xinclude | Do XInclude substitution on the XML document. |
[out] | generate_xinclude_nodes | Generate XIncludeStart and XIncludeEnd nodes. |
[out] | fixup_base_uris | Add or replace xml:base attributes in included element nodes, if necessary to preserve the target of relative URIs. |
|
explicitnoexcept |
Test whether a document has been parsed.
|
protected |
|
overridevirtual |
Parse an XML document from a file.
If the parser already contains a document, that document and all its nodes are deleted.
filename | The path to the file. |
Implements xmlpp::Parser.
|
overridevirtual |
Parse an XML document from a string.
If the parser already contains a document, that document and all its nodes are deleted.
contents | The XML document as a string. |
Implements xmlpp::Parser.
|
overridevirtual |
Parse an XML document from raw memory.
If the parser already contains a document, that document and all its nodes are deleted.
contents | The XML document as an array of bytes. |
bytes_count | The number of bytes in the contents array. |
Implements xmlpp::Parser.
|
overridevirtual |
Parse an XML document from a stream.
If the parser already contains a document, that document and all its nodes are deleted.
in | The stream. |
Implements xmlpp::Parser.
|
overrideprotectedvirtual |
Reimplemented from xmlpp::Parser.
|
noexcept |
Set whether and how the parser will perform XInclude substitution.
process_xinclude | Do XInclude substitution on the XML document. If false , the other parameters have no effect. |
generate_xinclude_nodes | Generate XIncludeStart and XIncludeEnd nodes. |
fixup_base_uris | Add or replace xml:base attributes in included element nodes, if necessary to preserve the target of relative URIs. |
|
protected |
|
protected |