1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_xml_Data_hpp
10 #define anna_xml_Data_hpp
22 Dato generico de nodo XML.
24 Cada nodo XML puede tener una serie indeterminada de dato XMLs. Por ejemplo:
28 <INetAddress Address="204.152.65.15" Port="2000"/>
29 <INetAddress Address="204.152.65.47" Port="2002"/>
36 Cada uno de los nodos \em INetAddress tiene dos dato XMLs (\em Address y \em Port).
41 Devuelve el valor asociado a este dato XML.
42 \return El valor asociado a este dato XML.
44 const std::string& getValue() const throw() { return a_value; }
47 Devuelve el valor asociado a este dato XML.
48 \return El valor asociado a este dato XML.
50 const char* getCStringValue() const throw() { return a_value.c_str(); }
53 Devuelve el valor numerico asociado a este dato XML.
54 \return El valor numerico asociado a este dato XML.
56 int getIntegerValue() const throw() { return atoi(a_value.c_str()); }
59 * Establece el valor de éste dato XML.
60 * \param value Valor que tomará éste dato XML.
62 void setValue(const char* value) throw() { a_value = (value != NULL) ? value : ""; filter(a_value); }
65 * Establece el valor de éste dato XML.
66 * \param value Valor que tomará éste dato XML.
68 void setValue(const std::string& value) throw() { a_value = value; }
71 * Establece el valor de éste dato XML.
72 * \param value Valor que tomará éste dato XML.
74 void setValue(const int value) throw();
77 Devuelve una cadena con toda la informacion relevante de esta instancia.
78 \return Una cadena con toda la informacion relevante de esta instancia.
80 virtual std::string asString() const throw();
86 Data() : a_owner(NULL) {;}
92 void setNode(Node* node) throw() { a_owner = node; }
95 Filtra la cadena recibida como parametro para asegurar que no contiene ninguna
96 expresion o caracter que pudiera causar un error al establecer el xml::Data con
98 \return La instancia de la cadena una vez modificada.
100 static const std::string& filter(const std::string& str) throw() { return str; }