00001 /* 00002 Copyright 1996-2001 00003 Simon Whiteside 00004 00005 * $Id: skElement_h-source.html,v 1.2 2001/11/05 19:22:33 sdw Exp $ 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