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 <map> 00020 00021 // rapidXML headers 00022 #include <rapidxml.hpp> 00023 00024 #endif // __XIOS_NO_EXTERN 00025 00026 // XMLIOServer headers 00027 #include "xmlioserver_spl.hpp" 00028 00029 // ////////////////////////////// Déclarations ///////////////////////////// // 00030 00031 namespace xmlioserver 00032 { 00033 namespace xml 00034 { 00039 class CXMLNode 00040 { 00041 public : // Constructeur publique 00042 00057 CXMLNode(rapidxml::xml_node<char> * const _root); 00058 00059 public :// Destructeur 00060 00062 ~CXMLNode(void); 00063 00064 public : // Accesseurs 00065 00079 std::string getElementName(void) const; 00080 00097 std::map <std::string, std::string> getAttributes(void) const; 00098 00099 public : // Mutateurs 00100 00107 bool goToNextElement(void); 00108 00115 bool goToChildElement(void); 00116 00123 bool goToParentElement(void); 00124 00125 public : // Accesseurs statiques 00126 00132 static const std::string & GetRootName(void); 00133 00134 protected : // Constructeurs protégés 00135 00137 CXMLNode(void); // NIY 00138 00143 CXMLNode(const CXMLNode & _node); // NIY 00144 00149 CXMLNode(const CXMLNode * const _node_ptr); // NIY 00150 00151 private : // Propriété privée 00152 00154 rapidxml::xml_node<char> * node; 00155 00156 private : // Propriété statique privée 00157 00159 static std::string RootName; 00160 00161 }; //class CXMLParser 00162 00163 }// namespace xml 00164 } // namespace xmlioserver 00165 00166 #endif // __XML_NODE_HPP__ 00167