Baquía > La Red > Artículo


XML, los datos del futuro

por Darío Pescador
16/10/1999 00:00 GMT+1

Hay quien dice que Internet no es más que un asunto de siglas. Los no iniciados se enfrentan a un baile interminable de letras que identifican hasta las cosas más insignificantes.

Hace poco se han unido a la lista las siglas XML (eXtensible Markup Language, Lenguaje de Marcas eXtensible), acompañadas de las promesas habituales: compatibilidad, flexibilidad, contenido mucho más interesante en la Red y la decadencia y muerte de sistemas más antiguos.

Pero en realidad las siglas en Internet son un asunto serio. Representan las recomendaciones de los organismos que regulan la tecnología de la Red, en este caso el 'World Wide Web Consortium' o W3C, el consorcio de la Web. Esta y otras organizaciones son órganos consultivos, sin poder de decisión, pero parecen ser lo único que se interpone entre las ambiciones de las empresas de Internet y el caos total.

Con la especificación de XML, el documento que lo define, se pretende asegurar el futuro de la información en Internet y crear un sistema que soporte el paso de los años, las modas y los monopolios (con perdón).

A primera vista XML suena a algo que tuviera que ver con HTML, y así es en efecto. Ambos términos están relacionados, aunque no son lo mismo, ni tampoco es cierto que XML sea el sustituto de HTML. Para entender las diferencias hay que remontarse al pasado.

Los orígenes de XML

Los usuarios veteranos recordarán el venerable WordPerfect 5.1 y otros procesadores de texto de su época. Los más aguerridos, en algún momento utilizaron la opción Mostrar códigos para descubrir que en los documentos de texto había algo más de lo que ellos escribían. Por ejemplo, una palabra en negrita aparecía con unos códigos o etiquetas antes y después, de la forma <B>palabra</B>.

Este sistema de dar formato a la información escrita ha sido utilizado en programas de proceso de textos y autoedición desde hace más de diez años. Tiene una sintaxis muy familiar en la que los códigos se introducen mediante símbolos "<" y ">", que por supuesto son los que se emplean en los tags, las etiquetas o códigos de HTML.

El origen estos sistemas se encuentra en SGML (Standard Generalized Markup Language, Lenguaje de Marcas Generalizado), que es un conjunto de normas que permiten definir lenguajes de marcas, como HTML. En este sentido HTML es una aplicación de SGML. También se puede decir que SGML es un metalenguaje: un lenguaje que permite describir otros lenguajes.

Lenguajes y metalenguajes

La diferencia fundamental entre HTML y XML es que mientras el primero es un lenguaje, XML es un metalenguaje. De hecho es un subconjunto de SGML, una versión reducida y totalmente compatible diseñada específicamente para la Web. Todos los documentos XML se ajustan a las normas de SGML.

Según el documento "Extensible Markup Language (XML) 1.0 W3C Recommendation", los documentos XML deben ser fáciles de crear, legibles por personas (no sólo por computadoras) y razonablemente claros. También debe ser fácil escribir programas de tratamiento de documentos XML y se debe reducir al mínimo el número de elementos opcionales.

Pero lo más importante es que, utilizando un metalenguaje, las empresas podrán desarrollar aplicaciones personalizadas para mostrar y recibir información, como páginas de comercio electrónico, sistemas de teletrabajo o gestión de bases de datos. Todas estas aplicaciones serán compatibles y fácilmente reutilizables, ya que compartirían la base común de XML.

¿Cómo son los documentos XML?

Los documentos XML se parecen bastante a los HTML. Lo más notable es que las etiquetas no se corresponden exactamente con las conocidas <IMG> o <B>. Muy al contrario, lo normal es encontrar etiquetas personalizadas.
Como XML es un metalenguaje, es posible crear códigos o etiquetas (tags) a gusto del usuario para aplicaciones concretas. Ya no sólo es posible definir el formato del texto o la posición de los datos y las imágenes, sino que cada parte de la información puede ser identificada con un sistema propio de etiquetas.

Por ejemplo, este es un ejemplo básico de un documento XML para una base de datos de críticas literarias:

<?xml version="1.0"?>
<lista>
<libro>
<autor>Francisco Montes</autor>
<titulo>La fortaleza tenebrosa</titulo>
<indice>
<capitulo>Prólogo</capitulo>
<capitulo>La revelación</capitulo>
<capitulo>El esclarecimiento</capitulo>
<capitulo>Epílogo</capitulo>
</indice>
<comentario>La última novela del autor de "El castillo oscuro" transporta al lector a un mundo de misterio.</comentario>
</libro>
</lista>

Aunque parezca complicado, con un poco de atención se descubre que existe un elemento principal (<lista>) y su contenido (libros), junto con la información que debe acompañar a cada libro. Para cada tipo de datos hay una etiqueta inicial y otra de cierre con una barra "/" y las de mayor nivel contienen a las demás.

Documentos conformes y válidos

Para que un documento sea compatible con XML tiene que cumplir dos condiciones: Ha de ser un documento conforme (well formed) y válido (valid).

El hecho de imponer condiciones es importante para que XML se comporte efectivamente como una base universal para estructurar la información. El documento será conforme cuando su ortografía sea correcta, es decir, que los elementos de mayor orden (como <capitulo>) contengan a los de menor orden (como <indice>).

Pero cuidado, una ortografía correcta no quiere decir que el contenido sea razonable, y en XML esto también puede ser controlado. Por ejemplo, no tendría sentido un <indice> que no contuviera capítulos.

Para evitar estos errores se ha creado el sistema DTD o (Document Type Definition, Definición de Tipos de Documento). En un documento DTD se indica qué códigos contiene el documento XML, en qué orden aparecen, cómo se anidan unos dentro de otros y si pueden estar vacíos o no, entre otras cosas. Los documentos que se ajustan a su DTD son válidos.

En el caso de HTML existe un DTD universal en el que se definen con claridad las etiquetas HTML ya conocidas y sus contenidos. Para XML, cada aplicación puede generar sus propios tipos de datos y códigos, con lo que es preciso generar un DTD junto con cada documento o aplicación. Una empresa puede utilizar su propio DTD para todos sus datos, un periódico otro diferente para redactar artículos, etcétera.

¿Dónde se encuentra el XML?

En el momento actual ya se están empleando algunas aplicaciones de XML en los programas de navegación más conocidos. El caso más notable es el de los canales de Internet Explorer. Para definir un canal se emplean códigos XML desarrollados especialmente para este fin.

En el futuro XML se usará con dos fines principales: el intercambio de datos entre las computadoras y los seres humanos (los documentos) y el intercambio de datos entre las propias computadoras. En ambos casos se lleva a cabo el mismo procedimiento: una base de datos contiene la información de origen, una máquina intermedia recibe y procesa esos datos, y por último la máquina cliente muestra o introduce la información.

Este es el procedimiento por el que se generan muchas páginas Web en la actualidad. Es lógico pensar que los miles de páginas de un motor de búsqueda como www.yahoo.com no se generan una a una, sino que las componen automáticamente en el momento en el que se realiza la consulta. Con XML además será posible crear páginas con distintos formatos en la máquina de destino: para mostrar en pantalla, sólo texto, para impresión, y todo ello con el mismo documento XML de origen.




Temas relacionados:
  • Microsoft XML
  • XML Special Interest Group
  • SGML Open
  • W3C