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