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.