]> Creatis software - bbtk.git/blob - kernel/src/bbtkXML.h
*** empty log message ***
[bbtk.git] / kernel / src / bbtkXML.h
1 #ifndef __bbtkXML_h_INCLUDED__
2 #define __bbtkXML_h_INCLUDED__
3
4 #include "xmlParser.h"
5 #include <sstream>
6
7 namespace bbtk
8 {
9
10         void CleanString_0D(std::string& var)
11         {
12                 int i,size=var.length();
13                 for (i=1 ; i<size ; i++ )
14                 {
15                         if ((var[i-1]==13) && (var[i]==10) )
16                         {
17                                 var[i-1]=32;  // space
18                         } //if
19                 } // for
20         }
21
22   //====================================================================
23   inline bool GetTextOrClear(const XMLNode& node, std::string& var)
24   {
25     if (node.nText()>0) 
26       {
27         var = node.getText();
28         CleanString_0D(var);
29         return true;
30       }
31     else if (node.nClear()>0) 
32       {
33         var = node.getClear().lpszValue;
34         CleanString_0D(var);
35         return true;
36       }
37     else 
38       {
39         return false;
40       }
41   }
42   //====================================================================
43
44
45   std::string GetErrorMessage(XMLResults* res, const std::string& filename)
46   {
47     std::ostringstream str;
48     str << XMLNode::getError(res->error);
49     str << " [line " << res->nLine << ", col "<<res->nColumn<<"] ";
50     str << " file "<<filename; 
51     return str.str();
52   }
53
54 };
55
56 #endif