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 IMPORT_C skElement(const skString& tagname);
00039 IMPORT_C virtual ~skElement();
00045 IMPORT_C void appendChild(skNode * child);
00050 IMPORT_C void removeAndDestroyChild(skNode * child);
00055 IMPORT_C void removeChild(skNode * child);
00062 IMPORT_C void setAttribute(const skString& name,const skString& value);
00068 IMPORT_C bool removeAttribute(const skString& name);
00074 IMPORT_C skString getAttribute(const skString& name) const;
00081 IMPORT_C skString getAttribute(const skString& name,const skString& default_value) const;
00082 #ifdef __SYMBIAN32__
00083
00089 IMPORT_C skString getAttribute(const TDesC& name) const;
00090 #endif
00091
00095 IMPORT_C skAttributeList& getAttributes();
00100 IMPORT_C skNodeList& getChildNodes();
00105 IMPORT_C skString getTagName() const;
00110 virtual IMPORT_C NodeType getNodeType() const;
00116 virtual IMPORT_C skNode * clone();
00122 virtual IMPORT_C skString toString() const;
00128 virtual IMPORT_C void write(skOutputDestination& out) const;
00132 bool IMPORT_C operator==(const skElement& other) const;
00136 bool IMPORT_C equals(const skNode& other) const;
00140 bool IMPORT_C deepCompare(const skElement& other,bool check_tagname) const;
00141 protected:
00143 skString m_TagName;
00145 skAttributeList m_Attributes;
00147 skNodeList m_ChildNodes;
00148 };
00149 #endif
00150
00151