1.3. Una aproximación a XML

El XML proviene de un lenguaje que inventó IBM allá por los años 70. El lenguaje se llamó GML (General Markup Language) y surgió por la necesidad que tenían en la empresa de almacenar grandes cantidades de información de temas diversos.

Imaginemos por un momento la cantidad de documentación que generaría IBM sobre todas las áreas en las que trabajaba e investigaba y la cantidad de información que habrá generado hasta hoy. Así pues, necesitaban una manera de guardar la información y los expertos de IBM inventaron GML, un lenguaje con el que poder clasificarlo todo y escribir cualquier documento para que se pueda luego procesar adecuadamente.

Este lenguaje gustó mucho en ISO, una entidad que se encarga de normalizar cuantas cosas se puedan imaginar para los procesos del mundo actual, de modo que allá por el 86 trabajaron para normalizar el lenguaje, creando el SGML, que no era más que el GML pero estándar.

SGML es un lenguaje muy trabajado, capaz de adaptarse a un gran abanico de problemas y a partir de él se han creado los siguientes sistemas para almacenar información.

Por el año 89, para el ámbito de la red Internet, un usuario que había conocido el lenguaje de etiquetas (Markup) y los hiper-enlaces creo un nuevo lenguaje llamado HTML, que fue utilizado para un nuevo servicio de Internet, la Web. Este lenguaje fue adoptado rápidamente por la comunidad y varias organizaciones comerciales crearon sus propios visores de HTML compitiendo para hacer el visor más avanzado, llegando incluso a inventarse etiquetas sin control alguno. Desde el 96 hasta hoy una entidad llamada W3C ha tratado de poner orden en el HTML y establecer sus reglas y etiquetas para que sea un estándar. Sin embargo el HTML creció de una manera descontrolada y no cumplió todos los problemas que planteaba la sociedad global de Internet.

El mismo W3C en el 98 empezó en el desarrollo de XML (Extended Markup Language). Este ha sido un lenguaje mucho mas elaborado y en el que aún se sigue trabajando. Principalmente con él se pretendió solucionar las carencias del HTML en lo que se respecta al tratamiento de la información. Problemas del HTML como:

Imaginemos que tuviésemos que procesar el código HTML que otra persona escribió para extraer los datos que necesitaran otras aplicaciones. Sería muy difícil saber dónde está realmente la información que busca, siempre mezclada entre etiquetas <FONT>, <TABLE>, <TD>, etc... Esto es una mala gestión de la información y el XML la soluciona.

Para el desarrollo del proyecto, hemos utilizado una de las APIs 1 más conocidas que nos ofrece XML para esa gestión de la información; se trata de DOM (Document Object Model). Mediante DOM es posible interpretar un documento XML consiguiendo un estructura de árbol, con cada elemento XML siendo un nodo de ese árbol.

Un analizador o intérprete que utilice DOM leerá el documento por completo y formará el correspondiente árbol en memoria (a no ser que sea exageradamente grande). El árbol DOM nos proporciona una serie de funciones con las que será rápido acceder a cualquier campo (nodo de nuestro árbol) del documento.