ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Protected Member Functions | Friends | List of all members
anna::xml::Document Class Referenceabstract

#include <Document.hpp>

Inheritance diagram for anna::xml::Document:
Inheritance graph
[legend]
Collaboration diagram for anna::xml::Document:
Collaboration graph
[legend]

Public Member Functions

virtual ~Document ()
 
void initialize (const char *content) noexcept(false)
 
void initialize (const DataBlock &content) noexcept(false)
 
const char * getEncoding () const
 
const char * getVersion () const
 
virtual const DataBlockgetContent () const noexcept(false)
 
const char * getContentAsCString () const noexcept(false)
 
void setEncoding (const char *encoding)
 
void setVersion (const char *version)
 
const xml::Nodeparse () noexcept(false)
 
const xml::Nodeparse (const DTD &dtd) noexcept(false)
 

Protected Member Functions

 Document ()
 
void clear ()
 
void setContent (const char *content)
 
void setContent (const char *content, const int size)
 
void setContent (const DataBlock &content)
 

Friends

class Parser
 
class XPath
 

Detailed Description

Clase base para manejar los documentos XML.

Ejemplo de documento XML:

<xvc HeartBeat="20000">
<broadcast>
<INetAddress Address="204.152.65.15" Port="2000"/>
<INetAddress Address="204.152.65.47" Port="2002"/>
</broadcast>
<ethernet Mode="raw" VirtualAddress="1.1.1.100">
<Input Device="/dev/qfe" PhysicalAccessPoint="2" MAC="8:0:20:9e:ee:21"/>
<Output Device="/dev/qfe" PhysicalAccessPoint="2" MAC="8:0:20:9e:ee:c9"/>
</ethernet>
</xvc>

Constructor & Destructor Documentation

◆ ~Document()

virtual anna::xml::Document::~Document ( )
virtual

Destructor.

◆ Document()

anna::xml::Document::Document ( )
protected

Constructor.

Member Function Documentation

◆ clear()

void anna::xml::Document::clear ( )
protected

Libera la memoria asociada a los componentes de este documento.

◆ getContent()

virtual const DataBlock& anna::xml::Document::getContent ( ) const
inlinevirtualnoexcept

Devuelve el contenido asociado al documento XML.

Returns
El contenido asociado al documento XML.

Reimplemented in anna::xml::DocumentFile.

85 { return *this; }
Here is the call graph for this function:

◆ getContentAsCString()

const char* anna::xml::Document::getContentAsCString ( ) const
noexcept

Devuelve el contenido asociado al documento XML expresado como una cadena C.

Returns
El contenido asociado al documento XML expresado como una cadena C.

◆ getEncoding()

const char* anna::xml::Document::getEncoding ( ) const

Obtiene el conjunto de caracteres usado en el documento XML. Puede ser NULL.

Returns
El conjunto de caracteres usado en el documento XML.

◆ getVersion()

const char* anna::xml::Document::getVersion ( ) const

Obtiene la versión indicada en el documento XML.Puede ser NULL.

Returns
La versión indicada en el documento XML.

◆ initialize() [1/2]

void anna::xml::Document::initialize ( const char *  content)
noexcept

Inicializa el contenido del documento XML.

Parameters
contentContenido de la Documento, depedendiendo del tipo de Documento hara referencia a un nombre de archivo, una URI o a una cadena.

◆ initialize() [2/2]

void anna::xml::Document::initialize ( const DataBlock content)
noexcept

Inicializa el contenido del documento XML.

Parameters
contentContenido del Documento XML.

◆ parse() [1/2]

const xml::Node* anna::xml::Document::parse ( )
noexcept

Analiza el contenido del documento XML y devuelve el nodo raíz.

Returns
El nodo raiz del arbol XML correspondiente al resultado del analisis.
Warning
Este documento debe estar correctamente inicializado.

◆ parse() [2/2]

const xml::Node* anna::xml::Document::parse ( const DTD dtd)
noexcept

Analiza el documento XML recibido como parametro, y verifica que cumpla las reglas establecidas por la DTD.

Parameters
dtdDTD que debe cumplir el documento XML.
Returns
El nodo raiz del arbol XML correspondiente al resultado del analisis.
Warning
Este documento debe estar correctamente inicializado.

◆ setContent() [1/3]

void anna::xml::Document::setContent ( const char *  content)
inlineprotected
136  {
138  DataBlock::append(content, anna_strlen(content) + 1);
139  a_contentIsCString = true;
140  }
#define anna_strlen(a)
Definition: defines.hpp:50
void clear() noexcept(false)
Definition: DataBlock.hpp:240
void append(const char *data, const int len) noexcept(false)
Here is the call graph for this function:

◆ setContent() [2/3]

void anna::xml::Document::setContent ( const char *  content,
const int  size 
)
inlineprotected
148  {
150  DataBlock::append(content, size);
151  a_contentIsCString = false;
152  }
void clear() noexcept(false)
Definition: DataBlock.hpp:240
void append(const char *data, const int len) noexcept(false)
Here is the call graph for this function:

◆ setContent() [3/3]

void anna::xml::Document::setContent ( const DataBlock content)
inlineprotected
158  {
159  DataBlock::operator= (content);
160  a_contentIsCString = false;
161  }
DataBlock & operator=(const DataBlock &right) noexcept(false)
Here is the call graph for this function:

◆ setEncoding()

void anna::xml::Document::setEncoding ( const char *  encoding)

Establece el conjunto de caracteres usado en el documento XML.

Parameters
encodingLiteral que indica el conjunto de caracteres. Puede ser NULL.

◆ setVersion()

void anna::xml::Document::setVersion ( const char *  version)

Establece la versión usada en el documento XML.

Parameters
encodingLiteral que indica la versión. Puede ser NULL.

Friends And Related Function Documentation

◆ Parser

friend class Parser
friend

◆ XPath

friend class XPath
friend

The documentation for this class was generated from the following file: