00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_XML_SESSION_HH
00019 # define VCSN_XML_SESSION_HH
00020
00032 # include <iostream>
00033 # include <xercesc/dom/DOM.hpp>
00034
00035 # include <vaucanson/xml/xml_converter.hh>
00036
00037
00038 namespace vcsn
00039 {
00040 namespace xml
00041 {
00053 struct xml_session
00054 {
00055 xml_session();
00056 ~xml_session();
00057
00058 xercesc::DOMImplementation* impl;
00059 xercesc::DOMDocument* doc;
00060 xercesc::DOMElement* root;
00061 };
00062
00063 }
00064
00065 template<typename S, typename T>
00066 xml::xml_session& op_rin(S&, xml::xml_session&, T&);
00067
00068 template<typename S, typename T>
00069 xml::xml_session& op_rout(const S&, xml::xml_session&, const T&);
00070
00071 template <class IStream>
00072 IStream& operator >> (IStream&, xml::xml_session&);
00073
00074 template <class OStream>
00075 OStream& operator << (OStream&, const xml::xml_session&);
00076
00077
00078 }
00079
00080
00081 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
00082 # include <vaucanson/xml/session.hxx>
00083 # endif // VCSN_USE_INTERFACE_ONLY
00084
00085 #endif // ! VCSN_XML_SESSION_HH