18 #ifndef VCSN_XML_HANDLERS_HH
19 # define VCSN_XML_HANDLERS_HH
34 # include <xercesc/sax2/SAX2XMLReader.hpp>
35 # include <xercesc/sax2/XMLReaderFactory.hpp>
36 # include <xercesc/sax2/DefaultHandler.hpp>
37 # include <xercesc/sax2/Attributes.hpp>
39 # include <xercesc/sax/SAXException.hpp>
40 # include <xercesc/util/XMLString.hpp>
43 # include <vaucanson/xml/strings.hh>
44 # include <vaucanson/xml/handlers_base.hh>
46 # include <vaucanson/xml/regexp.hh>
48 # include <vaucanson/algebra/implementation/series/series_rep.hh>
61 typedef typename T::hstate_t hstate_t;
69 start (
const XMLCh*
const uri,
70 const XMLCh*
const localname,
71 const XMLCh*
const qname,
72 const xercesc::Attributes& attrs);
74 end (
const XMLCh*
const uri,
75 const XMLCh*
const localname,
76 const XMLCh*
const qname);
88 typedef typename T::hstate_t hstate_t;
96 start (
const XMLCh*
const uri,
97 const XMLCh*
const localname,
98 const XMLCh*
const qname,
99 const xercesc::Attributes& attrs);
101 end (
const XMLCh*
const uri,
102 const XMLCh*
const localname,
103 const XMLCh*
const qname);
115 template <
typename T>
119 typedef typename T::hstate_t hstate_t;
120 typedef std::map<std::string, hstate_t> map_t;
128 start (
const XMLCh*
const uri,
129 const XMLCh*
const localname,
130 const XMLCh*
const qname,
131 const xercesc::Attributes& attrs);
133 end (
const XMLCh*
const uri,
134 const XMLCh*
const localname,
135 const XMLCh*
const qname);
146 template <
typename T>
150 typedef typename T::hstate_t hstate_t;
158 start (
const XMLCh*
const uri,
159 const XMLCh*
const localname,
160 const XMLCh*
const qname,
161 const xercesc::Attributes& attrs);
163 end (
const XMLCh*
const uri,
164 const XMLCh*
const localname,
165 const XMLCh*
const qname);
168 typedef typename T::series_set_elt_t series_set_elt_t;
182 template <
typename T>
186 typedef typename T::hstate_t hstate_t;
191 bool initial =
true);
194 start (
const XMLCh*
const uri,
195 const XMLCh*
const localname,
196 const XMLCh*
const qname,
197 const xercesc::Attributes& attrs);
199 end (
const XMLCh*
const uri,
200 const XMLCh*
const localname,
201 const XMLCh*
const qname);
204 typedef typename T::series_set_elt_t series_set_elt_t;
218 template <
typename T>
222 typedef typename T::hstate_t hstate_t;
223 typedef std::map<std::string, hstate_t> map_t;
231 start (
const XMLCh*
const uri,
232 const XMLCh*
const localname,
233 const XMLCh*
const qname,
234 const xercesc::Attributes& attrs);
236 end (
const XMLCh*
const uri,
237 const XMLCh*
const localname,
238 const XMLCh*
const qname);
243 Handler* transitionh_;
249 template <
typename T>
258 start (
const XMLCh*
const uri,
259 const XMLCh*
const localname,
260 const XMLCh*
const qname,
261 const xercesc::Attributes& attrs);
263 end (
const XMLCh*
const uri,
264 const XMLCh*
const localname,
265 const XMLCh*
const qname);
267 typedef typename T::hstate_t hstate_t;
268 typedef std::map<std::string, hstate_t> map_t;
281 template <
typename T>
290 start (
const XMLCh*
const uri,
291 const XMLCh*
const localname,
292 const XMLCh*
const qname,
293 const xercesc::Attributes& attrs);
295 end (
const XMLCh*
const uri,
296 const XMLCh*
const localname,
297 const XMLCh*
const qname);
300 typedef typename T::monoid_t monoid_t;
301 typedef typename T::semiring_t semiring_t;
302 typedef typename T::series_set_t series_set_t;
303 typedef typename T::series_set_t::series_rep_t series_rep_t;
306 semiring_t* semiring_;
321 template <
typename T>
330 start (
const XMLCh*
const uri,
331 const XMLCh*
const localname,
332 const XMLCh*
const qname,
333 const xercesc::Attributes& attrs);
335 end (
const XMLCh*
const uri,
336 const XMLCh*
const localname,
337 const XMLCh*
const qname);
349 template <
typename RE>
358 start (
const XMLCh*
const uri,
359 const XMLCh*
const localname,
360 const XMLCh*
const qname,
361 const xercesc::Attributes& attrs);
363 end (
const XMLCh*
const uri,
364 const XMLCh*
const localname,
365 const XMLCh*
const qname);
379 template <
typename RE>
384 xercesc::DefaultHandler& root,
388 start (
const XMLCh*
const uri,
389 const XMLCh*
const localname,
390 const XMLCh*
const qname,
391 const xercesc::Attributes& attrs);
393 end (
const XMLCh*
const uri,
394 const XMLCh*
const localname,
395 const XMLCh*
const qname);
407 template <
typename T>
412 xercesc::DefaultHandler& root,
416 start (
const XMLCh*
const uri,
417 const XMLCh*
const localname,
418 const XMLCh*
const qname,
419 const xercesc::Attributes& attrs);
421 end (
const XMLCh*
const uri,
422 const XMLCh*
const localname,
423 const XMLCh*
const qname);
433 # if ! defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
434 # include <vaucanson/xml/handlers.hxx>
435 # endif // !VCSN_USE_INTERFACE_ONLY || VCSN_USE_LIB
437 #endif // !VCSN_XML_HANDLERS_HH