Curso de XML

Desde que el W3C aprob� la especificaci�n 1.0 del XML en febrero de 1998, ha sido increible la cantidad de informaci�n, aplicaciones y software que se ha ido generando alrededor de este nuevo est�ndar.

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

.�Or�genes del XML

.�HTML

El lenguaje HTML, a pesar de su sencillez, es sin duda un invento prodigioso. Es el m�s existoso sistema de presentaci�n de documentos de la historia. Desde que apareci� el WWW, gracias al HTML hemos podido publicar y acceder a m�s informaci�n de la que jam�s podiamos haber imaginado.

Pero, a su vez, el HTML ha sido v�ctima de su propio �xito. El gran crecimiento de Internet, los intereses comerciales y la necesidad de poder realizar p�ginas web vistosas, ha dado lugar a que en poco tiempo este lenguaje haya evolucionado muy r�pidamente y, por desgracia, no siempre por el camino m�s adecuado. Actualmente estamos en la versi�n 4.0 y, sin embargo, sigue siendo igual de r�gido 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 gustar�a.

.�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 m�s. Esto no signfica, al menos por el momento, el fin del HTML. Existen demasiadas p�ginas en HTML y resulta muy sencillo crearlas. Adem�s, los navegadores no soportar�n todav�a en toda su potencia el XML y tecnolog�as asociadas, pero es evidente una reformulaci�n del HTML como una aplicaci�n XML y un cambio radical en la forma de elaborar las p�ginas web en los pr�ximos a�os.

La diferencia es clara en el siguiente ejemplo:

Ejemplo de libro en Amaz�n

donde podemos observar c�mo Amazon presenta en su web informaci�n sobre los libros.

El c�digo en HTML es el siguiente:

Libro de Amaz�n 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 podr�amos escribir de la siguiente manera:

Libro de Amaz�n 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 ning�n programador experto para entender que cualquier programa inform�tico podr� trabajar de forma m�s eficiente sobre el segundo ejemplo que sobre el primero.

Esto permitir�, por ejemplo, realizar motores de b�squeda mucho m�s eficaces, lo que nos permitir� un acceso m�s r�pido y eficiente a la informaci�n. Nos permitir� acceder a nuestras p�ginas favoritas desde nuestro tel�fono m�vil, 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 informaci�n y la cooperaci�n entre las empresas facilitando el comercio electr�nico, 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, olvid�ndonos 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 impresi�n: RTF, PDF, etc.

Funcionamiento XSL

Si el HTML supuso una revoluci�n porque permite la comunicaci�n entre las personas, el XML supondr� una revoluci�n porque va a permitir la comunicaci�n entre las m�quinas.

.�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 est�ndar internacional para la definici�n de la estructura y el contenido de diferentes tipos de documentos electr�nicos. Es decir, es un metalenguaje que nos permite definir lenguajes para definir la estructura y el contenido de nuestros documentos. La definici�n de la estructura y el contenido de un tipo de documento se realiza en una DTD. En ella definimos los elementos que conformar�n ese tipo de documentos y c�mo tienen que estar organizados para que sea correcto.

Un ejemplo de DTD puede ser la que define c�mo tendr�n que ser los documentos HTML. Por tanto, el HTML no es m�s 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 ning�n tipo de documento SGML, sino que es una versi�n abreviada de SGML optimizada para su utilizaci�n 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, m�s que un HTML++, hay que considerarlo como un SGML-- optimizado para su utilizaci�n 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 dise�adores de XML intentaron dejar fuera s�lo aquellas partes que raramente se utilizan. Esta reducci�n result� ser muy importante: la especificaci�n XML ocupa aproximadamente 30 p�ginas, 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 m�s 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. Adem�s los documentos XML pueden leerse f�cilmente, crearse y modificarse por medio de las herramientas que utilizamos normalmente, como editores de texto. Todo esto hace que la compresi�n y el an�lisis de documentos XML resulte mucho m�s 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 generaci�n autom�tica 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 compresi�n y manejo son m�s 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 tecnolog�a totalmente revolucionarias, s�lo lograr� imponerse si cuenta con el apoyo de la mayor�a de la poblaci�n afectada. Un tecnolog�a menos eficaz pero abierta a todo el mundo y f�cilmente comprensible tendr� m�s probabilidad de imponerse en Internet que otra mejor pero de acceso restringido. Por esto ha triunfado el HTML y por esta raz�n 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 gr�ficos (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� dise�ando un documento muy simple, esta sola caracter�stica basta para decantarse por XML.

Hoy en d�a, 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 com�n que las transacciones comerciales contengan, por ejemplo, nombres de calles en chino o nombres propios de origen �rabe. La recomendaci�n 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 aplicaci�n del XML

En este tutorial se estudia la utilizaci�n de XML para el etiquetado y la estructuraci�n de documentaci�n. 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 l�nea.
  • Uso de XML para publicar e intercambiar contenidos de bases de datos.
  • Uso de XML como formato para sistemas de mensajer�a con el fin de permitir la comunicaci�n entre programas de aplicaciones.

.�Metainformaci�n

En 1997 XML se consideraba fundamentalmente un lenguaje para definir metacontenidos. Un metacontenido no es m�s que la informaci�n relativa al contenido del documento, como su t�tulo, autor, ama�o del archivo, fecha de creaci�n, historial de cambios, palabras clave, y dem�s informaci�n asociada. Se puede utilizar un metacontenido, por ejemplo, para realizar b�squedas, filtrar informaci�n y gestionar el documento.

El HTML, dado que es un lenguaje de marcas enfocado a la presentaci�n, proporciona mecanismos muy pobres para la manipulaci�n de metacontenidos.

XML est� considerado el mejor veh�culo para definir una sintaxis de metacontenidos dada su flexibilidad, legibilidad y capacidad de ampliaci�n. 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 trav�s de la etiquta <table> del HTML y se muestran en pantalla. Si los datos se suministran en un documento XML que preserva la informaci�n original, como nombres de columnas y tipos de datos, el cliente puede utilizarlos para otros fines adem�s de visualizarlos en pantalla. Por ejemplo, podr� descargar los datos e insertarlos en una hoja de c�lculo para realizar sumas y promedios.

.�Mensajer�a

Es sin duda alguna el �rea de aplicaci�n m�s importante del XML. Por mensajer�a se entiende el intercambio de mensajes entre organizaciones o entre sistemas de aplicaci�n dentro de una misma organizaci�n.

La mensajer�a entre distintas compa��as se ha realizado tradicionalmente a trav�s del EDI (Intercambio ELectr�nico de Datos) que ha sido ampliamente utilizado por sectores tan importantes como el financiero o productivo desde la d�cada de los setenta.

Uno de los problemas t�cnicos del EDI tiene que ver con el formato est�ndar que debe adoptarse, y aqui XML puede desempe�ar 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

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO