5#ifndef XMLCOREPARSER_EXPATCOREPARSER_H
6#define XMLCOREPARSER_EXPATCOREPARSER_H
21 static std::unique_ptr<XMLCoreNode>
parse (
const std::string& file_name);
22 static std::unique_ptr<XMLCoreNode>
parse_string (
const std::string& text);
31 void do_start (
const char* el,
const char** attr);
32 void do_end (
const char* el);
36 int generic_parse (XML_Parser p,
const std::string& file_name);
39 const XML_Char* context,
40 const XML_Char* systemId);
42 static void start (
void* ,
const char* el,
const char** attr);
43 static void end (
void* ,
const char* el);
44 static void char_data (
void* ,
const XML_Char* s,
int len);
46 static void comment (
void* ,
const XML_Char* s);
48 const XML_Char* context,
50 const XML_Char* systemId,
52 static void entity (
void* userData,
53 const XML_Char* entityName,
54 int is_parameter_entity,
55 const XML_Char* value,
58 const XML_Char* systemId,
59 const XML_Char* publicId,
68 std::unique_ptr<XMLCoreNode>
m_top;
73 typedef std::lock_guard<std::mutex>
lock_t;
Simple DOM-like node structure to hold the result of XML parsing.
Define macros for attributes used to control the static checker.
int generic_text_parse(XML_Parser p, const std::string &text)
void do_start(const char *el, const char **attr)
static void register_text_entity(const std::string &name, const std::string &text)
void do_default_handler(const XML_Char *s, int len)
static void entity(void *userData, const XML_Char *entityName, int is_parameter_entity, const XML_Char *value, int value_length, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *)
XMLCoreNode * add_node(std::unique_ptr< XMLCoreNode > node)
static void char_data(void *, const XML_Char *s, int len)
static int external_entity(XML_Parser parser, const XML_Char *context, const XML_Char *, const XML_Char *systemId, const XML_Char *)
std::lock_guard< std::mutex > lock_t
int generic_parse(XML_Parser p, const std::string &file_name)
static void start(void *, const char *el, const char **attr)
static std::unique_ptr< XMLCoreNode > parse(const std::string &file_name)
void do_end(const char *el)
static void default_handler(void *, const XML_Char *s, int len)
std::unique_ptr< XMLCoreNode > get_document()
void do_comment(const XML_Char *s)
void do_char_data(const XML_Char *s, int len)
static const std::string & find_external_entity(const std::string &name)
static std::unique_ptr< XMLCoreNode > parse_string(const std::string &text)
static void register_external_entity(const std::string &name, const std::string &file_name)
std::unique_ptr< XMLCoreNode > m_top
static const std::string & find_text_entity(const std::string &name)
static void comment(void *, const XML_Char *s)
std::map< std::string, std::string > ExternalEntityMap
int do_external_entity(XML_Parser parser, const XML_Char *context, const XML_Char *systemId)
static ExternalEntityMap s_entities ATLAS_THREAD_SAFE
static void end(void *, const char *el)
ExpatCoreParser(const std::string &prefix)
static std::mutex s_mutex
Simple DOM-like node structure to hold the result of XML parsing.