| 32 | DOM::~DOM() = default; |
| 33 | |
| 34 | std::shared_ptr<DOM> DOM::Make(Stream& stream) { |
| 35 | DOMParser parser; |
| 36 | if (!parser.parse(stream)) { |
| 37 | return nullptr; |
| 38 | } |
| 39 | auto root = parser.getRoot(); |
| 40 | auto dom = std::shared_ptr<DOM>(new DOM(root)); |
| 41 | return dom; |
| 42 | } |
| 43 | |
| 44 | static void walk_dom(std::shared_ptr<DOMNode> node, XMLParser* parser) { |
| 45 | auto element = node->name; |