Main Page | Class Hierarchy | Class List | File List | Class Members

xmlsimplenode.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _XMLSIMPLENODE_H
00004 #define _XMLSIMPLENODE_H
00005 
00006 #include "xmlsimpleattr.h"
00007 #include <string>
00008 #include <list>
00009 
00012 class XMLSimpleNode {
00013 
00014   std::string name;
00015   std::string text;
00016   std::list<XMLSimpleAttr> attrs;
00017   std::list<XMLSimpleNode*> children;
00018   XMLSimpleNode* parent;
00019 
00020  public:
00021 
00023   XMLSimpleNode();
00024   
00028   XMLSimpleNode(const XMLSimpleNode & n);
00029 
00034   XMLSimpleNode(const std::string & n, const std::string & t);
00035 
00043   XMLSimpleNode(const std::string & n, const std::string & t, const std::list<XMLSimpleAttr> a, const std::list<XMLSimpleNode*> c, XMLSimpleNode* p);
00044   
00048   std::string getName() const;
00049   
00053   std::string getText() const;
00054 
00058   std::list<XMLSimpleAttr> getAttrs() const;
00059 
00064   std::string getAttrValue(const std::string & n) const;
00065 
00069   std::list<XMLSimpleNode*> getChildren() const;
00070 
00075   std::list<XMLSimpleNode*> getChildren(const std::string & n) const;
00076 
00080   XMLSimpleNode* getFirstChild() const;
00081   
00086   XMLSimpleNode* getFirstChild(const std::string & n) const;
00087 
00091   XMLSimpleNode* getParent() const;
00092 
00096   void putName(const std::string & n);
00097   
00101   void putText(const std::string & t);
00102 
00106   void putAttrs(const std::list<XMLSimpleAttr> & a);
00107   
00111   void addAttr(const XMLSimpleAttr & a);
00112   
00117   void addAttr(const std::string & n, const std::string & v);
00118   
00122   void putChildren(const std::list<XMLSimpleNode*> & c);
00123   
00127   void addChild(XMLSimpleNode* c);
00128 
00132   void putParent(XMLSimpleNode* p);
00133 
00137   std::string node2string() const;
00138   
00142   std::string getXmlString() const;
00143   
00144 };
00145 
00146 #endif // _XMLSIMPLENODE_H

Generated on Tue Sep 11 12:07:45 2007 for libIXAml by doxygen 1.3.5