- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# xerces_parser.hh

Go to the documentation of this file.

    00001 // xerces_parser.hh: this file is part of the Vaucanson project.
    00002 //
    00003 // Vaucanson, a generic library for finite state machines.
    00004 //
    00005 // Copyright (C) 2005, 2006, 2007 The Vaucanson Group.
    00006 //
    00007 // This program is free software; you can redistribute it and/or
    00008 // modify it under the terms of the GNU General Public License
    00009 // as published by the Free Software Foundation; either version 2
    00010 // of the License, or (at your option) any later version.
    00011 //
    00012 // The complete GNU General Public Licence Notice can be found as the
    00013 // `COPYING' file in the root directory.
    00014 //
    00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
    00016 //
    00017
    00018 #ifndef VCSN_XML_XERCES_PARSER_HH
    00019 # define VCSN_XML_XERCES_PARSER_HH
    00020
    00032 # include <iostream>
    00033 # include <cstdlib>
    00034
    00035 # include <xercesc/dom/DOM.hpp>
    00036 # include <xercesc/framework/Wrapper4InputSource.hpp>
    00037
    00038 # include <vaucanson/misc/usual_macros.hh>
    00039 # include <vaucanson/xml/ios.hh>
    00040 # include <vaucanson/xml/strings.hh>
    00041 # include <vaucanson/xml/error_handler.hh>
    00042
    00043 namespace vcsn
    00044 {
    00045   namespace xml
    00046   {
    00047
    00048     struct xerces_parser
    00049     {
    00058       template <class IStream>
    00059       static
    00060       xercesc::DOMElement* stream_parser(IStream& is);
    00061
    00062     private:
    00063       template <class IStream>
    00064       static
    00065       xercesc::DOMDocument* load_document(xercesc::DOMBuilder* parser,
    00066                                           IStream& is);
    00067     };
    00068   } // xml
    00069
    00070 } // vcsn
    00071
    00072
    00073 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
    00074 #  include <vaucanson/xml/xerces_parser.hxx>
    00075 # endif // VCSN_USE_INTERFACE_ONLY
    00076
    00077
    00078 #endif // ! VCSN_XML_XERCES_PARSER_HH