5#ifndef XMLCoreParser_hpp
6#define XMLCoreParser_hpp
13class XMLCoreParserImpl;
39 other.m_node =
nullptr;
101 void visit (
const std::string& file_name);
105 std::unique_ptr<XMLCoreFactory> factory);
120 typedef std::map <std::string, std::unique_ptr<XMLCoreFactory> >
FactoryMap;
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)
std::string get_name(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 int attribute_number(const XMLCoreNode &node)
static double get_double(const XMLCoreNode &node, const std::string &name)
int sibling_number(const XMLCoreNode &node)
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
const CoreParser::DOMNode & get_node() const
const CoreParser::DOMNode * m_node
XMLCoreNode & operator=(const XMLCoreNode &other)
XMLCoreNode(const CoreParser::DOMNode *node)
XMLCoreNode(std::unique_ptr< CoreParser::DOMNode > node)
XMLCoreNode(const XMLCoreNode &other)
XMLCoreNode(XMLCoreNode &&other)
std::unique_ptr< XMLCoreFactory > m_default_factory
std::map< std::string, std::unique_ptr< XMLCoreFactory > > FactoryMap
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)
void register_default_factory(std::unique_ptr< XMLCoreFactory > factory)
static std::string release