5#ifndef XMLCoreParser_hpp
6#define XMLCoreParser_hpp
14class XMLCoreParserImpl;
48 std::unique_ptr<XMLCoreNode>
parse (
const std::string& file_name);
49 std::unique_ptr<XMLCoreNode>
parse_string (
const std::string& text);
50 void visit (
const std::string& file_name);
54 std::unique_ptr<XMLCoreFactory> factory);
69 typedef std::map <std::string, std::unique_ptr<XMLCoreFactory> >
FactoryMap;
Simple DOM-like node structure to hold the result of XML parsing.
virtual void do_comment(XMLCoreParser &parser, const std::string &comment)
virtual void do_start(XMLCoreParser &parser, const XMLCoreNode &node)
static std::string get_value(const XMLCoreNode &node, const std::string &name)
void end(XMLCoreParser &parser, const XMLCoreNode &node)
static bool has_attribute(const XMLCoreNode &node, const std::string &name)
virtual ~XMLCoreFactory()
virtual void do_end(XMLCoreParser &parser, const XMLCoreNode &node)
static double get_double(const XMLCoreNode &node, const std::string &name)
static bool check_int(const int n, const XMLCoreNode &node, const std::string &name)
void comment(XMLCoreParser &parser, const std::string &comment)
static bool check_double(const int n, const XMLCoreNode &node, const std::string &name)
static int get_int(const XMLCoreNode &node, const std::string &name)
static std::string get_ID(const XMLCoreNode &node, const std::string &name)
void start(XMLCoreParser &parser, const XMLCoreNode &node)
static bool get_boolean(const XMLCoreNode &node, const std::string &name)
static std::string get_token(const XMLCoreNode &node, const std::string &name)
std::string m_xmlelementname
Simple DOM-like node structure to hold the result of XML parsing.
std::unique_ptr< XMLCoreFactory > m_default_factory
std::map< std::string, std::unique_ptr< XMLCoreFactory > > FactoryMap
std::unique_ptr< XMLCoreNode > parse(const std::string &file_name)
void visit(const std::string &file_name)
void register_factory(const std::string &name, std::unique_ptr< XMLCoreFactory > factory)
void register_text_entity(const std::string &name, const std::string &text)
void register_external_entity(const std::string &name, const std::string &file_name)
XMLCoreFactory * find_factory(const std::string &name)
std::unique_ptr< XMLCoreNode > parse_string(const std::string &text)
void register_default_factory(std::unique_ptr< XMLCoreFactory > factory)