| Artículos | 01 JUN 1998

Estándar XML 1.0

Tags: Histórico
Tecnologías para Internet
Jaime Peña.
Recientemente, con fecha del 12 de febrero de 1998, el World Wide Web Consortium (W3C, en adelante) ha hecho pública la primera propuesta de estándar del formato de documentación XML, eXtensible Markup Language (lenguaje de marcas extensible), que promete convertirse en una de las tecnologías más abiertas de Internet. El lenguaje XML puede considerarse un subconjunto del SGML (Standard Generalized Markup Language), del cual también deriva el formato de documentos HTML, HyperText Markup Language. En este artículo se comentan varias generalidades del XML y en otros futuros trataremos de ilustrar con más detalle cómo programar archivos XML, XSL y su integración en nuestros documentos HTML.

¿Para qué es XML?
El lenguaje de marcas XML está enfocado a mantener y dar acceso a documentación estructurada. No se trata de un lenguaje enfocado a formateo de documentos, como es el HTML. Se trata de un complemento a los lenguajes de formateo que expande su ámbito de actuación al permitir exponer datos como información organizada. Por ejemplo, en el lugar en que el lenguaje HTML utiliza etiquetas como <H1>...</H1> para delimitar contenidos y formatos de textos, XML utilizará etiquetas definidas por el programador para distinguir tipos de información. Imagine una que sea <AUTOR>...</AUTOR>, para contener el nombre del autor de una obra de literatura, por poner un ejemplo. Por tanto, XML no es un simple lenguaje de marcas; se trata de un metalenguaje, que permite desarrollar lenguajes de marcas propietarios, pero que sean accesibles desde cualquier navegador compatible con XML. El propio XML se atiene a las especificaciones SGML para metalenguajes de marcas.
El cómo los documentos HTML expondrán la información contenida en un archivo XML es mucho menos rígido que una simple lectura de éste y conversión a texto en aquel. En primer lugar, se ha de contar con un agente (un navegador de HTML, para entendernos) que sea compatible con XML —al presente sólo lo es Microsoft Internet Explorer 4, hasta donde Microsoft ha decidido que lo sea—. Estos agentes deben trabajar coordinadamente con lectores e intérpretes del archivo XML y así poder recoger información de XML y refundirla en un documento HTML base.
Probablemente usted ya haya disfrutado de algunas de las ventajas del XML, dado que la especificación CDF (Channel Definition Format) de los canales de Internet Explorer 4 está basada en XML —de hecho, es la primera implementación importante del XML, aun sin haber sido aprobado como un estándar de pleno derecho—. Otras tecnologías basadas en XML están en proceso de desarrollo, como RDF (Resource Definition Format) y OSD (Open Software Description). Además, se prevé un mecanismo estandarizado para acceso a bases de datos e intercambio de información a través de la Web, proveniente de diferentes vendedores.
En su conjunto, el estándar XML consta de cuatro especificaciones: el propio formato XML, que sienta las bases sintácticas y el alcance de su implementación; la propuesta XSL (eXtensible Stylesheet Language) que definirá un lenguaje de hojas de estilo para el XML; el lenguaje XLL (eXtensible Linking Language), que define el modo de enlace entre diferentes recursos, incluyendo aquellos que sean de sólo lectura; y el XUA (eXtensible User Agent, navegador extensible), para estandarización de User Agents (navegadores) que trabajen con la especificación XML. El XUA aún no ha visto la luz en forma de propuestas previa.

Estructura de un archivo XML
Un documento XML contiene una cabecera (opcional) con una apariencia similar a <?XML version=”1.0” encoding=”utf-8”?>. En esta etiqueta se indica el tipo de documento, su versión y posible modo de codificar la información contenida. Notará también que no hay una declaración explícita del documento, como ocurre en HTML, que utilizan las etiquetas <HTML>...</HTML> para acotar el contenido.
Respecto a los aspectos sintácticos del lenguaje, encontrará algunas diferencias con respecto a los documentos HTML, al margen de que ambos utilicen etiquetas. Recuerde que las etiquetas en un documento HTML son fijas y representan modos de exponer información; por contra, en un archivo XML son especificadas por el generador del documentos e indican contenidos a exponer —una fuente de datos diversos—. A modo de resumen, comentaremos a continuación las diferencias sintácticas.
En primer lugar, la cabecera, que ya indicamos es opcional y consta de una etiqueta del tipo <?XML version=”1.0”?>. Observe en esta etiqueta que el atributo version=”1.0” va acotado su contenido entre comillas. En el formato XML todos los atributos deben ir entrecomillados. Las interrogaciones cerradas que aparecen, indican que se trata de una etiqueta particular, que contiene información que indica al navegador (o aplicación) como procesar el archivo. Son ignoradas estas instrucciones si se desconoce su significado.
Los elementos se acotan entre corchetes angulares <elemento>, como en el lenguaje HTML. Los elementos no vacíos deben constar de una etiqueta de apertura y una de cierre <elemento>...</elemento>. Se pueden agrupar las etiquetas de apertura y cierre de elementos vacíos en una única, con el formato <elemento/>. También pueden indicarse elementos vacíos con <elemento></elemento>, pero observe que no deben incluirse espacios en blanco entre las etiquetas de apertura y cierre. Los espacios en blanco pueden tener significados particulares y esta es una diferencia sintáctica muy a tener en cuenta con respecto al lenguaje HTML. Por ejemplo, un archivo XML sencillo sería el siguiente:

<?XML VERSION=’1.0’?>
<elementos>
<elemento>
<nombre>
Hidr&oacute;geno
</nombre>
<n_atomico>
1
</n_atomico>
</elemento>
<elemento>
<nombre>
Helio
</nombre>
<n_atomico>
2
</n_atomico>
</elemento>
… así sucesivamente
</elementos>
en el que se recogen campos de nombre y número atómico de los elementos químicos. Cada registro está acotado entre <elemento>...</elemento>.
Los comentarios van entre <!—comentario—>, lo mismo que en el lenguaje HTML. Un comentario puede contener cualquier tipo de datos, excepto dos signos menos seguidos. Las secciones CDATA instruyen al parser que ignore los caracteres del lenguaje de marcas que vayan dentro. Son muy útiles para exponer código que queramos que aparezca tal cual y no que sea interpretado. La sintaxis es
<![CDATA[contenido]]>
Las declaraciones de elementos, ELEMENT, identifican los nombres y la naturaleza del contenido de estos. Su sintaxis es del tipo <!ELEMENT nombre contenido>; por ejemplo, <!ELEMENT notas (#PCDATA | quote)*>, indicaría que el elemento notas puede contener cualquier carácter (PCDATA, es acrónimo de Parseable Character Data) y comillas. Aquí se pueden aplicar diversos tipos de condicionales, cómo listas de nombres, contenidos fijos y alternativos, tipos de datos obligatorios, valores por defecto, etc. Los elementos pueden declararse en un archivo aparte, del tipo DTD (Document Type Declaration), tal como el que se recoge en uno de los listado de ejemplo adjuntos.
Herramientas para XML y XLS
En el momento actual hay muchas herramientas que ser

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información