XMLIOSERVER 0.4
Serveur d'Entrées/Sorties parallèles
|
00001 /* ************************************************************************** * 00002 * Copyright © IPSL/LSCE, XMLIOServer, Avril 2010 - Octobre 2011 * 00003 * ************************************************************************** */ 00004 00005 #ifndef __XML_NODE_HPP__ 00006 #define __XML_NODE_HPP__ 00007 00016 #ifndef __XIOS_NO_EXTERN 00017 00018 // C++ standard headers 00019 #include <string> 00020 #include <iostream> 00021 #include <map> 00022 00023 // rapidXML headers 00024 #include <rapidxml.hpp> 00025 00026 #endif // __XIOS_NO_EXTERN 00027 00028 // XMLIOServer headers 00029 #include "xmlioserver_spl.hpp" 00030 00031 // ////////////////////////////// Déclarations ///////////////////////////// // 00032 00033 namespace xmlioserver 00034 { 00035 namespace xml 00036 { 00041 class CXMLNode 00042 { 00043 public : // Constructeur publique 00044 00059 CXMLNode(rapidxml::xml_node<char> * const _root); 00060 00061 public :// Destructeur 00062 00064 ~CXMLNode(void); 00065 00066 public : // Accesseurs 00067 00081 std::string getElementName(void) const; 00082 00099 std::map <std::string, std::string> getAttributes(void) const; 00100 00101 public : // Mutateurs 00102 00109 bool goToNextElement(void); 00110 00117 bool goToChildElement(void); 00118 00125 bool goToParentElement(void); 00126 00127 public : // Accesseurs statiques 00128 00134 static const std::string & GetRootName(void); 00135 00136 protected : // Constructeurs protégés 00137 00139 CXMLNode(void); // NIY 00140 00145 CXMLNode(const CXMLNode & _node); // NIY 00146 00151 CXMLNode(const CXMLNode * const _node_ptr); // NIY 00152 00153 private : // Propriété privée 00154 00156 rapidxml::xml_node<char> * node; 00157 00158 private : // Propriété statique privée 00159 00161 static std::string RootName; 00162 00163 }; //class CXMLParser 00164 00165 }// namespace xml 00166 } // namespace xmlioserver 00167 00168 #endif // __XML_NODE_HPP__ 00169