Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/NetCDF4_data_output.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/NetCDF4_data_output.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/NetCDF4_data_output.hpp	(revision 131)
@@ -54,6 +54,7 @@
             for ( it = saxis.begin() ; it != saxis.end(); it++ )
             {
-               string axisid = ((*it)->name.hasValue()) ? (string)(*it)->name : (*it)->getId();
-               dims[axisid]  = (*it)->size;
+               string axisid = ((*it)->name.hasValue()) ?
+                        (string)(*it)->name : (*it)->getId();
+               dims[axisid]  =  (*it)->size;
             }
 
@@ -62,5 +63,8 @@
 
          std::string getFileName(void)
-         { return ((getRelFile()->name.hasValue()) ? string(getRelFile()->name): getRelFile()->name.getId()); }
+         {
+            return ((getRelFile()->name.hasValue()) ?
+              string(getRelFile()->name): getRelFile()->name.getId());
+         }
 
          std::string getTimeStamp(void)
@@ -111,7 +115,7 @@
                hm ["title"]         = "Time";
                hm ["long_name"]     = "Time axis";
-               hm ["units"]         = string("seconds since ").append(ccal->getInitDate().toString()); //"seconds since 1979-01-01 00:00:00"
-               hm ["calendar"]      = ccal->getType(); //"360d"
-               hm ["time_origin"]   = ccal->getInitDate().toString();//" 1979-JAN-01 00:00:00" ;
+               hm ["units"]         = string("seconds since ").append(ccal->getInitDate().toString());
+               hm ["calendar"]      = ccal->getType();
+               hm ["time_origin"]   = ccal->getInitDate().toString();
                this->addStringAttributesToVar_str(oVar, hm);
                hm.clear();
@@ -263,7 +267,10 @@
             NcType tvar = ncFloat;
             NcVar *var  = NULL;
+
             Poco::HashMap<string, string> hm;
             Poco::HashMap<string, float>  hmf;
+
             bool lonlat = false, wtime = true;
+
             const std::vector<CField*>& enabledFields = getRelFile()->getEnabledFields();
             const std::set<const CDomain*> sdom = this->getRelFile()->getEnabledDomains();
@@ -280,7 +287,10 @@
                //Duration    * const  ffope = field->freq_op.getValue();
 
-               string fieldid = (field->name.hasValue()) ? (string)field->name : bfield->getId();
-               string domid   = (rdom ->name.hasValue()) ? (string)rdom ->name : rdom  ->getId();
-               string axisid  = (raxis->name.hasValue()) ? (string)raxis->name : raxis ->getId();
+               string fieldid = (field->name.hasValue()) ?
+                                 (string)field->name : bfield->getId();
+               string domid   = (rdom ->name.hasValue()) ?
+                                 (string)rdom ->name : rdom  ->getId();
+               string axisid  = (raxis->name.hasValue()) ?
+                                 (string)raxis->name : raxis ->getId();
 
                string lonid = (sdom.size() == 1)? string("lon")
@@ -305,5 +315,7 @@
                   {
                      if (!(var = dataFile->add_var(fieldid.c_str(), tvar,
-                        dataFile->get_dim(TimeName), dataFile->get_dim(latid.c_str()), dataFile->get_dim(lonid.c_str()))))
+                                 dataFile->get_dim(TimeName),
+                                 dataFile->get_dim(latid.c_str()),
+                                 dataFile->get_dim(lonid.c_str()))))
                         throw XMLIOUndefinedValueException("Impossible d'ajouter le champ "+ field->getId() +" !");
                   }
@@ -311,6 +323,8 @@
                   {
                      if (!(var = dataFile->add_var(fieldid.c_str(), tvar,
-                        dataFile->get_dim(TimeName), dataFile->get_dim(axisid.c_str()),
-                        dataFile->get_dim(latid.c_str()), dataFile->get_dim(lonid.c_str()))))
+                                 dataFile->get_dim(TimeName),
+                                 dataFile->get_dim(axisid.c_str()),
+                                 dataFile->get_dim(latid.c_str()),
+                                 dataFile->get_dim(lonid.c_str()))))
                         throw XMLIOUndefinedValueException("Impossible d'ajouter le champ "+ field->getId() +" !");
                   }
@@ -321,11 +335,14 @@
                   {
                      if (!(var = dataFile->add_var(fieldid.c_str(), tvar,
-                        dataFile->get_dim(latid.c_str()), dataFile->get_dim(lonid.c_str()))))
+                                 dataFile->get_dim(latid.c_str()),
+                                 dataFile->get_dim(lonid.c_str()))))
                         throw XMLIOUndefinedValueException("Impossible d'ajouter le champ "+ field->getId() +" !");
                   }
                   else // 3D spatio sans temps
                   {
-                     if (!(var = dataFile->add_var(fieldid.c_str(), tvar, dataFile->get_dim(axisid.c_str()),
-                        dataFile->get_dim(latid.c_str()), dataFile->get_dim(lonid.c_str()))))
+                     if (!(var = dataFile->add_var(fieldid.c_str(), tvar,
+                                 dataFile->get_dim(axisid.c_str()),
+                                 dataFile->get_dim(latid.c_str()),
+                                 dataFile->get_dim(lonid.c_str()))))
                         throw XMLIOUndefinedValueException("Impossible d'ajouter le champ "+ field->getId() +" !");
                   }
@@ -361,5 +378,6 @@
             for ( it = attr.begin() ; it != attr.end(); it++ )
                if (!var->add_att((*it).first.c_str(), (*it).second))
-                  throw XMLIOUndefinedValueException("Impossible d'ajouter l'attribut' "+ (*it).first +" Ã  la variable "+ var->name() +" !");
+                  throw XMLIOUndefinedValueException
+                     ("Impossible d'ajouter l'attribut' "+ (*it).first +" Ã  la variable "+ var->name() +" !");
          }
 
@@ -370,5 +388,6 @@
             for ( it = attr.begin() ; it != attr.end(); it++ )
                if (!var->add_att((*it).first.c_str(), (*it).second.c_str()))
