00001 #ifndef XMLNODE_H
00002 #define XMLNODE_H
00003
00004 #include "Node.hpp"
00005 #include "Folder.hpp"
00006 #include "Bookmark.hpp"
00007
00008 #include <string>
00009 #include <vector>
00010
00014 class XMLNode {
00015 public:
00020 XMLNode();
00021
00025 XMLNode(const XMLNode& node);
00026
00030 XMLNode(const string& attribute, const string& value = "");
00031
00035 XMLNode(Node* node);
00036
00041 XMLNode(Folder* folder, const int levels = 1);
00042
00046 void addNode(XMLNode* node);
00047
00052 string getDoc(int indent = 0);
00053
00057 string& getAttribute();
00058
00062 void setAttribute(const string& attribute);
00063
00067 string& getValue();
00068
00072 void setValue(const string& value);
00073
00074 private:
00078 void init(Node* node);
00079
00083 string _attribute;
00084
00088 string _value;
00089
00093 vector<XMLNode*> _children;
00094 };
00095
00096 #endif