00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083 
00084 
00085 #ifndef HANDLERBASE_HPP
00086 #define HANDLERBASE_HPP
00087 
00088 #include <sax/DocumentHandler.hpp>
00089 #include <sax/DTDHandler.hpp>
00090 #include <sax/EntityResolver.hpp>
00091 #include <sax/ErrorHandler.hpp>
00092 #include <sax/SAXParseException.hpp>
00093 
00094 class Locator;
00095 class AttributeList;
00096 
00116 
00117 class  HandlerBase :
00118 
00119     public EntityResolver, public DTDHandler, public DocumentHandler
00120     , public ErrorHandler
00121 {
00122 public:
00125 
00140     virtual void characters
00141     (
00142         const   XMLCh* const    chars
00143         , const unsigned int    length
00144     );
00145 
00158     virtual void endDocument();
00159 
00173     virtual void endElement(const XMLCh* const name);
00174 
00190     virtual void ignorableWhitespace
00191     (
00192         const   XMLCh* const    chars
00193         , const unsigned int    length
00194     );
00195 
00211     virtual void processingInstruction
00212     (
00213         const   XMLCh* const    target
00214         , const XMLCh* const    data
00215     );
00216 
00222     virtual void resetDocument();
00224 
00226 
00228 
00239     virtual void setDocumentLocator(const Locator* const locator);
00240 
00253     virtual void startDocument();
00254 
00269     virtual void startElement
00270     (
00271         const   XMLCh* const    name
00272         ,       AttributeList&  attributes
00273     );
00274 
00276 
00278 
00280 
00299     virtual InputSource* resolveEntity
00300     (
00301         const   XMLCh* const    publicId
00302         , const XMLCh* const    systemId
00303     );
00304 
00306 
00309 
00323     virtual void error(const SAXParseException& exception);
00324 
00342     virtual void fatalError(const SAXParseException& exception);
00343 
00358     virtual void warning(const SAXParseException& exception);
00359 
00365     virtual void resetErrors();
00366 
00368 
00369 
00372 
00386     virtual void notationDecl
00387     (
00388         const   XMLCh* const    name
00389         , const XMLCh* const    publicId
00390         , const XMLCh* const    systemId
00391     );
00392 
00398     virtual void resetDocType();
00399 
00414     virtual void unparsedEntityDecl
00415     (
00416         const   XMLCh* const    name
00417         , const XMLCh* const    publicId
00418         , const XMLCh* const    systemId
00419         , const XMLCh* const    notationName
00420     );
00422 };
00423 
00424 
00425 
00426 
00427 
00428 inline void HandlerBase::characters(const   XMLCh* const    chars
00429                                     , const unsigned int    length)
00430 {
00431 }
00432 
00433 inline void HandlerBase::endDocument()
00434 {
00435 }
00436 
00437 inline void HandlerBase::endElement(const XMLCh* const name)
00438 {
00439 }
00440 
00441 inline void HandlerBase::error(const SAXParseException& exception)
00442 {
00443 }
00444 
00445 inline void HandlerBase::fatalError(const SAXParseException& exception)
00446 {
00447     throw exception;
00448 }
00449 
00450 inline void
00451 HandlerBase::ignorableWhitespace(   const   XMLCh* const chars
00452                                     , const unsigned int length)
00453 {
00454 }
00455 
00456 inline void HandlerBase::notationDecl(  const   XMLCh* const name
00457                                         , const XMLCh* const publicId
00458                                         , const XMLCh* const systemId)
00459 {
00460 }
00461 
00462 inline void
00463 HandlerBase::processingInstruction( const   XMLCh* const target
00464                                     , const XMLCh* const data)
00465 {
00466 }
00467 
00468 inline void HandlerBase::resetErrors()
00469 {
00470 }
00471 
00472 inline void HandlerBase::resetDocument()
00473 {
00474 }
00475 
00476 inline void HandlerBase::resetDocType()
00477 {
00478 }
00479 
00480 inline InputSource*
00481 HandlerBase::resolveEntity( const   XMLCh* const publicId
00482                             , const XMLCh* const systemId)
00483 {
00484     return 0;
00485 }
00486 
00487 inline void
00488 HandlerBase::unparsedEntityDecl(const   XMLCh* const name
00489                                 , const XMLCh* const publicId
00490                                 , const XMLCh* const systemId
00491                                 , const XMLCh* const notationName)
00492 {
00493 }
00494 
00495 inline void HandlerBase::setDocumentLocator(const Locator* const locator)
00496 {
00497 }
00498 
00499 inline void HandlerBase::startDocument()
00500 {
00501 }
00502 
00503 inline void
00504 HandlerBase::startElement(  const   XMLCh* const    name
00505                             ,       AttributeList&  attributes)
00506 {
00507 }
00508 
00509 inline void HandlerBase::warning(const SAXParseException& exception)
00510 {
00511 }
00512 
00513 #endif