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.