00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef skNODE_H
00022 #define skNODE_H
00023
00024 #include "skAlist.h"
00025
00026 class CLASSEXPORT skElement;
00027 class CLASSEXPORT skOutputDestination;
00028
00032 class CLASSEXPORT skNode
00033 #ifdef __SYMBIAN32__
00034 : public CBase
00035 #endif
00036 {
00037 public:
00041 IMPORT_C virtual ~skNode();
00045 enum NodeType {ELEMENT_NODE,CDATA_SECTION_NODE, TEXT_NODE};
00050 virtual IMPORT_C skString getNodeValue() const;
00055 virtual IMPORT_C void setNodeValue(const skString& s);
00060 virtual IMPORT_C NodeType getNodeType() const=0;
00066 virtual IMPORT_C skNode * clone()=0;
00072 virtual IMPORT_C skString toString() const=0;
00078 virtual IMPORT_C void write(skOutputDestination& out) const=0;
00086 static IMPORT_C skString escapeXMLDelimiters(const skString& text,bool include_quote);
00088 IMPORT_C void setParent(skElement * parent);
00090 IMPORT_C skElement * getParent();
00094 IMPORT_C virtual bool equals(const skNode& other) const=0;
00095 protected:
00097 skNode();
00099 skElement * m_Parent;
00100 private:
00102 skNode(const skNode&);
00103 skNode& operator=(const skNode& other);
00104 };
00105 #ifdef INSTANTIATE_TEMPLATES
00106 EXTERN_TEMPLATE template class CLASSEXPORT skTAList<skNode>;
00107 #endif
00108
00112 class CLASSEXPORT skNodeList : public skTAList<skNode>{
00113 };
00114
00115
00116 #endif