Curso de XML

Desde que el W3C aprob la especificacin 1.0 del XML en febrero de 1998, ha sido increible la cantidad de informacin, aplicaciones y software que se ha ido generando alrededor de este nuevo estndar.

En este tutorial veremos las principales caracterticas del XML y como podemos irlo utilizando para crear nuestras aplicaciones para internet.

.Orgenes del XML

.HTML

El lenguaje HTML, a pesar de su sencillez, es sin duda un invento prodigioso. Es el ms existoso sistema de presentacin de documentos de la historia. Desde que apareci el WWW, gracias al HTML hemos podido publicar y acceder a ms informacin de la que jams podiamos haber imaginado.

Pero, a su vez, el HTML ha sido vctima de su propio xito. El gran crecimiento de Internet, los intereses comerciales y la necesidad de poder realizar pginas web vistosas, ha dado lugar a que en poco tiempo este lenguaje haya evolucionado muy rpidamente y, por desgracia, no siempre por el camino ms adecuado. Actualmente estamos en la versin 4.0 y, sin embargo, sigue siendo igual de rgido e inflexible como era en un principio. Y es que es un lenguaje limitado en cuanto que no nos permite realizar sobre Internet todas las aplicaciones o cosas que nos gustara.

.XML

Estas razones han obligado a los miembros del W3 Consortium a desarrollar nuevas versiones de HTML un nuevo lenguaje (mejor dicho, metalenguaje), que han denominado XML (Extensible Markup Language); que aproveche las innegables ventajas del HTML, pero que a su vez permita realizar muchas cosas ms. Esto no signfica, al menos por el momento, el fin del HTML. Existen demasiadas pginas en HTML y resulta muy sencillo crearlas. Adems, los navegadores no soportarn todava en toda su potencia el XML y tecnologas asociadas, pero es evidente una reformulacin del HTML como una aplicacin XML y un cambio radical en la forma de elaborar las pginas web en los prximos aos.

La diferencia es clara en el siguiente ejemplo:

Ejemplo de libro en Amazn

donde podemos observar cmo Amazon presenta en su web informacin sobre los libros.

El cdigo en HTML es el siguiente:

Libro de Amazn en HTML

<p>
<dt>
<b>
<a href="/exec/obidos/ASIN/0764531999/qid=919015337">
Xml : Extensible Markup Language</a></b> ~ 
<NOBR><font color=#990033>Usually ships in 24 hours</font></NOBR>
<dd> Elliotte Rusty Harold / Paperback / Published 1998
<br>
Our Price: $31.99 ~ 
<NOBR><font color =#990033>You Save: $8.00 (20%)</font></NOBR>
<br>
<a href="/exec/obidos/ASIN/0764531999/qid=919015337">
<i>Read more about this title...</i></a>

y en XML lo podramos escribir de la siguiente manera:

Libro de Amazn en XML

<?xml version="1.0"?>
<libro>
  <titulo>Xml: Extensible Markup Language</titulo>
  <disponible tiempo="24" unidad="hours"/>
  <autor>Elliotte Rusty Harold</autor>
  <formato>Paperback</formato>
  <publicacion>1998</publicacion>
  <precio cantidad="31.99" moneda="dolar"/>
  <descuento cantidad="20"/>
  <enlacelibro href="/exec/obidos/ASIN/0764531999/qid=919015337"/>
</libro>

Es evidente que no hay que ser ningn programador experto para entender que cualquier programa informtico podr trabajar de forma ms eficiente sobre el segundo ejemplo que sobre el primero.

Esto permitir, por ejemplo, realizar motores de bsqueda mucho ms eficaces, lo que nos permitir un acceso ms rpido y eficiente a la informacin. Nos permitir acceder a nuestras pginas favoritas desde nuestro telfono mvil, o desde la radio de nuestro coche, en el momento en el que los programas de reconocimiento de voz trabajen con XML. Facilitar el intercambio de informacin y la cooperacin entre las empresas facilitando el comercio electrnico, etc. Y es que el XML busca precisamente crear la capacidad de hacerlo todo en la web.

La potencia de esta forma de trabajar radica en que estamos etiquetando e identificando el contenido, olvidndonos en un principio por la forma de presentarlo. Ya nos encargaremos luego de darle un formato de salida! El W3c est trabajando actualmente en el desarrollo de un lenguaje de hojas de estilo que nos lo permita, denominado XSL (Extensible Style Languaje). Mediante una XSL podremos transformar un document XML en otro XML (por ejemplo en HTML) o convertirlo a un formato de impresin: RTF, PDF, etc.

