Como es sabido HTML (Hypertex
Markup Language) se ha convertido en un lenguaje de inmensa popularidad durante los
últimos años ya que es la base sobre la que se preparan los contenidos para Internet.
También debemos notar que nos hemos encontrado con sus propias limitaciones, que algunas
de ellas se han querido subsanar con scripts, javascripts, Active X, HTML dinámico, etc.;
pero en la realidad todas estas herramientas no aportan una solución global a las
limitaciones del HTML. Hasta hace poco tiempo o actualmente cuando un Webmaster diseña un
programa de compras para una tienda virtual, basándose en HTML, debe realizar un arduo
trabajo que muchas veces no puede exportarse para su uso por otras tiendas. Quizá su
diseño estaba previsto para Windows NT y no funciona en plataformas UNIX, o hacía uso de
Perl pero no se integraba con Java. La implantación de XML viene a eliminar este tipo de
situaciones permitiendo la creación de herramientas más estructuradas.
La solución a este problema es XML (Extensible Markup Languaje), que es un lenguaje de
marcas (etiquetas) capaz de estructurar y definir la información en un documento.
Además, el XML habilitará una nueva generación de aplicaciones manipulación y
visualización de datos basadas en Web.
La información estructurada nos permite distinguir entre el contenido, (palabras,
imágenes, gráficos, etc.), y el papel que juega dentro del documento, (por ejemplo, no
es lo mismo el contenido informativo de un encabezado, que el de un pie de página, ya que
el primero es más relevante). Se puede asegurar que casi todos los documentos tienen una
estructura definida. XML nos permite identificar esas estructuras. A partir de ahora la
palabra documento tendrá para nosotros un significado añadido, además de información,
palabras, imágenes y gráficos, tendrá una estructura reconocible.


