00001 /* -*- c++ -*- */ 00002 #ifndef AKAXISO2_XML_XERCES_XERCES_DESERIALIZER_H__ 00003 #define AKAXISO2_XML_XERCES_XERCES_DESERIALIZER_H__ 00004 00010 #include <akaxiso2/configuration.h> 00011 #ifdef AKAXISO2_USE_XERCESC 00012 00013 00014 #include <akaxiso2/XML/deserializer/deserializer.h> 00015 #include <xercesc/sax2/SAX2XMLReader.hpp> 00016 00017 namespace aka2 { 00018 00022 class xerces_deserializer : public deserializer { 00023 public: 00024 xerces_deserializer(); 00025 00026 virtual ~xerces_deserializer() {} 00027 00028 virtual document deserialize(std::istream &istm); 00029 virtual document deserialize(const char *doc); 00030 virtual document deserialize(const std::string &doc); 00031 virtual document deserialize_stdin(); 00032 virtual document deserialize_file(const std::string &filename); 00033 00034 private: 00035 document deserialize_internal(xercesc::InputSource &src, const std::string &source_name); 00036 }; 00037 00038 } // namespace aka2 00039 00040 #endif 00041 00042 #endif