Orcus
|
#include <sax_parser.hpp>
Public Types | |
typedef HandlerT | handler_type |
typedef ConfigT | config_type |
Public Member Functions | |
sax_parser (std::string_view content, handler_type &handler) | |
void | parse () |
Additional Inherited Members | |
![]() | |
using | numeric_parser_type = std::function<const char*(const char*, const char*, double&)> |
![]() | |
parser_base (const char *content, size_t size) | |
void | next_check () |
void | nest_up () |
void | nest_down () |
void | inc_buffer_pos () |
void | reset_buffer_pos () |
void | has_char_throw (const char *msg) const |
char | cur_char_checked () const |
char | next_and_char () |
char | next_char_checked () |
cell_buffer & | get_cell_buffer () |
void | comment () |
void | expects_next (const char *p, size_t n) |
void | parse_encoded_char (cell_buffer &buf) |
void | value_with_encoded_char (cell_buffer &buf, std::string_view &str, char quote_char) |
bool | value (std::string_view &str, bool decode) |
void | name (std::string_view &str) |
void | element_name (parser_element &elem, std::ptrdiff_t begin_pos) |
void | attribute_name (std::string_view &attr_ns, std::string_view &attr_name) |
void | characters_with_encoded_char (cell_buffer &buf) |
![]() | |
parser_base (const char *p, size_t n) | |
void | set_numeric_parser (const numeric_parser_type &func) |
bool | has_char () const |
bool | has_next () const |
void | next (size_t inc=1) |
void | prev (size_t dec=1) |
char | cur_char () const |
char | peek_char (std::size_t offset=1) const |
std::string_view | peek_chars (std::size_t length) const |
void | skip_bom () |
void | skip (std::string_view chars_to_skip) |
void | skip_space_and_control () |
bool | parse_expected (std::string_view expected) |
double | parse_double () |
size_t | remaining_size () const |
size_t | available_size () const |
std::ptrdiff_t | offset () const |
![]() | |
size_t | m_nest_level |
size_t | m_buffer_pos |
bool | m_root_elem_open:1 |
![]() | |
const char *const | mp_begin |
const char * | mp_char |
const char * | mp_end |
SAX parser for XML documents.
This parser is barebone in that it only parses the document and picks up all encountered elements and attributes without checking proper element pairs. The user is responsible for checking whether or not the document is well-formed in terms of element scopes.
This parser additionally records the begin and end offset positions of each element.
HandlerT | Handler type with member functions for event callbacks. Refer to sax_handler. |
ConfigT | Parser configuration. |