00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef VCSN_XML_ERROR_HANDLER_HH
00019 # define VCSN_XML_ERROR_HANDLER_HH
00020 
00021 # include <xercesc/util/PlatformUtils.hpp>
00022 # include <xercesc/dom/DOM.hpp>
00023 
00024 # include <sstream>
00025 
00026 namespace vcsn
00027 {
00028   namespace xml
00029   {
00030     struct myDOMErrorHandler : public xercesc::DOMErrorHandler
00031     {
00032     protected:
00033       std::string message;
00034       bool error_;
00035     public:
00036       myDOMErrorHandler() : DOMErrorHandler(), message(), error_(false) { };
00037       myDOMErrorHandler(const myDOMErrorHandler& c);
00038       std::string get_msg() const;
00039       bool has_error() const;
00040       virtual bool handleError(const xercesc::DOMError& err);
00041     };
00042   }
00043 }
00044 
00045 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
00046 #  include <vaucanson/xml/error_handler.hxx>
00047 # endif // VCSN_USE_INTERFACE_ONLY
00048 
00049 #endif // ! VCSN_XML_ERROR_HANDLER_HH