XML, XLink, Namespace, DTD, Schema, CSS, XHTML ... Si usted no conoce XML, podría resultarle difícil saber por dónde comenzar. Este resumen en 10 puntos intenta capturar lo suficiente de los conceptos básicos como para permitir al principiante ver el bosque a través de los árboles. Y si usted tiene que dar una presentación sobre XML ¿por qué no empezar por estos 10 puntos?
Los datos estructurados incluyen cosas como planillas de cálculo, libretas de direcciones, parámetros de configuración, transacciones financieras y dibujos técnicos. XML es un conjunto de reglas (también se las podría pensar como líneas de guía o convenciones) para diseñar formatos de texto que permitan estructurar los datos. XML no es un lenguaje de programación, y no hace falta ser un programador para usarlo o aprenderlo. XML facilita a la computadora la tarea de generar datos, leerlos, y asegurar que su estructura no es ambigua. XML evita las fallas comunes en diseño de lenguajes: es extensible, independiente de la plataforma, y soporta internacionalización y localización. XML cumple totalmente con el standard Unicode.
Al igual que HTML, XML usa etiquetas (palabras encerradas por '<' y
'>') y atributos (de la forma nombre
="valor"
).
Mientras HTML especifica lo que cada etiqueta y atributo significan, y a menudo
cómo aparecerá en un navegador el texto que hay entre ellas, XML usa las
etiquetas sólo para delimitar las piezas de datos, y deja la interpretación de
los datos completamente a la aplicación que los lee. En otras palabras, si
usted ve "<p>" en un archivo XML, no asuma que es un parágrafo.
Dependiendo del contexto, podría ser un precio, un parámetro, una persona, una
p... (¿y quién dice que debería ser una palabra que empiece con
"p"?).
Los programas que producen planillas de cálculo, libretas de direcciones y otros datos estructurados, a menudo guardan esos datos en disco, usando un formato binario o de texto. Una ventaja del formato de texto es que permite que las personas, si es necesario, miren los datos sin el programa que los produjo; en un aprieto, uno puede leer un formato de texto con su editor de texto favorito. Los formatos de texto también permiten a los desarrolladores corregir más fácilmente sus aplicaciones. Igual que los de HTML, los archivos de XML son archivos de texto que la gente no necesita, pero puede leer, si surge la necesidad. Las reglas de XML son estrictas, y en esto se parece menos al HTML. Una etiqueta olvidada o un atributo sin comillas inutilizan un archivo XML, mientra que en HTML es tolerada y a menudo explícitamente permitida. La especificación oficial de XML prohibe a las aplicaciones que traten de adivinar las intenciones del creador de un archivo XML dañado; si el archivo está dañado, la aplicación debe detenerse allí mismo y reportar un error.
Como XML es un formato de texto y usa etiquetas para delimitar los datos, los archivos XML son casi siempre más grandes que los formatos binarios comparables. Eso fue una decisión consciente de los diseñadores de XML. Las ventajas de un formato de texto son evidentes (ver el punto 3), y las desventajas pueden usualmente ser compensadas en un nivel diferente. El espacio de disco es menos caro de lo que solía ser, y los programas de compresión como gzip pueden comprimir los archivos muy bien y muy rápido. Además, los protocolos de comunicación como los de modem y HTTP/1.1, el protocolo central de la Web, pueden comprimir datos al vuelo, ahorrando ancho de banda tan efectivamente como un formato binario.
XML 1.0 es la especificación que define lo que son las "etiquetas" y los "atributos". Más allá de XML 1.0, "la familia XML" es un conjunto creciente de módulos que ofrecen servicios útiles para realizar tareas importantes frecuentemente demandadas. Xlink describe un modo standard de agregar hipervínculos a un archivo XML. XPointer y XFragments son sintaxis en desarrollo para apuntar a partes de un documento XML. Un XPointer se parece un poco a un URL, pero en lugar de apuntar a documentos en la Web, apunta a piezas de datos dentro de un archivo XML. CSS, el lenguaje de hojas de estilo, es aplicable a XML tanto como a HTML. XSL es el lenguaje avanzado para expresar las hojas de estilo. Se basa en XSLT, un lenguaje de transformación usado para reacomodar, agregar y eliminar etiquetas y atributos. El DOM es un conjunto standard de llamadas a funciones para manipular archivos XML (y HTML) desde un lenguaje de programación. XML Schemas 1 y 2 ayudan a los desarrolladores a definir con precisión las estructuras de sus propios formatos basados en XML. Hay varios módulos y herramientas disponibles o en desarrollo. No pierda de vista la página de reportes técnicos de la W3C.
El desarrollo de XMLcomenzó 1996 y ha sido una recomendación de la W3C desde febrero de 1998, lo cual le podria hacer sospechar que ésta es una tecnología bastante inmadura. De hecho,la tecnología no es muy nueva. Antes de XML estuvo SGML, desarrollado a principios de los '80, standard ISO desde 1986, y ampliamente usado para grandes proyectos de documentación. El desarrollo de HTML empezó en 1990. Los diseñadores de XML simplemente tomaron las mejores partes de SGML, guiados por la experiencia con HTML, y produjeron algo que es no menos poderoso que SGML, y vastamente más regular y simple de usar. Algunas evoluciones, sin embargo, son difíciles de distinguir de revoluciones... y hay que decir que mientras SGML es mayormente usado para documentación técnica y mucho menos para otras clases de datos, con XML pasa exactamente lo opuesto.
Hay una importante aplicación de XML que es un formato de documento: XHTML de la W3C, el sucesor de HTML. XHTML tiene muchos de los mismos elementos de HTML. La sintaxis ha sido ligeramente cambiada para conformarse a las reglas de XML. Un documento "basado en XML" hereda la sintaxis de XML y la restringe de ciertas maneras (p.e, XHTML permite "<p>", pero no "<r>"); también suma significado a esa sintaxis (XHTML dice que "<p>" significa "parágrafo", y no "precio", "persona", o cualquier otra cosa).
XML le permite definir un formato de documento combinando y reusando otros formatos. Puesto que dos formatos desarrollados independientemente podrían tener elementos o atributos con el mismo nombre, se debe tener cuidado al combinarlos (¿"<p>" significa "parágrafo" de este formato o "persona" de aquél otro?). Para eliminar la confusión de nombres al combinar formatos, XML provee un mecanismo de espacio de nombre. XSL y RDF son buenos ejemplos de formatos basados en XML que usan espacios de nombres. XML Schema está diseñado para reflejar este soporte de la modularidad al nivel de definir la estructura de documentos XML, por medio de la facilidad para combinar dos esquemas para producir un tercero que cubre una estructura de documento combinada.
El Resource Description Framework (RDF) de la W3C es un formato de texto XML que soporta aplicaciones de descripción de recursos y metadatos, tales como listas de temas musicales, colecciones de fotos, y bibliografías. Por ejemplo, RDF podría permitirle identificar las personas en un álbum de fotos Web usando información de una lista de contactos personales; entonces, su cliente de correo podría enviar automáticamente a esas personas un mensaje diciendo que sus fotos están en la Web. Lo mismo que HTML integró los documentos, los sistemas de menú y las aplicaciones de formularios para lanzar la Web original, RDF integra las aplicaciones y los agentes en una Web Semántica. Del mismo modo que las personas necesitan estar de acuerdo en los significados de las palabras que emplean en su comunicación, las computadoras necesitan mecanismos para acordar los significados de los términos para comunicarse efectivamente. Las descripciones formales de los términos en una cierta área (compras o manufactura, por ejemplo) se llaman ontologías, y son una parte necesaria de la Web Semántica. RDF, las ontologías, y la representación del significado de modo que las computadoras puedan ayudar a las personas a hacer el trabajo, son tópicos de la Actividad de la Web Semántica.
Al elegir XML como la base de un proyecto, usted gana acceso a una comunidad grande y creciente de herramientas (¡una de las cuales podría ya hacer lo que usted necesita!) e ingenieros experimentados en la tecnología. Optar por XML es un poco como elegir SQL para bases de datos: usted todavía tiene que construir su base de datos y sus propios programas y procedimientos que la manipulen, y hay muchas herramientas disponibles y mucha gente que puede ayudarlo. Y como XML es gratuito, usted puede construir su propio software alrededor de él sin pagar nada a nadie. El soporte grande y creciente significa que usted tampoco está atado a un vendedor único. XML no es siempre la mejor solución, pero siempre vale la pena considerarlo.
Copyright © 1994-2003 W3C® (MIT, ERCIM, Keio), Reservados todos los derechos. Se aplican las reglas de la W3C sobre responsabilidad, marcas, uso de documentos y licencias de software.