ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Node.hpp>
Public Types | |
typedef std::vector< Node * > | Children |
typedef Children::iterator | child_iterator |
typedef Children::const_iterator | const_child_iterator |
typedef std::vector< Attribute * > | Attributes |
typedef Attributes::iterator | attribute_iterator |
typedef Attributes::const_iterator | const_attribute_iterator |
typedef SortedVector< Namespace, NamespaceByName, std::string > | namespace_container |
typedef namespace_container::iterator | namespace_iterator |
typedef namespace_container::const_iterator | const_namespace_iterator |
Public Member Functions | |
Node (const char *name) | |
virtual | ~Node () |
const char * | getName () const |
const std::string & | getNameAsString () const |
const Node * | getParent () const |
Node * | getParent () |
const Attribute * | getAttribute (const char *name, const bool exceptionWhenNotFound=true) const noexcept(false) |
const Text * | getText () const |
const Namespace * | getNamespace () const |
child_iterator | child_begin () |
const_child_iterator | child_begin () const |
const_attribute_iterator | attribute_begin () const |
const_namespace_iterator | namespace_begin () const |
child_iterator | child_end () |
const_child_iterator | child_end () const |
int | child_size () const |
const_attribute_iterator | attribute_end () const |
const_namespace_iterator | namespace_end () const |
int | namespace_size () const |
const Node * | find (const char *childName, const bool exceptionWhenNotFound=true) const noexcept(false) |
xml::Attribute * | createAttribute (const char *name, const char *value, const Namespace *_namespace=NULL) |
xml::Attribute * | createAttribute (const char *name, const std::string &value, const Namespace *_namespace=NULL) |
xml::Attribute * | createAttribute (const char *name, const int value, const Namespace *_namespace=NULL) |
xml::Attribute * | createAttribute (const char *name, const S64 *value, const Namespace *_namespace=NULL) |
xml::Attribute * | createAttribute (const char *name, const U64 *value, const Namespace *_namespace=NULL) |
xml::Text * | createText (const char *text) noexcept(false) |
xml::Text * | createText (const std::string &text) noexcept(false) |
Node * | createChild (const char *name) |
const Namespace * | createNamespace (const char *name, const char *reference) noexcept(false) |
const Namespace * | createNamespace (const std::string &name, const char *reference) noexcept(false) |
void | setNamespace (const Namespace *_namespace) |
Namespace * | namespace_find (const char *name, const bool exceptionWhenNotFound=true) noexcept(false) |
Namespace * | namespace_find (const std::string &name, const bool exceptionWhenNotFound=true) noexcept(false) |
const Namespace * | namespace_find (const char *name, const bool exceptionWhenNotFound=true) const noexcept(false) |
const Namespace * | namespace_find (const std::string &name, const bool exceptionWhenNotFound=true) const noexcept(false) |
void | clear () |
std::string | asString () const |
Static Public Member Functions | |
static Node * | node (child_iterator &ii) |
static const Node * | node (const_child_iterator &ii) |
static const Attribute * | attribute (const_attribute_iterator &ii) |
static const Namespace * | xnamespace (const_namespace_iterator &ii) |
Static Protected Member Functions | |
static Attribute * | attribute (attribute_iterator &ii) |
Friends | |
class | Parser |
class | Allocator< Node > |
class | XPath |
class | Decompressor |
class | Compiler |
Nodo de documento XML.
Cada nodo puede tener una serie indeterminada de atributos y nodos hijos. Por ejemplo:
El nodo xvc tiene un atributo (ver Attribute) llamado HeartBeat y dos nodos hijos (broadcast y ethernet).
typedef Attributes::iterator anna::xml::Node::attribute_iterator |
Iterador sobre la lista de atributos no modificables.
typedef std::vector<Attribute*> anna::xml::Node::Attributes |
Estructura usada para guardar los attributos
typedef Children::iterator anna::xml::Node::child_iterator |
Iterador sobre lista de nodos
typedef std::vector<Node*> anna::xml::Node::Children |
Estructura usada para guardar los nodos hijos
typedef Attributes::const_iterator anna::xml::Node::const_attribute_iterator |
Iterador sobre la lista de atributos no modificables
typedef Children::const_iterator anna::xml::Node::const_child_iterator |
Iterador sobre lista de nodos no modificables
typedef SortedVector<Namespace, NamespaceByName, std::string> anna::xml::Node::namespace_container |
anna::xml::Node::Node | ( | const char * | name | ) |
Constructor.
name | Nombre del nodo. |
|
virtual |
Destructor.
std::string anna::xml::Node::asString | ( | ) | const |
Devuelve una cadena con toda la información relevante de esta instancia.
|
inlinestatic |
|
inlinestaticprotected |
|
inline |
|
inline |
|
inline |
Devuelve un iterador al comienzo de la lista de nodo hijos.
A continuacion presentamos un ejemplo de como se recorreria lista de nodos hijos de una determinado nodo.
|
inline |
Devuelve un iterador al comienzo de la lista de nodos hijos no modificables.
A continuacion presentamos un ejemplo de como se recorreria lista de nodos hijos de una determinado nodo no modificable.
|
inline |
Devuelve un iterador al final de la lista de nodo hijos.
|
inline |
|
inline |
void anna::xml::Node::clear | ( | ) |
Libera todos los componentes (atributos, namespaces y nodos hijos) asociados a este nodo.
xml::Attribute* anna::xml::Node::createAttribute | ( | const char * | name, |
const char * | value, | ||
const Namespace * | _namespace = NULL |
||
) |
Crea un atributo que depende de este nodo.
name | Nombre del atributo. |
value | Valor asociado al atributo. |
_namespace | Referencia al namespace al que pertenece el atributo. Puede ser NULL. |
|
inline |
Crea un atributo que depende de este nodo.
name | Nombre del atributo. |
value | Valor asociado al atributo. |
_namespace | Referencia al namespace al que pertenece el atributo. Puede ser NULL. |
|
inline |
Crea un atributo que depende de este nodo.
name | Nombre del atributo. |
value | Valor asociado al atributo. |
_namespace | Referencia al namespace al que pertenece el atributo. Puede ser NULL. |
|
inline |
Crea un atributo que depende de este nodo.
name | Nombre del atributo. |
value | Valor asociado al atributo. Pasamos como puntero para que no se creen ambiguedades con el codigo escrito hasta ahora. |
_namespace | Referencia al namespace al que pertenece el atributo. Puede ser NULL. |
|
inline |
Crea un atributo que depende de este nodo.
name | Nombre del atributo. |
value | Valor asociado al atributo. Pasamos como puntero para que no se creen ambiguedades con el codigo escrito hasta ahora. |
_namespace | Referencia al namespace al que pertenece el atributo. Puede ser NULL. |
Node* anna::xml::Node::createChild | ( | const char * | name | ) |
Crea un nuevo nodo que depende de este.
name | Nombre del nodo hijo. |
|
inlinenoexcept |
Crea un nuevo namespace (si procede) que podemos usar para asignar a los distintos nodos. Si el nodo ya existe y la referencia no coincide con la registrada se obtendrá una excepción.
name | Nombre del nuevo namespace. |
reference | URI de la que obtener las definiciones. |
|
noexcept |
Crea un nuevo namespace (si procede) que podemos usar para asignar a los distintos nodos. Si el nodo ya existe y la referencia no coincide con la registrada se obtendrá una excepción.
name | Nombre del nuevo namespace. |
reference | URI de la que obtener las definiciones. |
|
noexcept |
Crea el texto asociado a este nodo.
text | contain Valor del texto asociado a este nodo. |
|
inlinenoexcept |
Crea el texto asociado a este nodo.
text | contain Valor del texto asociado a este nodo. |
|
noexcept |
Busca un nodo sucesor directo de este cuyo nombre coincida con el nombre recibido como parámetro.
childName | Nombre del nodo hijo que estamos buscando. |
exceptionWhenNotFound | Indica el comportamiento en caso de no encontrar ningun nodo hijo que coincida con el nombre buscado. |
|
noexcept |
Devuelve la referencia al atributo que coincide con el nombre dado, si no existe lanzara una excepcion de ejecucion.
name | Nombre del atributo buscado. |
exceptionWhenNotFound | Indica el comportamiento en caso de no encontrar el atributo que coincida con el nombre buscado. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Devuelve la referencia al nodo predecesor de este nodo. Pueder ser NULL.
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
Devuelve la instancia del namespace que coincide con el nombre recibido como parámetro. Puede ser NULL.
|
noexcept |
Devuelve la instancia del namespace que coincide con el nombre recibido como parámetro. Puede ser NULL.
|
inlinenoexcept |
Devuelve la instancia del namespace que coincide con el nombre recibido como parámetro. Puede ser NULL.
|
inlinenoexcept |
Devuelve la instancia del namespace que coincide con el nombre recibido como parámetro. Puede ser NULL.
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
Devuelve la refencia al namespace sobre el que se encuentra el iterador pasado como parámetro.
ii | Iterador que estamos recorriendo. |
|
friend |
Representacion de un compilador de HTML.
|
friend |
|
friend |
|
friend |