8 #ifndef INCLUDED_ORCUS_DOM_TREE_HPP 9 #define INCLUDED_ORCUS_DOM_TREE_HPP 11 #include "pstring.hpp" 25 struct doctype_declaration;
60 typedef std::vector<attr> attrs_type;
68 node(node_type _type) : type(_type) {}
71 virtual void print(std::ostream& os,
const xmlns_context& cxt)
const = 0;
74 typedef std::vector<std::unique_ptr<node>> nodes_type;
80 nodes_type child_nodes;
83 virtual void print(std::ostream& os,
const xmlns_context& cxt)
const;
87 typedef std::vector<element*> element_stack_type;
89 struct content :
public node 94 virtual void print(std::ostream& os,
const xmlns_context& cxt)
const;
106 void load(
const std::string& strm);
115 void start_declaration(
const pstring& name);
116 void end_declaration(
const pstring& name);
117 void start_element(xmlns_id_t ns,
const pstring& name);
118 void end_element(xmlns_id_t ns,
const pstring& name);
119 void set_characters(
const pstring& val);
120 void set_attribute(xmlns_id_t ns,
const pstring& name,
const pstring& val);
125 const attrs_type* get_declaration_attributes(
const pstring& name)
const;
127 void dump_compact(std::ostream& os)
const;
130 std::unique_ptr<dom_tree_impl> mp_impl;
Definition: pstring.hpp:24
Definition: dom_tree.hpp:64
Definition: dom_tree.hpp:39
Definition: xml_namespace.hpp:80
Definition: dom_tree.hpp:89
Definition: dom_tree.hpp:32
Definition: sax_parser_base.hpp:45
Definition: dom_tree.hpp:50
Definition: dom_tree.hpp:76
Definition: base64.hpp:15