+ DocumentMemory() : a_rootNode(NULL) {;}
+
+ /**
+ * Root node after parsing, or NULL if not analyzed by mean parse()
+ *
+ * @return XML document root node
+ */
+ const Node * getRootNode() const throw() { return a_rootNode; }
+
+ /**
+ * Parse xml document and return root node
+ * \return Root node
+ * \warning Need previous initialization
+ */
+ const Node* parse() throw(RuntimeException) { return (a_rootNode = Document::parse()); }
+
+ /**
+ * Parse xml document with dtd and return root node
+ * \param dtd Validation DTD for XML document
+ * \return Root node
+ * \warning Need previous initialization
+ */
+ const Node* parse(const DTD& dtd) throw(RuntimeException) { return (a_rootNode = Document::parse(dtd)); }
+
+ /**
+ * XML representation from loaded document
+ * \return XML string
+ * \warning Need previous initialization and parsing
+ */
+ std::string asXmlString() const throw() { Compiler c; return (c.apply(a_rootNode)); }