-                  throw XMLIOUndefinedValueException("Impossible d'ajouter l'attribut' "+ (*it).first +" Ã  la variable "+ var->name() +" !");
+                  throw XMLIOUndefinedValueException
+                     ("Impossible d'ajouter l'attribut' "+ (*it).first +" Ã  la variable "+ var->name() +" !");
          }
 
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/abstract_calendar.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/abstract_calendar.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/abstract_calendar.hpp	(revision 131)
@@ -20,6 +20,4 @@
          }
 
-         virtual string getType(void) const { return (string(this->getId())); }
-
          const Date& getInitDate(void) const { return(initDate); }
          Date& getCurrentDate(void) { return(currentDate); }
@@ -38,4 +36,6 @@
             return (NoLeapMonthLength[d.getMonth()-1]);
          }
+
+         virtual string getType(void) const { return (string(this->getId())); }
 
          virtual int getYearTotalLength(const Date& d) const { return (365 * 86400); } // Retourne la durÃ©e d'une annÃ©e en seconde.
@@ -77,5 +77,6 @@
 
          AbstractCalendar(const string& _id,
-                          int yr = 0, int mth = 1, int d = 1, int hr = 0, int min = 0 , int sec = 0)
+                          int yr = 0, int mth = 1, int d   = 1,
+                          int hr = 0, int min = 0, int sec = 0)
             : AbstractObject(_id),
               initDate(*this, yr, mth, d, hr, min, sec), currentDate(initDate), timestep(Hour)
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.cpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.cpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.cpp	(revision 131)
@@ -1,90 +1,141 @@
-#include "xmlio.hpp"
+#include "c_interface.hpp"
 
-using namespace XMLIOSERVER;
-using namespace XMLIOSERVER::XML;
+/* ********************************************************** */
+/*                      CONVERSION FUNCTION                   */
+/* ********************************************************** */
 
