00001 #ifndef _IT_BUS_PDK_XML_SAX_HANDLER_H_
00002 #define _IT_BUS_PDK_XML_SAX_HANDLER_H_
00003
00004
00005
00006
00007 #include <it_bus/types.h>
00008 #include <it_bus/qname.h>
00009
00010 #include <it_bus/api_defines.h>
00011
00012 namespace IT_Bus
00013 {
00014 class IT_BUS_XML_API XMLSaxHandler
00015 {
00016 public:
00017 XMLSaxHandler() {}
00018 virtual ~XMLSaxHandler();
00019
00020 virtual void
00021 sax_accept_namespace_declaration(
00022 char * prefix,
00023 char * namespace_uri
00024 ) = 0;
00025
00026 virtual bool
00027 sax_accept_attribute(
00028 char * raw_name,
00029 char * namespace_uri,
00030 const String& value
00031 ) = 0;
00032
00033 virtual XMLSaxHandler *
00034 sax_start_element(
00035 const char * raw_name,
00036 const char * namespace_uri,
00037 const char * target_namespace
00038 ) = 0;
00039
00040 virtual XMLSaxHandler *
00041 sax_end_element() = 0;
00042
00049 virtual void
00050 sax_accept_characters(
00051 const String::UChar* uchars,
00052 size_t n = String::npos
00053 ) = 0;
00054
00055 virtual void
00056 set_encoding(
00057 const String& encoding_name
00058 ) = 0;
00059
00060 virtual
00061 const String&
00062 get_xml_encoding(
00063 ) = 0;
00064 };
00065 }
00066
00067 #endif