00001 #ifndef _IT_BUS_PDK_XML_STREAM_DOCUMENT_H_
00002 #define _IT_BUS_PDK_XML_STREAM_DOCUMENT_H_
00003
00004
00005
00006
00007 #include <it_bus/binary_buffer.h>
00008 #include <it_bus_pdk/xml_stream_node.h>
00009 #include <it_bus_pdk/xml_parse_exception.h>
00010
00011
00012 namespace IT_Bus
00013 {
00014 class IT_BUS_XML_API XMLStreamDocument : public XMLStreamNode
00015 {
00016 public:
00017
00018 XMLStreamDocument();
00019
00020 virtual ~XMLStreamDocument();
00021
00022 void
00023 parse_from_url(
00024 const String& url
00025 ) throw((XMLParseException));
00026
00027 void
00028 parse_from_file(
00029 const String& file_name
00030 ) throw((XMLParseException));
00031
00032 void
00033 parse(
00034 const BinaryBuffer& input_buffer
00035 ) throw((XMLParseException));
00036
00037 virtual XMLSaxHandler*
00038 sax_start_element(
00039 const char* raw_name,
00040 const char* namespace_uri,
00041 const char* target_namespace
00042 );
00043
00044 void
00045 set_encoding(
00046 const String& encoding_name
00047 );
00048
00049 private:
00050
00051 XMLStreamDocument(
00052 const XMLStreamDocument& rhs
00053 );
00054
00055 XMLStreamDocument&
00056 operator=(
00057 const XMLStreamDocument& rhs
00058 );
00059
00060 protected:
00061
00062 IdToXMLStreamNodeMap m_id_element_map;
00063 bool m_processed_root_node;
00064 String m_encoding;
00065 };
00066 }
00067
00068 #endif