Funcionamiento XSL

Si el HTML supuso una revolucin porque permite la comunicacin entre las personas, el XML supondr una revolucin porque va a permitir la comunicacin entre las mquinas.

.HTML, XML versus SGML

Tampoco tenemos que equivocarnos y pensar que el XML es un HTML++. Tanto el XML como el HTML tienen su base en el SGML. El SGML (Standard Generalized Markup Language, ISO 8879) es el estndar internacional para la definicin de la estructura y el contenido de diferentes tipos de documentos electrnicos. Es decir, es un metalenguaje que nos permite definir lenguajes para definir la estructura y el contenido de nuestros documentos. La definicin de la estructura y el contenido de un tipo de documento se realiza en una DTD. En ella definimos los elementos que conformarn ese tipo de documentos y cmo tienen que estar organizados para que sea correcto.

Un ejemplo de DTD puede ser la que define cmo tendrn que ser los documentos HTML. Por tanto, el HTML no es ms que un tipo de documento SGML que se utiliza en el web, y esto es importante, ya que aqu radica su principal diferencia con el XML.

El XML no es ningn tipo de documento SGML, sino que es una versin abreviada de SGML optimizada para su utilizacin en Internet. Esto significa que con l vamos a poder definir nuestros propios tipos de documentos (podremos definir nuestras propias etiquetas) por lo que ya no dependeremos de un nico e inflexible tipo de documento HTML.

Diferencia entre el SGML, XML y HTML

El XML, ms que un HTML++, hay que considerarlo como un SGML-- optimizado para su utilizacin en Internet. Como escribi Richard Ligth en su libro Presenting XML: "XML ofrece el 80% de las ventajas del SGML con un 20% de su complejidad". Y es que los diseadores de XML intentaron dejar fuera slo aquellas partes que raramente se utilizan. Esta reduccin result ser muy importante: la especificacin XML ocupa aproximadamente 30 pginas, frente a las 500 del SGML.

.Ventajas de utilizar XML en las aplicaciones Web.

Entre las muchas que existen podemos destacar tres:

  • Sencillez
  • Variedad de estructuras de datos
  • Excelente tratamiento de caracteres internacionales.

.Sencillez

La primera y ms importante ventaja del XML se refiere a su sencillez, en especial si lo comparamos con los formatos binarios.

El XML es un formato basado en caracteres y por tanto comprensible para los seres humanos. Adems los documentos XML pueden leerse fcilmente, crearse y modificarse por medio de las herramientas que utilizamos normalmente, como editores de texto. Todo esto hace que la compresin y el anlisis de documentos XML resulte mucho ms sencillo que los escritos en formato binario.

Otro ejemplo de la sencillez de XML tiene que ver con su habilidad para representar datos estructuras en forma de rbol con todas las ventajas que esto comporta. Existen otras sintaxis estandar, como por ejemplo la ANS.1 (Abstract Syntaxt Notation 1) que nos permiten representar datos estructurados en forma de rbol. Pero dicho estandar resulta bastante complicado de entender y generar. Se pueden utilizar herramientas de generacin automtica para facilitar la tarea, pero las herramientas adecuadas suelen ser bastante costosas. Por el contrario el XML posee la misma habilidad para representar datos estructurados en forma de rbol y su compresin y manejo son ms sencillos.

Si algo puede decirse del intrincado mundo de Internet es que la "sencillez gana y la eficacia pierde". En Internet la regla de oro es la apertura, es decir, accesibilidad y disponibilidad para todos. Incluso si se trata de una tecnologa totalmente revolucionarias, slo lograr imponerse si cuenta con el apoyo de la mayora de la poblacin afectada. Un tecnologa menos eficaz pero abierta a todo el mundo y fcilmente comprensible tendr ms probabilidad de imponerse en Internet que otra mejor pero de acceso restringido. Por esto ha triunfado el HTML y por esta razn esta triunfando el XML: es sencillo.

.Variedad de estructuras de datos

