Orcus
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
orcus::sax_ns_parser< HandlerT > Class Template Reference

#include <sax_ns_parser.hpp>

Public Types

typedef HandlerT handler_type
 

Public Member Functions

 sax_ns_parser (std::string_view content, xmlns_context &ns_cxt, handler_type &handler)
 
void parse ()
 

Detailed Description

template<typename HandlerT>
class orcus::sax_ns_parser< HandlerT >

SAX based XML parser with extra namespace handling.

It uses an instance of xmlns_context passed by the caller to validate and convert namespace values into identifiers. The namespace identifier of each encountered element is always given even if one is not explicitly given.

This parser keeps track of element scopes and detects non-matching element pairs.

Template Parameters
HandlerTHandler type with member functions for event callbacks. Refer to sax_ns_handler.

Member Function Documentation

◆ parse()

template<typename HandlerT >
void orcus::sax_ns_parser< HandlerT >::parse ( )

Start parsing the document.

Exceptions
orcus::malformed_xml_errorwhen it encounters a non-matching closing element.