XMLCoreParser Node1 XMLCoreParser - m_level + XMLCoreParser() + ~XMLCoreParser() + set_validation_scheme() + set_do_namespaces() + set_do_schema() + set_validation_schema _full_checking() + set_create_entity_reference _nodes() + parse() + visit() + register_default_factory() and 6 more... - visit() - terminate() - find_factory() Node2 std::map< std::string, std::unique_ptr< XMLCoreFactory > > Node2->Node1 -m_factories Node3 std::unique_ptr< XMLCore Factory > + operator->() Node3->Node1 -m_default_factory Node3->Node2 +elements Node4 XMLCoreFactory + ~XMLCoreFactory() + start() + end() + comment() + do_start() + do_end() + do_comment() + get_name() + sibling_number() + attribute_number() + has_attribute() + get_int() + get_double() + get_boolean() + get_ID() + get_value() + get_name() + get_token() + check_int() + check_double() Node4->Node3 +ptr Node5 std::string Node5->Node2 +keys Node5->Node4 #m_xmlelementname Node6 std::basic_string< char > Node6->Node5