Exploración de flujo XML vía DOM
Noción de flujo XML
El formato de datos XML (eXtensible Markup Language) es omnipresente en las aplicaciones informáticas. XML es un lenguaje de marcado extensible. Este lenguaje se llama extensible porque permite crear extensiones con su propio vocabulario y su gramática. Para que sirva como ejemplo, XHTML, XSLT, RSS son extensiones.
XML se utiliza principalmente para automatizar los intercambios de datos entre sistemas heterogéneos. Permite definir conjuntos de datos complejos, como estructuras arborescentes.
Encontrará en Wikipedia una presentación muy completa de XML, en la dirección: http://es.wikipedia.org/wiki/Extensible_Markup_Language
DOM, el modelo de acceso a los diferentes componentes de los documentos HTML e incluso XML, que hemos estudiado en el capítulo Modelo DOM, va a ser la herramienta principal para recorrer los archivos XML.
En este capítulo, también veremos por primera vez cómo acceder a los archivos remotos con el objeto XMLHttpRequest.
Para ilustrar las posibilidades en materia de exploración de flujo XML, se van a estudiar muchos ejemplos. En los primeros, se ofrecerán comentarios detallados.
Además, las diferentes técnicas expuestas serán muy útiles cuando abordemos el almacenamiento remoto (capítulo Almacenamiento remoto (formato XML).
Ejemplos
1. Ejemplo 1: Visualización del contenido de un e-mail codificado en XML
El objetivo en este primer ejemplo va a ser mostrar en HTML un flujo de datos XML recuperado en un sitio web.
Archivo email.xml
El documento en cuestión (email.xml) tiene una estructura muy simple:
<email>
<de>María González-Aller</de>
<a>Ángel Sánchez</a>
<asunto>Importante</asunto>
<mensaje>Partido de tenis el sábado a las 10 horas</mensaje>
</email>
Como habrá comprobado, se trata de un mensaje de tipo e-mail (codificado aquí en XML) entre un remitente (María González-Aller) y un destinatario (Ángel Sánchez).
Sección HTML <body>
En el script HTML/JavaScript (llamado DOM_01.htm), el código de gestión del flujo XML se muestra íntegramente en la sección HTML <body>.
El script empieza con la colocación en la página web del mensaje XML. En realidad, el mensaje no aparece a este nivel, sino que solo se trata de establecer una capa HTML (que incluye etiquetas span identificadas).
En general, la etiqueta <div> se emplea para contener y anotar otros elementos HTML (input, span...), mientras que la etiqueta <span> se usa para enmarcar e identificar palabras o grupos de palabras.
El código implementado para la visualización del contenido del e-mail es el siguiente:
<!-- Mostrar un mensaje de tipo e-mail codificado en XML -->
<h3>Mostrar un mensaje de tipo e-mail codificado en XML</h3>
<div>
<b>Remitente: </b> <span id="de"></span><br />
<b>Destino: </b> <span id="a"></span><br />
<b>Asunto: </b> <span id="asunto"></span><br />
<b>Mensaje: </b> <span id="mensaje"></span>
</div>
Cada elemento span está identificado, lo que permitirá registrar el mensaje con los datos efectivos leídos en el archivo XML email.xml.
El script JavaScript se sitúa en esta misma sección HTML <body>, que se lista aquí íntegramente (más adelante, se comentará...