¿Es igual XML a HTML?
La respuesta es categóricamente no, mientras que en HTML el significado que aporta una
etiqueta es fijo, predefinido por el estándar, (<HEAD>... </HEAD>, identifica
la cabecera del documento, <BODY>... </BODY>, el cuerpo, etc.), y proporciona
una estructuración a un único nivel, en XML no existe un conjunto de etiquetas con
significado predefinido y la estructuración puede ser de tantos niveles como deseemos.
En principio, la intención de HTML era que las etiquetas fueran capaces de marcar la
información de acuerdo con su significado, sin importar cómo se mostraban en la
pantalla. Lo importante era el contenido y no la forma, o sea, que era un lenguaje de
marcas orientado a describir los contenidos, dejando a cada navegador la tarea de dar el
formato del documento según su criterio de interpretar las marcas. Esto producía
presentaciones diferentes, pero permitía controlar fácilmente su contenido. Si una
persona o un motor de búsqueda quería conocer el título del documento, el autor de la
página o las cabeceras de los capítulos, siempre buscaba en el código las etiquetas
TITLE, ADDRESS o Hx. Además, si a alguien no le gustaba la idea de dejar a cada
aplicación la decisión de cómo mostrar el contenido de las etiquetas, siempre le
quedaba la posibilidad de controlar el formato del documento con descripciones
particulares, como es el caso de las hojas de estilo en cascada (CSS).
Pero por diversos motivos, los creadores de los navegadores fueron añadiendo más
etiquetas HTML dirigidas a controlar la presentación, como FONT, I, CENTER, xCOLOR, etc.,
y los usuarios las utilizaron para que sus documentos estuviesen perfectamente
formateados, sin permitir diferencias importantes entre visualizadores distintos, por lo
que HTML pasó a ser un lenguaje de marcas más dirigido al control de la presentación
HTML, no es un lenguaje de programación, es un lenguaje de especificación de contenidos
para un tipo específico de documentos SGML. Es decir, mediante HTML podemos especificar,
usando un conjunto de marcas, cómo va a representarse la información en un navegador o
browser. La facilidad de uso y la particularidad de que no es propiedad de nadie, hizo al
HTML el sistema idóneo para compartir información en Internet. La expansión de Internet
le ha dado una posición de privilegio y ha hecho que la idea inicial se modifique
considerablemente.
Por esto mismo, HTML es actualmente un lenguaje sobrecargado, limitado por las
imposiciones de los desarrolladores de navegadores y los avances técnicos que imponen
añadir cada vez más capacidades al estándar, y la compatibilidad hacia atrás. (Si
Explorer o Navigator implementan esta o aquella nueva etiqueta que proporciona a los
diseñadores de páginas Web la posibilidad de incorporar una nueva filigrana visual a sus
diseños, hasta ahora para intentar mantener un mínimo de compatibilidad, se han
intentado incorporar estas etiquetas al estándar, y ya sabemos la guerra que hay entre
Microsoft y Netscape). Un documento HTML, a pesar de ser sencillo y portable a múltiples
plataformas, no permite distinguir entre partes de un documento, por tanto, siempre habrá
que manejarlo, transmitirlo en su totalidad, pensar en él como un único bloque.
XML es en realidad un meta-lenguaje para describir lenguajes de marcas, proporciona las
herramientas necesarias para definir etiquetas y las relaciones jerárquicas que
necesitemos entre ellas. El significado semántico de cada marca lo daremos nosotros en la
aplicación que procese los documentos o en las hojas de estilo, que encapsularán el
formato/presentación del documento.
¿Es entonces igual a SGML?
Tampoco. XML es un subconjunto de SGML. SGML, (Standard Generalized Markup Languaje, ISO
8879), ha sido el principal lenguaje para el almacenamiento de información estructurada
durante una década, ejemplos de sistemas como TIM, lenguaje específico para las
telecomunicaciones, muy complejo por cierto, dan muestra de ello. El problema es que SGML
no es apropiado para definir documentos que van a almacenarse en la Red, puesto que es muy
complejo de utilizar, no es trivial definir estructuras y etiquetas con él, requiere
visualizadores especiales, potentes, capaces de interpretar y mostrar lo que en ocasiones
serán complejas estructuras organizadas jerárquicamente. Estos visualizadores no son muy
corrientes y las necesidades de procesamiento que requieren son mucho más altas que las
que exigiría un visualizador XML ó HTML, SGML es un formato muy pesado.
XML es una forma restringida de SGML, portable, más ligera y fácil de utilizar, de forma
que cualquier visor de SGML debe ser capaz de interpretar XML.
Es necesario resaltar que puede haber diferencias de interpretación es cuanto a los
espacios en blanco, (tabulador, espacio blanco y retorno de carro), entre XML y SGML.
Cualquiera de estos en un documento XML se interpretan como tales mientras se encuentren
entre una etiqueta de apertura y otra de cierre.
¿Por qué entonces XML?
Aunque HTML ofrece amplias facilidades de presentación, no ofrece ninguna forma basada en
estándares para administrar los datos y, llegado a un punto en el que HTML dejó de
servir para su función inicial, en 1996 al Consorcio World Wide Web (W3C) no le quedó
más remedio que describir un nuevo subconjunto del SGML que sirviese para describir
contenidos de documentos, al que ha denominado XML, publicando las especificaciones de la
versión 1.0 en 1998. Está además asociado a la recomendación del W3C DOM (Document
Object Model), aprobado también en 1998. Éste no es más que un modelo de objetos (en
forma de API) que permite acceder a las diferentes partes que pueden componer un documento
XML o HTML. En estos momentos ya podemos empezar a hablar de XML con un poco de visión
retrospectiva de los motivos de su aparición.
XML fue creado para posibilitar la distribución de documentos con formato/estructuración
a través de la Red, puesto que las soluciones que ofrecían HTML y SGML no eran viables
ni prácticas para este propósito.
HTML, como hemos dicho antes, está limitado por un conjunto de etiquetas fijo con
semántica predefinida, en muchos casos impuesta por los intereses de las casas
desarrolladoras y distribuidoras de navegadores, y por su incapacidad de proporcionar una
estructuración real, con un número arbitrario de niveles.
SGML, puede dar toda la estructuración que deseemos, pero tiene en contra su gran
complejidad.
XML no va a sustituir completamente ni a HTML, ni a SGML. El primero por su sencillez
seguirá siendo útil, sobre todo para dar formato/presentación a páginas XML, mientras
se afianza XSL, el estándar de las hojas de estilo, formato/presentación, para XML;
mientras aparecen visualizadores XML eficientes y que sean capaces de mostrar estas
páginas al menos con el mismo nivel de calidad en presentación que las páginas HTML, se
utilizarán páginas en este formato para mostrar los contenidos XML; también si una
página es estática, sujeta a pocos cambios, logotipos, anagramas, portadas, etc.,
encontrará en HTML un modo adecuado de implementación. El segundo, seguirá solucionando
un rango de problemas cuya complejidad no pueda ser abordada por XML, y en los que los
resultados si justifiquen el esfuerzo de emplearlo.
En el futuro no será extraño que se vean soluciones en las que haya sistemas que
implementen soluciones que gestionen la información, o partes de ella, con diferentes
formatos, SGML, XML o HTML, según el nivel de dificultad del problema, tendríamos
incluso pasarelas entre los distintos formatos de representación de manera que podamos
dirigir la información al lugar que nos interese y en el formato que sea apropiado según
las necesidades de la organización.
Objetivos de los diseñadores de XML
Los principales impulsores de XML han sido los miembros del Word Wide Web Consorcium, W3C,
ellos están coordinando todos los foros y grupos de trabajo que colaboran en la tarea de
lograr una especificación completa del estándar. Sobre todo el W3C está haciendo mucho
hincapié en que no se cometan los mismos errores que con HTML, es decir, que se
desarrolle un estándar completo, robusto y válido para todo el mundo. Los principales
objetivos que persiguen son los siguientes:
Los documentos XML deben distribuirse y visualizarse por la red con la misma facilidad que
actualmente lo hacen los HTML. La principal dificultad de esto es que aparezcan
visualizadores tan robustos y completos como los actuales, que nos permitan ver cómoda y
adecuadamente la estructura de árbol de los archivos XML.
Los objetivos de XML no deben centrarse únicamente en la posibilidad de servir
información estructurada por la red, hay otras muchas aplicaciones que pueden
beneficiarse del estándar: búsqueda de documentos/información con un determinado autor,
análisis de contenidos, definición de patrones, visualización gráfica de patrones
expresados en XML, etc. En definitiva,
Debe ser totalmente compatible con SGML.
Los programas que interpreten XML deben ser fáciles de escribir.
El número de capacidades opcionales o funcionalidades no definidas, o definidas de
forma ambigua, ha de ser mínimo, o mejor ninguno, para evitar problemas de compatibilidad
y confusiones en la interpretación.
XML debe ser legible para los humanos, de manera que podamos leer un documento en
un simple editor de texto.
La especificación y diseño de XML debe obtenerse rápidamente. Es una solución
que se requiere ya y se está trabajando intensamente para lograrlo.
El diseño de XML debe ser formal y conciso, sin ambigüedades, de forma que le
puedan ser aplicadas todas las técnicas modernas de diseño de compiladores; esto nos
permitirá comprobar que los archivos XML que recibamos están bien formados y libres de
errores antes de visualizarlos.
Los documentos XML han de poder crearse y editarse fácilmente, con editores texto,
PERL o editores específicos para este formato.
La concisión es de mínima importancia. Muchas de las capacidades de SGML fueron
introducidas para facilitar en lo posible la introducción manual de etiquetas, para que
las especificaciones fueran unívocas. XML no soporta estas capacidades, que son la causa
de gran parte de la carga que arrastran los analizadores SGML.
¿Cómo está definido XML?
XML es un formato basado en texto, específicamente diseñado para almacenar y transmitir
datos. Un documento XML se compone de elementos XML, cada uno de los cuales consta de una
etiqueta de inicio, de una etiqueta de fin y de los datos comprendidos entre ambas
etiquetas. Al igual que los documentos HTML, un documento XML contiene texto anotado por
etiquetas, pero, sin embargo y a diferencia de HTML, XML admite un conjunto ilimitado de
etiquetas, no para indicar el aspecto que debe tener algo, sino lo que significa. Por
ejemplo: un elemento XML puede estar etiquetado como precio, número de pedido o nombre.
El autor del documento es quien decide qué tipo de datos va a utilizar y qué etiquetas
son las más adecuadas. Los datos codificados en XML son autodescriptivos, pues las
etiquetas descriptivas están entremezcladas con los datos. El formato abierto y flexible
utilizado por XML permite su uso en cualquier lugar donde sea necesario intercambiar y
transferir información. Dado que el XML es independiente del HTML, se puede insertar
código XML en documentos HTML, utilizando el formato encapsulamiento definido por el W3C.
Al incrustar datos XML en una página HTML, se pueden generar varias vistas a partir de
los datos entregados, utilizando los datos semánticos que contiene el XML.
Extensible Markup Languaje (XML). La recomendación 1.0 define la sintaxis de XML. El
estándar es estable y los desarrolladores de Web y de herramientas pueden adoptarlo
plenamente.
XML Pointer Languaje (Xpointer) y Linking Languaje (Xlink). Define la manera estándar de
XML de representar los vínculos entre recursos. En XML, además de los enlaces Href,
vínculos normales de HTML, contamos con vínculos bidireccionales, y enlaces que
relacionan múltiples recursos, (multienlaces).
Extensible Style Languaje (XSL). Especifica la sintaxis de las hojas de estilo que pueden
aplicarse a un archivo XML. Estas hojas son la base del formato/presentación
personalizado que podemos dar a cualquier documento.
Document Type Definition (DTD). Plantillas que almacenan la estructura del documento y la
definición de sus etiquetas, aislando la información estructural de la instancia
propiamente dicha. (Es decir, una tarjeta de visita podría ser modelada con determinada
estructura, pero esta estructura es independiente de un ejemplo de tarjeta, una
instancia). Esta distinción nos permite tener varios documentos con un mismo formato sin
tener que definirlo cada vez que lo necesitemos; al mismo tiempo podemos definir cualquier
particularidad que escape de esta especificación general, dentro de un documento
concreto. (Las DTDs vendrían a ser algo similar al concepto de clase en la
Programación Orientada a Objetos, mientras que el fichero XML, representaría una
instancia, objeto, de dicha clase).
Debemos destacar que también existen trabajos sobre lenguajes de consulta que permiten
localizar información dentro de un archivo XML, o buscar ciertos documentos que cumplan
determinadas condiciones.
Fortalezas y Debilidades del XML
La meta fundamental del XML es hacer la cooperación y la interoperabilidad más fáciles
entre módulos que pertenecen a diferentes sistemas, e incluso a diferentes
organizaciones. Entonces, ¿por qué el XML se ha convertido en tecnología del alto nivel
tan rápidamente? La respuesta es simple: XML es texto simple, pero es también elegante.
Un lenguaje de marcas hace fácil identificar (y extraer en un tiempo posterior) segmentos
específicos de información con significados especiales.
Usar texto simple y mantener el contenido universalmente interpretable son dos condiciones
para implementar una tecnología exitosamente entre sistemas heterogéneos. Una cadena del
texto se puede transferir y se puede manejar fácilmente en cualquier plataforma destino.
Sin embargo, si solo se planea definir un protocolo basado en texto para hacer que los
módulos se comuniquen, no se necesita XML. El ASCII, de hecho, ha existido durante mucho
tiempo. La diferencia recae en las etiquetas XML que se utilizan para delimitar segmentos
de información.
La principal fortaleza del XML es también, actualmente, su debilidad principal. El XML es
demasiado genérico para ser utilizado sin definir externamente la sintaxis exacta de un
documento y cómo puede localizarse y extraerse cada fragmento de datos intercambiados.
Tal estandarización es más simple de alcanzar dentro de una sola aplicación
corporativa, incluso si atraviesa varias plataformas heterogéneas de hardware y de
software. Conseguir el mismo resultado en un contexto más amplio requiere un enorme
esfuerzo para llegar a algunas definiciones estándares.
Cuando se trata de integrar sistemas de diferentes organizaciones, especialmente de una
manera abierta, el XML muestra algunas limitaciones. El XML trata de la descripción de
los datos, pero solamente es útil cuando las personas están de acuerdo en la manera que
los datos deben ser descritos. Una factura, por ejemplo, es lógicamente el mismo tipo de
documento para cualquier proceso que lo manipule, pero diferentes procesos pueden
convertirla en formatos binarios diferentes. A pesar del formato de almacenamiento
físico, el documento necesita ser transmitido y ser recibido en un formato comúnmente
reconocido disponible en todas las plataformas. Por supuesto, el XML se puede utilizar
como este formato.
Imaginemos el enorme costo que supondría para los consumidores y las empresas si cada
empresa definiera su propia forma de publicar la información. Incluso con la Web, los
costos asociados a la configuración y el mantenimiento de un sitio Web superarían la
capacidad de algunas empresas. Al no haber ningún límite al número de empresas que
podrían publicar esta información, la falta de estándares que definan el modo de
publicarla de una forma segura y controlada tendría como consecuencia miles y miles de
implementaciones, enfoques de exploración de la Web y profundidad del contenido
distintos. Por este motivo, en la actualidad se están definiendo esquemas por grupos
sectoriales con intereses similares, de manera que existirán esquemas estándares
avalados por asociaciones de empresas y organismos que garanticen que cualquier usuario
que las adopte como suyas, trabaje con las mismas etiquetas. Así, surge BizTalk, que es
una iniciativa mundial dirigida a crear una base de datos de formatos o esquemas de
documentos en XML.
XML es una manera de almacenar, buscar y obtener todos esos datos comerciales críticos
que se almacenan en BB.DD y rivaliza con éxito con HTTP, HTML y SQL.
¿Qué ofrece XML? ¿Qué aplicaciones hay?
Ante todo, XML nos da la posibilidad de estructurar e identificar la información en
categorías relevantes. Esto significa que podremos ser capaces de localizar aquello que
realmente necesitemos y podremos transmitir/servir sólo aquellos documentos, o fragmentos
de ellos, que consideremos conveniente, o que nos sean solicitados.
Esto nos abre un gran campo de en las áreas del B2B, (Business to Business), y el B2C,
(Business to Consumer). Por un lado, empresas con diferentes plataformas de gestión y
almacenamiento de BD podrían compartir información de forma inmediata, sólo con
implementar una pasarela XML, es más, ya existen muchas librerías DTDs que modelan
documentos fiscales como facturas, albaranes, recibos, y sistemas que implementan
almacenes de información en XML. Por otro lado, se nos presenta la posibilidad de
personalizar al máximo la oferta de contenidos que proporcionamos a nuestros clientes en
un negocio B2C, pensemos en las posibilidades de las Tecnologías Push, en las que el
cliente selecciona el perfil de la información que desea recibir y el servidor se la
proporciona periódicamente de manera selectiva, sin bombardeos indiscriminados de ofertas
variopintas; imaginemos buscadores de información, recursos, foros, personas, etc., que
proporcionen lo que realmente busquemos, ordenado por relevancia, temática, o cualquier
otra categoría. Tendríamos contenidos para e-commerce, WAP, TV interactiva, orientados a
sectores de población concretos, sería posible tener una plataforma de gestión de
contenidos general e independiente del medio de difusión final. Esta puede ser la
herramienta que solucione la estandarización y difusión de conocimientos científicos,
quién sabe en cuantas áreas podría aplicarse una solución parecida a CML, lenguaje que
aprovecha XML para dar un formato de representación a las cadenas de ADN y complejas
fórmulas químicas.
El XML es valioso para la Internet, así como para los grandes ambientes de intranets
corporativas porque proporciona interoperabilidad utilizando un formato basado en
estándares, abierto y flexible con nuevas formas de acceder a bases de datos propietarias
y proporcionar datos a los clientes de Web. Las aplicaciones se pueden construir más
rápidamente, son más fáciles de mantener y pueden proporcionar varias vistas de los
datos estructurados.
Estas son sólo algunas de las posibilidades, pero tenemos que reconocer que aún queda
bastante tiempo y esfuerzo para que el estándar XML quede totalmente definido, (XSL y
lenguajes de consulta de sobre XML son campos muy amplios en los que todavía queda mucho
que hacer y definir), actualmente, ya van apareciendo atisbos de soluciones reales, queda
que ganen reconocimiento y aprobación, y se extienda su uso. Puede que en un par de años
se pueda hablar de soluciones comerciales con gran introducción en el mercado, pero no
olvidemos que este es un estándar vivo, crece continuamente, y su éxito depende de
muchos factores.
|