00001
00002
00003
00004
00005
00006
00007 #ifndef skELEMENT_H
00008 #define skELEMENT_H
00009
00010 #include "skNode.h"
00011 #include "skAttribute.h"
00012
00016 class CLASSEXPORT skElement : public skNode
00017 {
00018 public:
00022 skElement(const skString& tagname);
00027 void appendChild(skNode * child);
00032 void removeAndDestroyChild(skNode * child);
00038 void setAttribute(const skString& name,const skString& value);
00044 skString getAttribute(const skString& name) const;
00049 skNodeList& getChildNodes();
00054 skString getTagName() const;
00059 virtual NodeType getNodeType() const;
00064 virtual skNode * clone();
00069 virtual void write(ostream& out) const;
00070 protected:
00072 skAttribute * findAttribute(const skString& name) const;
00074 skString m_TagName;
00076 skAttributeList m_Attributes;
00078 skNodeList m_ChildNodes;
00079 };
00080 #endif
00081
00082