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

skExpatParser.h

00001 /*
00002   Copyright 1996-2003
00003   Simon Whiteside
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 * $Id: skExpatParser_8h-source.html,v 1.1 2003/04/14 15:53:25 simkin_cvs Exp $
00020 */
00021 
00022 #ifndef skEXPATPARSER_H
00023 #define skEXPATPARSER_H
00024 
00025 #include "skString.h"
00026 #include "skElement.h"
00027 #include <expat.h>
00028 #include "skExecutableContext.h"
00029 
00030 class CLASSEXPORT skInputSource;
00031 
00036 class CLASSEXPORT skExpatParser 
00037 {
00038  public:
00040   skExpatParser();
00041   ~skExpatParser();
00042 
00043   skElement * parse(skInputSource& in,skExecutableContext& context);
00044  private:
00046   skExpatParser(const skExpatParser&);
00047   skExpatParser& operator=(const skExpatParser&);
00048 
00049   static void startElementHandler(void * userData,const Char *name, const Char **atts);
00050   void startElement(const Char *name, const Char **atts);
00051 
00052   static void endElementHandler(void * userData,const Char *name);
00053   void endElement(const Char *name);
00054 
00055   static void characterDataHandler(void *userData, const XML_Char *s,int len);
00056   void characterData(const XML_Char *s,int len);
00057 
00058   static  void startCDataHandler(void *userData);
00059   void startCData();
00060 
00061   static void endCDataHandler(void *userData);
00062   void endCData ();
00063 
00064   skNodeList m_ElementStack;
00065   bool m_InCData;
00066   skElement * m_RootElement;
00067 };
00068 #endif
00069 

Generated on Mon Apr 14 16:49:22 2003 for Simkin C++ for Windows CE by doxygen1.3