source: XIOS/dev/dev_rv/src4/xmlio/xml/xml_parser.hpp @ 2348

Last change on this file since 2348 was 216, checked in by hozdoba, 13 years ago
File size: 2.7 KB
Line 
1/* ************************************************************************** *
2 *      Copyright © IPSL/LSCE, XMLIOServer, Avril 2010 - Octobre 2011         *
3 * ************************************************************************** */
4
5#ifndef __XML_PARSER_HPP__
6#define __XML_PARSER_HPP__
7
8/**
9 * \file    xml_parser.hpp
10 * \brief   Définition des méthodes d'initialisation du parsing xml (entête).
11 * \author  Hervé Ozdoba
12 * \version 0.4
13 * \date    12 Juin 2011
14 */
15
16#ifndef __XIOS_NO_EXTERN
17
18// C++ standard headers
19#include <string>
20#include <iostream>
21
22#endif // __XIOS_NO_EXTERN
23
24// XMLIOServer headers
25#include "xml_node.hpp"
26
27// ////////////////////////////// Déclarations ///////////////////////////// //
28
29namespace xmlioserver
30{
31   /// \brief Espace de nommage incluant les classes de manipulation du format xml.
32   namespace xml
33   {
34      /**
35       * \class CXMLParser
36       * \brief Classe de traitement de document xml depuis différentes sources de données.
37       */
38      class CXMLParser
39      {
40         public : // Méthodes statiques
41
42            /*!
43             * \brief Parse un document xml à partir d'un nom de fichier.
44             * \param _filename : le nom d'un fichier contenant l'arborescence xml.
45             * \see ParseString ParseStream
46             *
47             * Cette méthode utilise ParseStream de la maniÚre suivante :
48             * \code
49             * //> Parsing d'un flux d'entrée de fichier.
50             * std::ifstream ifs ( _filename.c_str() , std::ifstream::in );
51             * CXMLParser::ParseStream(ifs);
52             * \endcode
53             */
54            static void ParseFile  (const std::string & _filename);
55
56            /*!
57             * \brief Parse un document xml à partir d'une chaîne de caractÚres.
58             * \param _xmlContent : une chaîne de caractÚres contenant l'arborescence xml.
59             * \see ParseFile ParseStream
60             *
61             * Cette méthode utilise ParseStream de la maniÚre suivante :
62             * \code
63             * //> Parsing d'un flux d'entrée de chaîne de caractÚres.
64             * StdIStringStream iss(_xmlContent);
65             * CXMLParser::ParseStream(iss);
66             * \endcode
67             */
68            static void ParseString(const std::string & _xmlContent);
69
70            /*!
71             * \brief Parse un document xml à partir d'un flux d'entrée de données.
72             * \param _stream : le flux d'entrée contenant l'arborescence xml.
73             * \see ParseString ParseFile
74             */
75            static void ParseStream(std::istream & _stream);
76
77      }; //class CXMLParser
78
79   }// namespace xml
80} // namespace xmlioserver
81
82#endif // __XML_PARSER_HPP__
83
Note: See TracBrowser for help on using the repository browser.