Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

skNode.h

00001 /*
00002   Copyright 1996-2001
00003   Simon Whiteside
00004 
00005 * $Id: skNode_h-source.html,v 1.2 2001/11/05 19:22:33 sdw Exp $
00006 */
00007 #ifndef skNODE_H
00008 #define skNODE_H
00009 
00010 #include "skAlist.h"
00011 
00015 class CLASSEXPORT skNode 
00016 {
00017  public:
00021   enum NodeType {ELEMENT_NODE,CDATA_SECTION_NODE, TEXT_NODE};
00026   virtual skString getNodeValue() const;
00031   virtual void setNodeValue(const skString& s);
00036   virtual NodeType getNodeType() const=0;
00041   virtual skNode * clone()=0;
00046   virtual void write(ostream& out) const=0;
00047  protected:
00049   skNode();
00050   skNode(const skNode&);
00051   skNode& operator=(const skNode& other);
00052 };
00053 EXTERN_TEMPLATE template class CLASSEXPORT skTAList<skNode>;
00054 
00058 class CLASSEXPORT skNodeList : public skTAList<skNode>{
00059 };
00060 
00064 class CLASSEXPORT skTextNode : public skNode
00065 {
00066  public:
00070   skTextNode(const skString& text);
00075   virtual skString getNodeValue() const;
00080   virtual void setNodeValue(const skString& s);
00085   virtual NodeType getNodeType() const;
00090   virtual skNode * clone();
00095   virtual void write(ostream& out) const;
00096  protected:
00098   skString m_Text;
00099 };
00103 class CLASSEXPORT skCDataNode : public skTextNode
00104 {
00105  public:
00110   skCDataNode(const skString& text);
00120 
00127 

Generated at Mon Nov 5 19:22:25 2001 for Simkin by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000