8 #ifndef INCLUDED_ORCUS_XML_STRUCTURE_TREE_HPP 9 #define INCLUDED_ORCUS_XML_STRUCTURE_TREE_HPP 24 std::vector<std::string> paths;
25 std::vector<std::string> row_groups;
40 std::unique_ptr<impl> mp_impl;
58 struct ORCUS_DLLPUBLIC
hash 64 typedef std::vector<entity_name> entity_names_type;
85 std::unique_ptr<walker_impl> mp_impl;
87 walker(
const xml_structure_tree::impl& parent_impl);
126 element move_to(
const std::string& path);
134 entity_names_type get_children();
142 entity_names_type get_attributes();
153 size_t get_xmlns_index(xmlns_id_t ns)
const;
155 std::string get_xmlns_short_name(xmlns_id_t ns)
const;
165 std::string to_string(
const entity_name& name)
const;
171 std::string get_path()
const;
178 void parse(
const char* p,
size_t n);
180 void dump_compact(std::ostream& os)
const;
182 walker get_walker()
const;
184 using range_handler_type = std::function<void(xml_table_range_t&&)>;
186 void process_ranges(range_handler_type rh)
const;
Definition: pstring.hpp:27
Definition: xml_structure_tree.hpp:37
Definition: xml_structure_tree.hpp:22
Definition: xml_namespace.hpp:82
Definition: xml_structure_tree.hpp:58
Definition: xml_structure_tree.hpp:66
Definition: xml_structure_tree.hpp:47
Definition: xml_structure_tree.hpp:81
Definition: base64.hpp:15