Esta traducción se concluyó, el 18 de enero de 2001.
Los posibles errores presentes en este documento, debidos a la traducción, son responsabilidad de la traductora y no son achacables en modo alguno al W3C. Para cualquier comentario sobre la traducción dirigirse a Emmanuelle Gutiérrez y Restrepo
Cuando pensamos en "datos estructurados" pensamos en cosas tales como hojas de cálculo, libretas de direcciones, parámetros de configuración, transacciones financieras, dibujos técnicos, etc. Los programas que producen esta clase de datos a menudo también los guardan en disco, por lo que pueden usar tanto un formato binario como un formato texto. El último formato te permite, si es necesario, ver los datos sin el programa que los ha producido. XML consiste en una serie de reglas, pautas, convenciones, como quieras llamarlas, para planificar formatos texto para tales datos, de manera que produzcan archivos que sean fácilmente generados y leídos (por un ordenador) que son inequívocos, y que evitan escollos comunes como la falta de extensibilidad, falta de soporte para la internacionalización o localismo, y la dependencia de una determinada plataforma.
Al igual que el HTML el XML utiliza tags -etiquetas- (palabras entre corchetes agudos: '<' y '>')
y atributos (de la forma name="valor"
) pero mientras que HTML especifica lo que cada etiqueta y atributo significan (y frecuentemente la apariencia que presentará en un navegador el texto que hay entre ellos) XML usa las etiquetas sólo para delimitar piezas de datos, y deja la interpretación de los datos, completamente, a la aplicación que los lee. En otras palabras, si ves "<p>" en un fichero XML, no supongas que se trata de un párrafo, dependiendo del contexto, puede tratarse de un precio, un parámetro, una persona, un p... (A propósito, ¿quien ha dicho que debe ser una palabra que empiece por "p"?)
Los archivos XML son archivos de texto, como he dicho más arriba, pero son hasta más difíciles de leer por los humanos que los archivos HTML. Son archivos de texto, porque permiten a los expertos (tales como los programadores) depurar errores en las aplicaciones, más fácilmente, y en casos de emergencia, pueden usar un simple editor de textos para arreglar un archivo XML estropeado. Pero las reglas para los archivos XML son más estrictas que para los archivos HTML. El olvido de una etiqueta, o un atributo sin comillas, hacen que el archivo sea inservible; mientras que en HTML, a menudo, tales prácticas son explícitamente permitidas o al menos toleradas. Está escrito en la especificación oficial de XML: No le está permitido a las aplicaciones intentar justificar al creador de un archivo XML dañado; si el archivo está dañado, la aplicación debe detenerse inmediatamente y emitir un error.
Existe XML 1.0, la especificación que define cuales son las "tags" (etiquetas) y "atributos", pero alrededor de XML 1.0 hay una creciente serie de módulos opcionales que ofrecen colecciones de etiquetas y atributos, o pautas para especificar tareas. Existe, por ejemplo, Xlink (aún en desarrollo desde noviembre de 1999) que describe una manera estándar de añadir hiper-enlaces a un archivo XML. XPointer y XFragments (también aún en desarrollo) son sintaxis para apuntar a partes de un documento XML. (Un Xpointer es parecido a una URL, pero en vez de apuntar a documentos en la Web, apunta a fragmentos de datos en un archivo XML.) CSS, el lenguaje de hojas de estilo, se puede aplicar a XML igual que a HTML. XSL (otoño de 1999) es el lenguaje avanzado para explicitar hojas de estilo. Está basado en XSLT, un lenguaje de transformación a menudo útil también fuera de XSL, para reordenar, añadir o borrar etiquetas y atributos. El DOM es una serie de funciones estándar llamadas para manipular archivos XML (y HTML) desde un lenguaje de programación. XML Namespaces es una especificación que describe como puedes asociar una URL (dirección en la Web) con cada etiqueta y atributo en un documento XML, si bien, para qué se utiliza la URL depende de la aplicación que lea la URL. (RDF, el estándar del W3C para metadatos, lo usa para enlazar cada metadato a un archivo definiendo el tipo de ese metadato.) XML Schemas 1 y 2 ayuda a los desarrolladores a definir precisamente sus propios formatos basados en XML. Hay muchos más módulos y herramientas disponibles o en desarrollo. Consulta regularmente la página de informes técnicos del W3C.
Puesto que XML es un formato texto y que usa etiquetas para delimitar los datos, los archivos XML son casi siempre comparablemente mayores que los formatos binarios. Está fue una decisión tomada conscientemente por los desarrolladores de XML. Las ventajas de un formato texto son evidentes (véanse las tres mencionadas arriba) y las desventajas pueden ser, usualmente, compensadas en distintos niveles. El espacio en disco ya no es tan caro como solía ser, y los programas como zip y gzip pueden comprimir archivos muy bien y muy rápidamente. Estos programas están disponibles para casi todas las plataformas y generalmente son gratuitos. Además, los protocolos de comunicación como los del modem y de HTTP/1.1 (el protocolo esencial de la Web) pueden comprimir datos en el momento de la transmisión economizando, de este modo, ancho de banda tanto efectivamente como en un formato binario.
El desarrollo de XML comenzó en 1996 y es un estándar del W3C desde febrero de 1998, lo que te puede hacer sospechar que es más bien una tecnología inmadura. Pero de hecho la tecnología no es muy nueva, antes del XML existía el SGML, desarrollado en los primeros años 80, un estándar ISO desde 1986, y ampliamente utilizado para grandes proyectos de documentación. Y por supuesto HTML, cuyo desarrollo comenzó en 1990. Los diseñadores de XML simplemente tomaron las mejores partes de SGML, guiados por la experiencia con HTML, y produjeron algo que no es menos potente que SGML, pero bastante más regular y simple de usar. Algunas evoluciones, sin embargo, son difíciles de distinguir de las revoluciones... y hay que decir que mientras que SGML es ampliamente usado para documentación técnica y mucho menos para otros tipos de datos, con XML ocurre exactamente lo contrario.
Estos todavía no los sé.
Eligiendo XML como base para algún proyecto tienes a tu disposición una gran y creciente comunidad de herramientas (¡alguna puede satisfacer tus necesidades!) e ingenieros experimentados en la tecnología. Optar por XML es parecido a elegir SQL para las bases de datos: aún debes construir tu propia base de datos y tus propios procedimientos y/o programas para manipularla, pero hay muchas herramientas disponibles y mucha gente que puede ayudarte. Y puesto que XML es una tecnología W3C, es gratis, puedes construir tu propio software para ello y sin pagar nada a nadie. La amplia y creciente distribución significa que tú no estás ligado a un único vendedor. XML no siempre es la mejor solución, pero siempre merece ser considerada.
Copyright © 1999-2000 W3C® ( MIT, INRIA, Keio), Todos los derechos reservados.