-using namespace std;
+static inline std::string stringXtoStd(XString _str)
+{
+   char * const temp = new char[_str.len+1]();
+   memset(temp, '\0', _str.len+1);
+   memcpy(temp, _str.str, _str.len);
+   std::string _retstr(temp);
+   size_t d = _retstr.find_first_not_of(' ');
+   size_t f = _retstr.find_last_not_of (' ');
 
-extern "C" void main_c_(void) ;
-
-// Cette fonction remplit un tableau Ã  N dimensions de valeurs de type T (T = double ou float) de la maniÃšre suivante :
-// 0.0 1.0 2.0 3.0, puis 0.1 1.1 2.1 3.1 ... au second appel de la fonction, etc.
-template <class T>
-   static void updateDataTest(T begin, T end)
-{
-   static int called = 0; int i = 0;
-   for (T it = begin; it != end; it++, i++)
-      (*it) = i + called * 0.01;
-   called++;
+   delete[] temp;
+   return (_retstr.substr(d, f-d+1));
 }
 
-void main_c_ (void)
+static inline XString stringXtoStd(const std::string& _str)
 {
-   try
-   {
-      Array<double, 3> arr(100, 100, 20) ; // Initialisation des donnÃ©es (les arguments en fonction des dimensions).
-      string file("/local/XMLIOSERVER_DEV/dev_rv/test/iodef_simple_test.xml"); // Le fichier de dÃ©finition.
-      ifstream istr( file.c_str() , ifstream::in );
+   XString _retstr = {new char[_str.size()](), _str.size()};
+   memcpy(_retstr.str, _str.c_str(), _str.size());
+   return (_retstr);
+}
 
-      // On commence la lecture du flux de donnÃ©e xml qui doit possÃ©der pour racine un unique noeud nommÃ© "simulation".
-      XMLNode node = XMLNode::CreateNode(istr, Context::GetRootName());
+/* ********************************************************** */
+/*                      HANDLE INTERFACE                      */
+/* ********************************************************** */
 
-      // On parse le fichier xml noeud par noeud (ie on construit dynamiquement notre arbre d'objets).
+void xios_handle_create_(XHandle * _ret, const XDType * const _dtype, const XString * const _id)
+{
+   try {
+      switch(*_dtype)
+      {
+         /*ECONTEXT,
+      EAXIS, EDOMAIN, EFIELD, EFILE, EGRID,
+      GAXIS, GDOMAIN, GFIELD, GFILE, GGRID*/
+         case (ECONTEXT):
+            //if (Context::)
+            break;
+
+         default :
+            break;
+      };
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_verify_(XBool * _ret, const XHandle * const _hd)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_getType_(XDType * _ret, const XHandle * const _hd)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_isType_(XBool * _ret, const XHandle * const _hd, const XDType  * const _dtype)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_isId_(XBool * _ret, const XHandle * const _hd, const XString * const _id)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_isGroup_(XBool * _ret, const XHandle * const _hd)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+void xios_handle_isElement_(XBool * _ret, const XHandle * const _hd)
+{
+   try {
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+/* ********************************************************** */
+/*                      XML INTERFACE                         */
+/* ********************************************************** */
+
+void xios_xml_parse_file_(XString _filename)
+{
+   try {
+      std::string   __filename = stringXtoStd(_filename);
+      std::ifstream __istr( __filename.c_str() , std::ifstream::in );
+
+      // On commence la lecture du flux de donnÃ©e xml.
+      XMLNode node = XMLNode::CreateNode(__istr, Context::GetRootName());
+
+      // On parse le fichier xml noeud par noeud
+      // (ie on construit dynamiquement notre arbre d'objets).
       XMLParser::Parse(node);
 
-      // On se place dans le contexte 'context1'.
-      Context::SetCurrentContext("context1", true) ;
-
-      std::cout << " * ----------- DÃ©but du traitement ----------- * " << std::endl << std::endl;
-
-      {
-         // On crÃ©e une instance de traitement de donnÃ©es dans le format NetCDF4.
-         DataTreatment dtreat;
-         dtreat.createDataOutput<NetCDF4DataOutput>();
-
-         // RÃ©cupÃ©ration du calendrier assossiÃ© au context courant et initialisation des delais d'Ã©criture.
-         AbstractCalendar* calendar = dtreat.getCurrentContext()->getCalendar();
-         calendar->setTimeStep(1 * Hour);
-
-         // Affichage de la date initiale (pour vÃ©rification).
-         std::cout << "Calendrier associÃ© au contexte : " << *calendar << std::endl << std::endl;
-
-         for(int tcourant = 0, tfinal = 9; tcourant <= tfinal; tcourant++)
-         { /***************************** BOUCLE DE CALCUL *****************************/
-
-            // Mise Ã  jour de la date.
-            calendar->update();
-
-            // Affichage des informations temporelles sur l'itÃ©ration actuelle.
-            std::cout << "> ItÃ©ration de calcul effectuÃ©e Ã  la date t" << tcourant << " = " << calendar->getCurrentDate()
-                      << " (soit aprÃšs " << (Time)calendar->getCurrentDate() << " sec.)." << std::endl;
-
-            // Mise Ã  jour des donnÃ©es.
-            updateDataTest<Array<double, 3>::iterator>(arr.begin(), arr.end());
-
-            // Ecriture des donnÃ©es.
-            dtreat.writeData<Array<double, 3> >("champ1", arr);
-         }
-
-         // Ecriture des avertissements obtenus jusqu'Ã  prÃ©sent.
-         std::cout << std::endl; ILogger::Flush(std::cout);
-
-         /*std::cout << " * ----------- Affichage de l'arborescence ----------- * " << std::endl << std::endl;
-
-         // On Ã©crit l'arborescence rÃ©sultante du traitement sur la sortie de log.
-         Context::ShowTree(std::clog);
-         std::cout << std::endl;*/
-      }
-
-   }
-   catch(const Exception &exc)
-   {  // Pour tout type d'exceptions, on note les informations sur la sortie paramÃ©trÃ©e.
-      ERROR(exc.displayText());
-      // On retourne le code d'erreur en fin d'application pour traitements Ã©ventuels.
-      // return (exc.code());
-   }
-
-   // return (0);
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
 }
 
+void xios_xml_parse_string_(XString _xmlcontent)
+{
+   try {
+      std::string        __xmlcontent = stringXtoStd(_xmlcontent);
+      std::istringstream __istr(__xmlcontent);
 
+      // On commence la lecture du flux de donnÃ©e xml.
+      XMLNode node = XMLNode::CreateNode(__istr, Context::GetRootName());
+
+      // On parse le fichier xml noeud par noeud
+      // (ie on construit dynamiquement notre arbre d'objets).
+      XMLParser::Parse(node);
+
+   } catch(const Exception &exc)
+   { ERROR(exc.displayText()); }
+}
+
+/* ********************************************************** */
+/*                      MAIN ENTRY                            */
+/* ********************************************************** */
+
+void main_c_(void) // vouÃ© Ã  disparaÃ®tre
+{ /* Ne rien faire de plus */ }
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.hpp	(revision 131)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.hpp	(revision 131)
@@ -0,0 +1,83 @@
+#ifndef __C_INTERFACE__
+#define __C_INTERFACE__
+
+#include "xmlio.hpp"
+
+using namespace XMLIOSERVER;
+using namespace XMLIOSERVER::XML;
+
+#ifdef __cplusplus
+extern"C"
+{
+#endif //__cplusplus
+
+   typedef long int XInt; //integer
+   typedef bool XBool;    //logical
+
+   typedef enum _datatype
+   {
+      DTREATMENT, DATE, CALENDAR, ECONTEXT,
+      EAXIS, EDOMAIN, EFIELD, EFILE, EGRID,
+      GAXIS, GDOMAIN, GFIELD, GFILE, GGRID
+   } XDType;
+
+   typedef enum _filetype
+   {
+      NETCDF4
+   } XFileType;
+
+   typedef struct _ptr    // Pointeur C non-typÃ©.
+   { void * ptr; } XPtr;
+
+   typedef struct _handle // RÃ©fÃ©rence C Ã  une objet de la bibliothÃšque.
+   { XDType data_type; XPtr data_ptr; } XHandle;
+
+   typedef struct _string // ChaÃ®ne de caractÃšres.
+   { char * str; int len;  } XString;
+
+   typedef struct _ymdhms // DurÃ©e et date.
+   { int year, month, day, hour, minute, second; } XDate, XDuration;
+
+   /* ******************** HANDLE INTERFACE ******************** */
+   void xios_handle_create_ (XHandle * _ret, const XDType  * const _dtype, const XString * const _id);
+   void xios_handle_verify_ (XBool   * _ret, const XHandle * const _hd);
+   void xios_handle_getType_(XDType  * _ret, const XHandle * const _hd);
+
+   void xios_handle_isType_   (XBool * _ret, const XHandle * const _hd, const XDType  * const _dtype);
+   void xios_handle_isId_    (XBool * _ret, const XHandle * const _hd, const XString * const _id);
+   void xios_handle_isGroup_  (XBool * _ret, const XHandle * const _hd);
+   void xios_handle_isElement_(XBool * _ret, const XHandle * const _hd);
+
+   /* ******************** XML INTERFACE *********************** */
+   void xios_xml_parse_file_  (XString _filename);
+   void xios_xml_parse_string_(XString _xmlcontent);
+
+   /* ******************** DATA TREATMENT INTERFACE ************ */
+   void xios_dtreatment_new(XHandle * _dt, const XHandle * const _hd);
+   void xios_dtreatment_createFilesAndHeaders(const XHandle * const _hd);
+
+   /* ******************** CALENDAR INTERFACE ****************** */
+
+   void xios_date_new_(XHandle * _dte, const XDate * const _xdate);
+   void xios_calendar_setTimeStep_(XHandle * _cal, const XDuration * const _dur);
+
+   /* ******************** CONTEXT INTERFACE ******************* */
+   void xios_context_SetCurrent_(const XHandle * const _ctxt);
+   void xios_context_GetCurrent_(XHandle * _ctxt);
+   void xios_context_ShowTree_  (void);
+
+   void xios_context_getCalendar_(const XHandle * const _ctxt, XHandle* _cal);
+
+   /* ******************** AXIS INTERFACE ********************** */
+   /* ******************** DOMAIN INTERFACE ******************** */
+   /* ******************** FIELD INTERFACE ********************* */
+   /* ******************** FILE INTERFACE ********************** */
+   /* ******************** GRID INTERFACE ********************** */
+   /* ******************** GROUP INTERFACE ********************* */
+
+#ifdef __cplusplus
+}
+#endif //__cplusplus
+
+
+#endif //__C_INTERFACE__
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/calendar.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/calendar.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/calendar.hpp	(revision 131)
@@ -8,8 +8,11 @@
       public :
 
-         JulianCalendar() : AbstractCalendar("Julian")
-         {/* Ne rien faire de plus */}
-         JulianCalendar(const string& _dateStr) : AbstractCalendar("Julian", _dateStr)
-         {/* Ne rien faire de plus */}
+         JulianCalendar(void)
+            : AbstractCalendar("Julian")
+         { /* Ne rien faire de plus */ }
+
+         JulianCalendar(const string& _dateStr)
+            : AbstractCalendar("Julian", _dateStr)
+         { /* Ne rien faire de plus */ }
 
       public : /* virtual */
@@ -17,5 +20,6 @@
          virtual int getYearTotalLength(const Date& _d) const
          { // Retourne la durÃ©e d'une annÃ©e en seconde.
-            if (_d.getYear()%4 == 0) return (366 * 86400);
+            if (_d.getYear()%4 == 0)
+               return (366 * 86400);
             return (365 * 86400);
          }
@@ -24,5 +28,9 @@
          { // Retourne la durÃ©e du mois en jour.
             if (_d.getMonth() == 2)
-            { if (_d.getYear()%4 == 0) return 29; return 28; }
+            {
+               if (_d.getYear()%4 == 0)
+                  return 29;
+               return 28;
+            }
             return (AbstractCalendar::getMonthLength(_d));
          }
@@ -30,5 +38,5 @@
          virtual string getType(void) const { return (string("julian")); }
 
-         virtual ~JulianCalendar()
+         virtual ~JulianCalendar(void)
          {/* Ne rien faire de plus */}
 
@@ -39,7 +47,10 @@
       public :
 
-         GregorianCalendar() : AbstractCalendar("Gregorian")
+         GregorianCalendar(void)
+            : AbstractCalendar("Gregorian")
          {/* Ne rien faire de plus */}
-         GregorianCalendar(const string& dateStr) : AbstractCalendar("Gregorian", dateStr)
+
+         GregorianCalendar(const string& dateStr)
+            : AbstractCalendar("Gregorian", dateStr)
          {/* Ne rien faire de plus */}
 
@@ -67,5 +78,5 @@
          virtual string getType(void) const { return (string("gregorian")); }
 
-         virtual ~GregorianCalendar()
+         virtual ~GregorianCalendar(void)
          {/* Ne rien faire de plus */}
 
@@ -76,12 +87,18 @@
       public :
 
-         NoLeapCalendar() : AbstractCalendar("NoLeap")
-         {/* Ne rien faire de plus */}
-         NoLeapCalendar(const string& dateStr) : AbstractCalendar("NoLeap", dateStr)
+         NoLeapCalendar(void)
+            : AbstractCalendar("NoLeap")
          {/* Ne rien faire de plus */}
 
-         virtual string getType(void) const { return (string("noleap")); }
+         NoLeapCalendar(const string& dateStr)
+            : AbstractCalendar("NoLeap", dateStr)
+         {/* Ne rien faire de plus */}
 
-         virtual ~NoLeapCalendar()
+      public : /* virtual */
+
+         virtual string getType(void) const
+         { return (string("noleap")); }
+
+         virtual ~NoLeapCalendar(void)
          {/* Ne rien faire de plus */}
 
@@ -92,7 +109,10 @@
       public :
 
-         AllLeapCalendar() : AbstractCalendar("AllLeap")
+         AllLeapCalendar(void)
+            : AbstractCalendar("AllLeap")
          {/* Ne rien faire de plus */}
-         AllLeapCalendar(const string& dateStr) : AbstractCalendar("AllLeap", dateStr)
+
+         AllLeapCalendar(const string& dateStr)
+            : AbstractCalendar("AllLeap", dateStr)
          {/* Ne rien faire de plus */}
 
@@ -100,11 +120,17 @@
 
          virtual int getMonthLength(const Date& d) const
-         { if (d.getMonth() == 2) return (29); return (AbstractCalendar::getMonthLength(d)); }
+         {
+            if (d.getMonth() == 2)
+               return (29);
+            return (AbstractCalendar::getMonthLength(d));
+         }
 
-         virtual int getYearTotalLength(const Date& d) const { return (366 * 86400); }
+         virtual int getYearTotalLength(const Date& d) const
+         { return (366 * 86400); }
 
-         virtual string getType(void) const { return (string("allleap")); }
+         virtual string getType(void) const
+         { return (string("allleap")); }
 
-         virtual ~AllLeapCalendar()
+         virtual ~AllLeapCalendar(void)
          {/* Ne rien faire de plus */}
 
@@ -115,17 +141,24 @@
       public :
 
-         D360Calendar() : AbstractCalendar("D360")
+         D360Calendar(void)
+            : AbstractCalendar("D360")
          {/* Ne rien faire de plus */}
-         D360Calendar(const string& dateStr) : AbstractCalendar("D360", dateStr)
+
+         D360Calendar(const string& dateStr)
+            : AbstractCalendar("D360", dateStr)
          {/* Ne rien faire de plus */}
 
       public : /* virtual */
 
-         virtual int getYearTotalLength(const Date& d) const { return (360 * 86400); }
-         virtual int getMonthLength(const Date& d) const { return (30); }
+         virtual int getYearTotalLength(const Date& d) const
+         { return (360 * 86400); }
 
-         virtual string getType(void) const { return (string("360d")); }
+         virtual int getMonthLength(const Date& d) const
+         { return (30); }
 
-         virtual ~D360Calendar()
+         virtual string getType(void) const
+         { return (string("360d")); }
+
+         virtual ~D360Calendar(void)
          {/* Ne rien faire de plus */}
 
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/container.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/container.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/container.hpp	(revision 131)
@@ -16,24 +16,34 @@
       public :
 
-         Mapped* operator[] (const Key& kval) throw (XMLIOUndefinedValueException)
+         Mapped* operator[] (const Key& kval)
+                     throw (XMLIOUndefinedValueException)
          {
             if(!hasMappedValue(kval))
-               throw XMLIOSERVER::XMLIOUndefinedValueException("Appel de la mÃ©thode ExHashMap::operator["+kval+"] invalide.");
+               throw XMLIOSERVER::XMLIOUndefinedValueException
+                  ("Appel de la mÃ©thode ExHashMap::operator["+kval+"] invalide.");
             return (find(kval)->second);
          }
 
-         bool hasMappedValue(const Key& kval) const {return (find(kval) != this->end());}
+         bool hasMappedValue(const Key& kval) const
+         { return (find(kval) != this->end()); }
 
-         const vector<Mapped*>& getVector(void) const { return (this->_elemList); }
+         const vector<Mapped*>& getVector(void) const
+         { return (this->_elemList); }
 
-         size_t getVectorSize(void) const {return (this->_elemList.size());}
-         size_t getSize(void) const {return (this->size());}
+         size_t getVectorSize(void) const
+         { return (this->_elemList.size()); }
 
-         virtual ~ExHashMap()
+         size_t getSize(void) const
+         { return (this->size()); }
+
+      public : /* virtual */
+
+         virtual ~ExHashMap(void)
          {/* Ne rien faire de plus */}
 
       protected :
 
-         ExHashMap() :  Poco::HashMap<Key, Mapped*, Poco::Hash<Key> >(), _elemList()
+         ExHashMap(void)
+            :  Poco::HashMap<Key, Mapped*, Poco::Hash<Key> >(), _elemList()
          {/* Ne rien faire de plus */}
 
@@ -46,9 +56,15 @@
 
          bool addValue(Mapped* const element)
-         {   this->_elemList.insert(this->_elemList.end(), element);   return (true);   }
-
+         {
+            this->_elemList.insert(this->_elemList.end(), element);
+            return (true);
+         }
 
          void removeValue(const Key& kval) // Non testÃ©
-         { Mapped* element = find(kval)->second; removeValue(element); this->erase(kval); }
+         {
+            Mapped* element = find(kval)->second;
+            this->removeValue(element);
+            this->erase(kval);
+         }
 
          void removeValue(const Mapped* element) // Non testÃ©
@@ -62,5 +78,6 @@
 
       private :
-         vector<Mapped*> _elemList;
+
+         std::vector<Mapped*> _elemList;
 
    }; // class ExHashMap
@@ -74,9 +91,14 @@
       public :
 
-         StrHashMap() :  ExHashMap<string, Mapped, Poco::Hash<string> >()
+         StrHashMap(void)
+            :  ExHashMap<string, Mapped, Poco::Hash<string> >()
          {/* Ne rien faire de plus */}
 
          bool addObject(Mapped* element)
-         { if(element->hasId()) return(addValue(element->getId(), element)); return(addValue(element)); }
+         {
+            if(element->hasId())
+               return(addValue(element->getId(), element));
+            return(addValue(element));
+         }
 
          bool removeObject(const string& kval)
@@ -86,5 +108,7 @@
          }
 
-         virtual ~StrHashMap()
+      public : /* virtual */
+
+         virtual ~StrHashMap(void)
          {/* Ne rien faire de plus */}
 
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/context.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/context.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/context.hpp	(revision 131)
@@ -9,19 +9,22 @@
       public:
 
-         Context(void) : ObjectTemplate<Context>(), ccalendar(NULL),
-            fieldDef(NULL), fileDef(NULL), axisDef(NULL), gridDef(NULL), domainDef(NULL)
+         Context(void)
+            : ObjectTemplate<Context>(), ccalendar(NULL),
+              fieldDef(NULL), fileDef(NULL), axisDef(NULL), gridDef(NULL), domainDef(NULL)
          {/* Ne rien faire de plus */}
 
-         Context(const string& _id) : ObjectTemplate<Context>(_id), ccalendar(NULL),
-            fieldDef(NULL), fileDef(NULL), axisDef(NULL), gridDef(NULL), domainDef(NULL)
+         Context(const string& _id)
+            : ObjectTemplate<Context>(_id), ccalendar(NULL),
+              fieldDef(NULL), fileDef(NULL), axisDef(NULL), gridDef(NULL), domainDef(NULL)
          {/* Ne rien faire de plus */}
 
-         FieldDefinition  * getFieldDefinition(void)  const { return (this->fieldDef ); }
-         FileDefinition   * getFileDefinition(void)   const { return (this->fileDef  ); }
-         AxisDefinition   * getAxisDefinition(void)   const { return (this->axisDef  ); }
-         GridDefinition   * getGridDefinition(void)   const { return (this->gridDef  ); }
+         FieldDefinition  * getFieldDefinition (void) const { return (this->fieldDef ); }
+         FileDefinition   * getFileDefinition  (void) const { return (this->fileDef  ); }
+         AxisDefinition   * getAxisDefinition  (void) const { return (this->axisDef  ); }
+         GridDefinition   * getGridDefinition  (void) const { return (this->gridDef  ); }
          DomainDefinition * getDomainDefinition(void) const { return (this->domainDef); }
 
          AbstractCalendar * getCalendar(void) const { return (this->ccalendar ); }
+
          AbstractCalendar * setCalendar(const string& _calName, const string& _dateStr)
          {
@@ -42,5 +45,5 @@
          }
 
-         ~Context()
+         ~Context(void)
          {
             // DÃ©sallocation dynamique de mÃ©moire pour chacun des groupes de dÃ©finition si nÃ©cessaire.
@@ -76,18 +79,28 @@
                   { WARNING("Le noeud de dÃ©finition possÃšde un identifiant, ce dernier ne sera pas pris en compte lors du traitement !"); }
 
-                  if (name.compare(FieldDefinition::GetDefName())  == 0) // Parsing pour la dÃ©finition des champs.
-                  { fieldDef  = CreateInstanceAndParse<FieldDefinition >(_node, FieldDefinition::GetDefName().c_str()); continue; }
-
-                  if (name.compare(FileDefinition::GetDefName())  == 0) // Parsing pour la dÃ©finition des fichiers.
-                  { fileDef   = CreateInstanceAndParse<FileDefinition  >(_node, FileDefinition  ::GetDefName().c_str()); continue; }
-
-                  if (name.compare(AxisDefinition::GetDefName())  == 0) // Parsing pour la dÃ©finition des axes.
-                  { axisDef   = CreateInstanceAndParse<AxisDefinition  >(_node, AxisDefinition  ::GetDefName().c_str()); continue; }
-
-                  if (name.compare(GridDefinition::GetDefName())  == 0) // Parsing pour la dÃ©finition des grilles.
-                  { gridDef   = CreateInstanceAndParse<GridDefinition  >(_node, GridDefinition  ::GetDefName().c_str()); continue; }
-
-                  if (name.compare(DomainDefinition::GetDefName()) == 0) // Parsing pour la dÃ©finition des domaines.
-                  { domainDef = CreateInstanceAndParse<DomainDefinition>(_node, DomainDefinition::GetDefName().c_str()); continue; }
+                  if (name.compare(FieldDefinition::GetDefName())  == 0)
+                  // Parsing pour la dÃ©finition des champs.
+                  { fieldDef  = CreateInstanceAndParse<FieldDefinition >
+                                 (_node, FieldDefinition::GetDefName().c_str()); continue; }
+
+                  if (name.compare(FileDefinition::GetDefName())  == 0)
+                  // Parsing pour la dÃ©finition des fichiers.
+                  { fileDef   = CreateInstanceAndParse<FileDefinition  >
+                                 (_node, FileDefinition  ::GetDefName().c_str()); continue; }
+
+                  if (name.compare(AxisDefinition::GetDefName())  == 0)
+                  // Parsing pour la dÃ©finition des axes.
+                  { axisDef   = CreateInstanceAndParse<AxisDefinition  >
+                                 (_node, AxisDefinition  ::GetDefName().c_str()); continue; }
+
+                  if (name.compare(GridDefinition::GetDefName())  == 0)
+                  // Parsing pour la dÃ©finition des grilles.
+                  { gridDef   = CreateInstanceAndParse<GridDefinition  >
+                                 (_node, GridDefinition  ::GetDefName().c_str()); continue; }
+
+                  if (name.compare(DomainDefinition::GetDefName()) == 0)
+                  // Parsing pour la dÃ©finition des domaines.
+                  { domainDef = CreateInstanceAndParse<DomainDefinition>
+                                 (_node, DomainDefinition::GetDefName().c_str()); continue; }
 
                   WARNING("La dÃ©finition est invalide, seuls les champs, grilles, axes et fichiers peuvent Ãªtre dÃ©finis !");
@@ -134,5 +147,7 @@
 
             Poco::HashMap<string, StrHashMap<Context> > &AllListContext = Context::GetAllListObject();
-            for (Poco::HashMap<string, StrHashMap<Context> >::Iterator it = AllListContext.begin(); it != AllListContext.end(); it++)
+            Poco::HashMap<string, StrHashMap<Context> >::Iterator it;
+
+            for (it = AllListContext.begin(); it != AllListContext.end(); it++)
                // On sort chacun des contextes successivement.
             {
@@ -149,5 +164,7 @@
          {
             Poco::HashMap<string, StrHashMap<Context> > &AllListContext = Context::GetAllListObject();
-            for (Poco::HashMap<string, StrHashMap<Context> >::Iterator it = AllListContext.begin(); it != AllListContext.end(); it++)
+            Poco::HashMap<string, StrHashMap<Context> >::Iterator it;
+
+            for (it = AllListContext.begin(); it != AllListContext.end(); it++)
             { Context::SetCurrentContext((*it).first); delete ((*it).second)[(*it).first]; }
          }
@@ -157,5 +174,7 @@
          {
             Poco::HashMap<string, StrHashMap<Context> > &AllListContext = Context::GetAllListObject();
-            for (Poco::HashMap<string, StrHashMap<Context> >::Iterator it = AllListContext.begin(); it != AllListContext.end(); it++)
+            Poco::HashMap<string, StrHashMap<Context> >::Iterator it;
+
+            for ( it = AllListContext.begin(); it != AllListContext.end(); it++)
             {
                // RÃ©solution des hÃ©ritages descendants (cÃ d des hÃ©ritages de groupes) pour chacun des contextes.
@@ -164,6 +183,9 @@
 
                // RÃ©solution des hÃ©ritages par rÃ©fÃ©rence au niveau des fichiers.
-               const std::vector<CFile*>& allFiles = CFile::GetCurrentListObject().getVector();
-               for (unsigned int i = 0; i < allFiles.size(); i++) allFiles[i]->solveFieldRefInheritance();
+               const std::vector<CFile*>& allFiles =
+                                 CFile::GetCurrentListObject().getVector();
+
+               for (unsigned int i = 0; i < allFiles.size(); i++)
+                  allFiles[i]->solveFieldRefInheritance();
             }
          }
@@ -180,4 +202,7 @@
          }
 
+         static const std::stack<string>& GetStackContextId(void)
+         { return (Context::Stid); }
+
          static Context* GetCurrentContext(void)
          { return (Context::GetObject(Context::GetCurrentContextId())); }
@@ -208,5 +233,5 @@
       private:
 
-         static stack<string> Stid;
+         static std::stack<string> Stid;
 
          AbstractCalendar * ccalendar;
@@ -220,5 +245,5 @@
    }; //class Context
 
-   stack<string> Context::Stid;
+   std::stack<string> Context::Stid;
 
 }// namespace XMLIOSERVER
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/data_treatment.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/data_treatment.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/data_treatment.hpp	(revision 131)
@@ -8,5 +8,5 @@
       public :
 
-         DataTreatment(Context* const _ctxt       = Context::GetCurrentContext(),
+         DataTreatment(Context* const _ctxt       =  Context::GetCurrentContext(),
                       const AbstractCalendar& cal = *Context::GetCurrentContext()->getCalendar())
             : enabledFiles(), currentContext(_ctxt)
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/date.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/date.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/date.hpp	(revision 131)
@@ -9,5 +9,6 @@
 
          Date(const AbstractCalendar& cal,
-              int yr = 0, int mth = 1, int d = 1, int hr = 0, int min = 0 , int sec = 0)
+              int yr = 0, int mth = 1, int d   = 1,
+              int hr = 0, int min = 0, int sec = 0)
                   : relCalendar(cal)
                   , year(yr), month(mth), day(d), hour(hr), minute(min), second(sec)
@@ -17,6 +18,8 @@
          }
 
-         Date(const Date& d) : relCalendar(d.getRelCalendar())
-            , year(d.year), month(d.month), day(d.day), hour(d.hour), minute(d.minute), second(d.second)
+         Date(const Date& d)
+            : relCalendar(d.getRelCalendar()),
+              year(d.year), month(d.month)  , day(d.day),
+              hour(d.hour), minute(d.minute), second(d.second)
          {
             if(!this->checkDate())
@@ -27,11 +30,11 @@
          {
             // relCalendar = d.getRelCalendar(); << inutile si fonction bien utilisÃ©e
-            year = d.year; month = d.month; day = d.day;
+            year = d.year; month  = d.month ; day    = d.day;
             hour = d.hour; minute = d.minute; second = d.second;
             return (*this);
          }
 
-         operator Time(void);  // Retourne le nombre de secondes Ã©coulÃ©es depuis la date initiale dÃ©finie dans le calendrier.
-         bool checkDate(void); // VÃ©rifie la validitÃ© de la date.
+         inline operator Time(void);  // Retourne le nombre de secondes Ã©coulÃ©es depuis la date initiale dÃ©finie dans le calendrier.
+         inline bool checkDate(void); // VÃ©rifie la validitÃ© de la date.
 
          std::string toString(void) const
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/declare_attribut.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/declare_attribut.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/declare_attribut.hpp	(revision 131)
@@ -11,5 +11,5 @@
       public:                                         \
                                                       \
-         virtual string       getName(void) const { return (#att_name) ;}           \
+         virtual std::string  getName(void) const { return (#att_name) ;}           \
          virtual const char * getType(void) const { return (#att_type) ;}           \
                                                                                     \
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/duration.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/duration.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/duration.hpp	(revision 131)
@@ -70,6 +70,6 @@
          bool isNone(void) const
          {
-            if ((year==0) && (month ==0) && (day   ==0) &&
-                (hour==0) && (minute==0) && (second==0))
+            if ((year == 0) && (month  == 0) && (day    == 0) &&
+                (hour == 0) && (minute == 0) && (second == 0))
                return (true);
             return (false);
@@ -81,5 +81,6 @@
          {
             const struct _duration& own = *this;
-            std::ostringstream oss; oss << own; return (oss.str());
+            std::ostringstream oss; oss << own;
+            return (oss.str());
          }
 
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/exception.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/exception.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/exception.hpp	(revision 131)
@@ -14,15 +14,22 @@
       public :
 
-         XMLIOException(int _code): Exception(_code)
-         { /* Ne rien faire de plus */ }
-         XMLIOException(const std::string& _msg, int _code): Exception(_msg, _code)
-         { /* Ne rien faire de plus */ }
-         XMLIOException(const std::string& _msg, const std::string& _arg, int _code): Exception(_msg, _arg, _code)
-         { /* Ne rien faire de plus */ }
-         XMLIOException(const std::string& _msg, const Poco::Exception& _exc, int _code): Exception(_msg, _exc, _code)
+         XMLIOException(int _code)
+            : Exception(_code)
          { /* Ne rien faire de plus */ }
 
+         XMLIOException(const std::string& _msg, int _code)
+            : Exception(_msg, _code)
+         { /* Ne rien faire de plus */ }
 
-         XMLIOException(const XMLIOException& _exc): Exception(_exc)
+         XMLIOException(const std::string& _msg, const std::string& _arg, int _code)
+            : Exception(_msg, _arg, _code)
+         { /* Ne rien faire de plus */ }
+
+         XMLIOException(const std::string& _msg, const Poco::Exception& _exc, int _code)
+            : Exception(_msg, _exc, _code)
+         { /* Ne rien faire de plus */ }
+
+         XMLIOException(const XMLIOException& _exc)
+            : Exception(_exc)
          { /* Ne rien faire de plus */ }
 
@@ -44,6 +51,10 @@
    {
       public :
-         XMLIOUndefinedValueException(const std::string& _msg): XMLIOException(_msg, 1001) {}
-         const char* name(void) const throw() { return ("XMLIO>UndefinedValueException"); }
+         XMLIOUndefinedValueException(const std::string& _msg)
+            : XMLIOException(_msg, 1001)
+         { /* Ne rien faire de plus */ }
+
+         const char* name(void) const throw()
+         { return ("XMLIO>UndefinedValueException"); }
 
    }; //class XMLIOUndefinedException
@@ -52,6 +63,10 @@
    {
       public :
-         XMLIOStreamException(const std::string& _msg): XMLIOException(_msg, 1002) {}
-         const char* name(void) const throw() { return ("XMLIO>StreamException"); }
+         XMLIOStreamException(const std::string& _msg)
+            : XMLIOException(_msg, 1002)
+         { /* Ne rien faire de plus */ }
+
+         const char* name(void) const throw()
+         { return ("XMLIO>StreamException"); }
 
    }; //class XMLIOStreamException
@@ -60,6 +75,10 @@
    {
       public :
-         XMLParsingException(const std::string& _msg): XMLIOException(_msg, 1003) {}
-         const char* name(void) const throw() { return ("XMLIO>XMLParsingException"); }
+         XMLParsingException(const std::string& _msg)
+            : XMLIOException(_msg, 1003)
+         { /* Ne rien faire de plus */ }
+
+         const char* name(void) const throw()
+         { return ("XMLIO>XMLParsingException"); }
 
    }; //class XMLParsingException
@@ -68,6 +87,10 @@
    {
       public :
-         XMLIOIncompatibleTypeException(const std::string& _msg): XMLIOException(_msg, 1003) {}
-         const char* name(void) const throw() { return ("XMLIO>XMLIOIncompatibeTypeException"); }
+         XMLIOIncompatibleTypeException(const std::string& _msg)
+            : XMLIOException(_msg, 1003)
+         { /* Ne rien faire de plus */ }
+
+         const char* name(void) const throw()
+         { return ("XMLIO>XMLIOIncompatibeTypeException"); }
 
    }; //class XMLIOIncompatibleTypeException
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/field.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/field.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/field.hpp	(revision 131)
@@ -14,16 +14,26 @@
       public:
 
-         CField(void) : ObjectTemplate<CField>(), FieldAttribut(), lastStored(NULL), grid(NULL), file(NULL)
-         {/* Ne rien faire de plus */}
-         CField(const string& _id) : ObjectTemplate<CField>(_id), FieldAttribut(), lastStored(NULL), grid(NULL), file(NULL)
-         {/* Ne rien faire de plus */}
+         CField(void)
+            : ObjectTemplate<CField>(), FieldAttribut(),
+              lastStored(NULL), grid(NULL), file(NULL)
+         { /* Ne rien faire de plus */ }
+
+         CField(const string& _id)
+            : ObjectTemplate<CField>(_id), FieldAttribut(),
+              lastStored(NULL), grid(NULL), file(NULL)
+         { /* Ne rien faire de plus */ }
 
          inline void solveGridRef(void) ;
 
-         const CGrid* getGrid(void) const { return (grid); }
+         const CGrid* getGrid   (void) const { return (grid); }
+         const CFile* getRelFile(void) const { return (file); }
          const Array<double, 1>& getData(void) const { return (data); }
+         void setRelFile(CFile* const _file) { file = _file; }
 
          void initLastStoredDate(const Date& _newlastStored)
-         { if(lastStored == NULL) lastStored = new Date(_newlastStored); };
+         {
+            if(lastStored == NULL)
+               lastStored = new Date(_newlastStored);
+         };
 
          bool isStorable(const Date& currDate)
@@ -44,6 +54,6 @@
          void solveOperation(void)
          {
-            FieldOperation*   fope = this->operation.getValue();
-            Duration      *  ffope = this->freq_op.getValue();
+            FieldOperation* const  fope = this->operation.getValue();
+            Duration      * const ffope = this->freq_op.getValue();
 
             if (fope != NULL)
@@ -58,14 +68,8 @@
             }
 
-            // Si la frÃ©quence d'opÃ©ration n'est pas dÃ©finie, on l'initialise Ã  0s.
-            // Une frÃ©quence Ã  0s signifie que l'opÃ©ration se fera Ã  chaque Ã©criture de donnÃ©es depuis la simulation.
             if (ffope == NULL)
                this->freq_op.setValue(NoneDu);
-
             this->operation.getValue()->setFreqOp(this->freq_op);
          }
-
-         const CFile* getRelFile(void) const { return (file); }
-         void setRelFile(CFile* _file) { file = _file; }
 
       public: /* virtual */
@@ -85,15 +89,13 @@
       public: /* static */
 
-         static string GetName(void) { return ("field"); }
-         static string GetDefName(void)  { return (CField::GetName()); }
+         static string GetName   (void) { return ("field"); }
+         static string GetDefName(void) { return (CField::GetName()); }
 
       private :
 
          Date* lastStored;
-
          CGrid* grid ;
          CFile* file;
-
-         Array<double, 1>  data;
+         Array<double, 1> data;
 
    }; // class CField
@@ -110,5 +112,6 @@
    {
       if (!_ori->hasId())
-         throw (new XMLIOUndefinedValueException("Impossible de crÃ©er une rÃ©fÃ©rence Ã  un Ã©lÃ©ment sans identifiant !"));
+         throw (new XMLIOUndefinedValueException
+            ("Impossible de crÃ©er une rÃ©fÃ©rence Ã  un Ã©lÃ©ment sans identifiant !"));
 
       CField& obj = *ObjectTemplate<CField>::CreateObject();
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/main.f90
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/main.f90	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/main.f90	(revision 131)
@@ -1,6 +1,29 @@
-PROGRAM main
+! --------------------------------------------------- !
+! ------------- XMLIO SERVER MAIN TEST  ------------- !
+! --------------------------------------------------- !
+
+MODULE XML
+   INTERFACE
+
+      SUBROUTINE xios_xml_Parse_File(filename)
+         CHARACTER*(*), INTENT(IN) :: filename
+      END SUBROUTINE xios_xml_Parse_File
+
+      SUBROUTINE xios_xml_Parse_String(xmlcontent)
+         CHARACTER*(*), INTENT(IN) :: xmlcontent
+      END SUBROUTINE xios_xml_Parse_String
+
+   END INTERFACE
+END MODULE XML
+
+PROGRAM MAIN
+   USE XML
    IMPLICIT NONE
 
-   CALL main_c
+   CHARACTER(LEN = 100):: filename
 
-END PROGRAM main
+   filename = "/local/XMLIOSERVER_DEV/dev_rv/test/iodef_simple_test.xml"
+
+   CALL xios_xml_Parse_File(filename)
+
+END PROGRAM MAIN
Index: /XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio.hpp
===================================================================
--- /XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio.hpp	(revision 130)
+++ /XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio.hpp	(revision 131)
@@ -5,4 +5,5 @@
 #include <utility>
 #include <string>
+#include <cstring>
 #include <cmath>
 
