00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef skELEMENT_H
00022 #define skELEMENT_H
00023
00024 #include "skNode.h"
00025 #include "skAttribute.h"
00026
00030 class CLASSEXPORT skElement : public skNode
00031 {
00032 public:
00036 skElement(const skString& tagname);
00041 void appendChild(skNode * child);
00046 void removeAndDestroyChild(skNode * child);
00051 void removeChild(skNode * child);
00057 void setAttribute(const skString& name,const skString& value);
00063 skString getAttribute(const skString& name) const;
00068 skNodeList& getChildNodes();
00073 skString getTagName() const;
00078 virtual NodeType getNodeType() const;
00083 virtual skNode * clone();
00088 virtual skString toString() const;
00089 #ifdef STREAMS_ENABLED
00090
00094 virtual void write(ostream& out) const;
00095 #endif
00096 protected:
00098 skAttribute * findAttribute(const skString& name) const;
00100 skString m_TagName;
00102 skAttributeList m_Attributes;
00104 skNodeList m_ChildNodes;
00105 };
00106 #endif
00107
00108