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

BxSaxHandler.h

00001 // ##################################################################
00002 // Binx
00003 // $Id: BxSaxHandler_8h-source.html,v 1.1.1.1 2006/04/19 14:19:02 edikt2 Exp $
00004 //
00005 // Class for interfacing the SAX parser
00006 // ##################################################################
00007 /*
00008 
00009 //  edikt::BinX
00010 //  www.edikt.org
00011 //  support@edikt.org
00012 
00013 // Copyright (c) 2004 The University of Edinburgh.
00014 
00015 */
00016 
00017 
00018 #ifndef __BxSaxHandler__
00019 #define __BxSaxHandler__
00020 
00021 #include <xercesc/sax2/Attributes.hpp>
00022 #include <xercesc/sax2/DefaultHandler.hpp>
00023 
00024 XERCES_CPP_NAMESPACE_USE
00025 
00026 class BxDataBinxParser;
00027 
00028 class BxSaxHandler : public DefaultHandler
00029 {
00030 public:
00031     BxSaxHandler();
00032     BxSaxHandler(BxDataBinxParser*);
00033     ~BxSaxHandler();
00034 
00035     bool parse(const char* xmlfile);
00036     
00037     // -----------------------------------------------------------------------
00038     //  Handlers for the SAX ContentHandler interface
00039     // -----------------------------------------------------------------------
00040     void startDocument() {}
00041     void endDocument() {}
00042     void startElement(const XMLCh* const, const XMLCh* const localname, const XMLCh* const, const Attributes& attrs);
00043     void endElement(const XMLCh* const, const XMLCh* const localname, const XMLCh* const);
00044     void characters(const XMLCh* const, const unsigned int);
00045     void ignorableWhitespace(const XMLCh* const, const unsigned int) {}
00046 
00047     // -----------------------------------------------------------------------
00048     //  Handlers for the SAX ErrorHandler interface
00049     // -----------------------------------------------------------------------
00050     void warning(const SAXParseException& exception);
00051     void error(const SAXParseException& exception);
00052     void fatalError(const SAXParseException& exception);
00053     void resetErrors();
00054 
00055     void setDataBinxHandler(BxDataBinxParser* pHandler) { pDataBinxHandler_ = pHandler; }
00056     void setAttributeHandler(BxDataBinxParser* pHandler) { pAttributeHandler_ = pHandler; }
00057 
00058 private:
00059     /* Unimplemented constructors and operators */
00060     /* Copy constructor */
00061     BxSaxHandler(const BxSaxHandler&);
00062 
00063     /* Assignment operator */
00064     void operator=(const BxSaxHandler&);
00065 
00066     bool fSawErrors;
00067     BxDataBinxParser* pDataBinxHandler_;
00068     BxDataBinxParser* pAttributeHandler_;
00069 };
00070 
00071 #endif
00072 

Generated on Fri May 6 13:36:17 2005 for edikt::BinX by doxygen 1.3.3