20.02.2015 Views

ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos

ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos

ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 3. METODOLOGÍAS Y TECNOLOGÍAS 35<br />

• DOM: Modelo de Objetos de Documento<br />

SAX y DOM utilizan dos enfoques muy diferentes. Ninguno de los dos enfoques<br />

ofrece soluciones para todos los casos que se pueden dar en las aplicaciones que<br />

trabajan con XML. Por tanto, se debe adoptar uno u otro dependiendo del caso<br />

particular del que se trate.<br />

SAX permite analizar documentos XML de forma secuencial, lo que permite que,<br />

aunque los documentos sean de gran tamaño, prácticamente no consuma memoria. Pero<br />

por otra parte, este tipo de procesamiento impide tener una visión global del documento<br />

por la que navegar.<br />

Un analizador que soporta esta interfaz recorre el documento XML que se está<br />

analizando de forma secuencial. Este analizador, según va detectando la ocurrencia de<br />

determinados eventos (comienzo/fin del documento, comienzo/fin de una etiqueta,<br />

etcétera), va realizando llamadas a funciones de retorno predefinidas. Son estas<br />

funciones de retorno en las que el programador introduce el código encargado de<br />

procesar los datos que contiene el documento XML.<br />

En cambio, DOM es una interfaz de programación que permite analizar y<br />

manipular dinámicamente, y de manera global, el contenido, el estilo y la estructura de<br />

un documento. Tiene su origen en el W3C.<br />

Para trabajar con un documento XML, primero se almacena en memoria en forma<br />

de árbol con nodos padre, nodos hijo y nodos finales, que son aquéllos que no tienen<br />

descendientes. En este modelo todas las estructuras de datos del documento XML se<br />

transforman en algún tipo de nodo, organizándose jerárquicamente en forma de árbol<br />

para representar la estructura descrita por el documento XML. Una vez creado el árbol<br />

en memoria, se van recorriendo los diferentes nodos y se analiza a qué tipo particular<br />

pertenecen. En función del tipo de nodo, la interfaz ofrece una serie de funcionalidades<br />

u otras para poder trabajar con la información que contienen.<br />

Para este proyecto, en el que se van a manejar documentos XML de diferentes<br />

tamaños, normalmente bastante grandes y complejos, es conveniente no cargarlos<br />

totalmente en memoria, ya que se reduciría enormemente la eficiencia. En este caso, la<br />

mejor herramienta para procesarlos es de manera secuencial mediante SAX, ya que para<br />

este proyecto no es necesario insertar, borrar, modificar,... estos documentos,<br />

únicamente es necesario su lectura.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!