23 typedef map<string,string> AttributeList;
24 typedef vector<Element> ElementList;
34 string generateStartOpenTag(
string tagName)
36 string str =
"<" + tagName;
39 string generateEndOpenTag()
44 string generateCloseTag(
string tagName)
46 string str =
"</" + tagName +
">\n";
49 string generateAttributes(AttributeList attributes)
52 AttributeList::iterator itr;
53 for(itr = attributes.begin();itr!=attributes.end();itr++)
55 str += (
" " + itr->first +
"=\"" + itr->second +
"\" ");
60 void traverseElement(
string *ss,
Element element)
62 ss->append(generateStartOpenTag(element.getTagName()));
63 ss->append(generateAttributes(element.getAttributes()));
64 ss->append(generateEndOpenTag());
65 ss->append(element.getText());
66 ElementList elements = element.getChildElements();
67 for(
unsigned int i=0;i<elements.size();i++)
69 traverseElement(ss,elements.at(i));
71 ss->append(generateCloseTag(element.getTagName()));
74 string View::generateDocument(
Document document)
76 Element root = document.getRootElement();
78 traverseElement(&ss,root);