+
+std::string Config_WidgetReader::dumpNode(xmlNodePtr theNode)
+{
+ std::string result = "";
+ if (!hasChild(theNode)) {
+ return result;
+ }
+ xmlNodePtr aChildrenNode = xmlFirstElementChild(theNode);
+ xmlBufferPtr buffer = xmlBufferCreate();
+ if (isNode(aChildrenNode, NODE_SOURCE, NULL)) {
+ Config_XMLReader aSourceReader =
+ Config_XMLReader(getProperty(aChildrenNode, SOURCE_FILE));
+ xmlNodePtr aSourceRoot = aSourceReader.findRoot();
+ int size = xmlNodeDump(buffer, aSourceRoot->doc, aSourceRoot, 0, 1);
+ } else {
+ int size = xmlNodeDump(buffer, theNode->doc, theNode, 0, 1);
+ }
+ result = std::string((char*) (buffer->content));
+ return result;
+}