ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos
ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos
ESTADO DEL ARTE - LITE - Universidad Rey Juan Carlos
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.