Aunque sencillo, XML tiene la potencia suficiente para expresar estructuras complejas de datos. Para muchas aplicaciones, una estructura en forma de rbol es lo suficientemente general y potente como para expresar datos con un cierto nivel de complejidad. De hecho, supone un buen equilibrio entre el nivel de expresividad y sencillez. Incluso estructuras de datos tan complicadas como grficos (VML, SVG) pueden llegar a representarse en un arbol. Por todo esto, XML permite expresar estructuras complejas de datos que satistfacen las exigencias de casi todas las aplicaciones.

Tratamiento de caracteres internacionales

Una de las grandes ventajas del XML que no debe subestimarse es su capacidad para gestionar conjuntos de caracteres internacionales. Incluso si se est diseando un documento muy simple, esta sola caracterstica basta para decantarse por XML.

Hoy en da, los negocios se realizan a escala mundial. Esto es especialmente cierto cuando se trata de aplicaciones Web, puesto que Internet se ha encargado de borrar las fronteras nacionales. Resulma muy comn que las transacciones comerciales contengan, por ejemplo, nombres de calles en chino o nombres propios de origen rabe. La recomendacin 1.0 de XML est definida de acuerdo con el conjunto de caracteres ISO-10646(Unicode), por lo que virtualmente todos los caracteres que actualmente se utilizan en el mundo son caracteres oficiales.

.Areas de aplicacin del XML

En este tutorial se estudia la utilizacin de XML para el etiquetado y la estructuracin de documentacin. Pero el XML es tan potente y flexible que muchos personas lo utilizan para otros fines. Algunas de estas otras aplicaciones las podemos englobar en estos tres grupos:

  • Uso de XML para describir metacontenidos respecto a documentos o recursos en lnea.
  • Uso de XML para publicar e intercambiar contenidos de bases de datos.
  • Uso de XML como formato para sistemas de mensajera con el fin de permitir la comunicacin entre programas de aplicaciones.

.Metainformacin

En 1997 XML se consideraba fundamentalmente un lenguaje para definir metacontenidos. Un metacontenido no es ms que la informacin relativa al contenido del documento, como su ttulo, autor, amao del archivo, fecha de creacin, historial de cambios, palabras clave, y dems informacin asociada. Se puede utilizar un metacontenido, por ejemplo, para realizar bsquedas, filtrar informacin y gestionar el documento.

El HTML, dado que es un lenguaje de marcas enfocado a la presentacin, proporciona mecanismos muy pobres para la manipulacin de metacontenidos.

XML est considerado el mejor vehculo para definir una sintaxis de metacontenidos dada su flexibilidad, legibilidad y capacidad de ampliacin. Ademas nos proporciona la posibilidad de definir estos metacontenidos fuera del documento. RDF, CDF y OSD son ejemplos de formatos de metacontenidos definidos en XML.

.Bases de datos

Muchos aplicaciones basadas en el modelo de tres capas extraen los datos a partir de sistemas remotos de bases de datos. Por lo general, los resultados se transforman a travs de la etiquta <table> del HTML y se muestran en pantalla. Si los datos se suministran en un documento XML que preserva la informacin original, como nombres de columnas y tipos de datos, el cliente puede utilizarlos para otros fines adems de visualizarlos en pantalla. Por ejemplo, podr descargar los datos e insertarlos en una hoja de clculo para realizar sumas y promedios.

.Mensajera

Es sin duda alguna el rea de aplicacin ms importante del XML. Por mensajera se entiende el intercambio de mensajes entre organizaciones o entre sistemas de aplicacin dentro de una misma organizacin.

La mensajera entre distintas compaas se ha realizado tradicionalmente a travs del EDI (Intercambio ELectrnico de Datos) que ha sido ampliamente utilizado por sectores tan importantes como el financiero o productivo desde la dcada de los setenta.

Uno de los problemas tcnicos del EDI tiene que ver con el formato estndar que debe adoptarse, y aqui XML puede desempear un papel decisivo. Entre las habilidades necesarias para construir un sistema EDI, destaca el conocimiento de los formatos de los mensajes X12 y EDIFACT. El formato de estos fichero es complicado de leer. La gran diferencia entre EDI y XML es que en XML, lo nombres de elementos tienen sentido por si mismos. Es verdad que los mensajes los procesan normalmente los programas, y no los usuarios de carne y hueso. Pero la legibilidad sigue siendo un aspecto fundamental para los programadores de aplicaciones, que desarrollan, depuran y mantienen los programas que procesan los mensajes EDI.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.