Visión general

Definición
eXtensible Markup Language, lenguaje de marcado extensible, según las recogidas en la World Wide Web Consortium
Descripción
Es un lenguaje de marcas que permite al autor de documentos definir sus propias etiquetas. El objetivo es posibilitar que el propio documento indique la estructura de los datos que contiene.Es decir, las etiquetas XML no se preocupan de cómo se verá el documento, sino de qué tipo de datos contiene. La presentación de los mismos se deja para más adelante en el diseño. Así, un mismo documento XML se puede presentar al lector de muy diversas maneras (sin necesidad de retocar el código del propio documento) según se aplique sobre él distintas hojas de estilo. Estas hojas de estilo se escribirán en un lenguaje paralelo llamado XSL
Estándares relacionados
es un estándar promovido por el para facilitar la construcción de documentos estructurados mediante marcado. Dichos documentos deben ser validados por un analizador de código. La validación de las marcas (etiquetas) de un documento XML se hace contrastándolo con una (Definición de Tipo de Documento) en donde se define la estructura de las mismas. No obstante, existen documentos XML que no tienen asociados ninguna DTD. En terminología XML, estos documentos sin DTD se dicen que están bien formados, mientras que los que siguen las especificaciones de una DTD se llaman válidos. Así, existen documentos bien formados que no son válidos, porque no incluyen ninguna DTD para su validación. Las DTD, cuando existen, deben seguir su propia sintaxis de construcción. A menudo, los documentos bien formados incluyen junto con sus datos, las definiciones de sus etiquetas. La decisión de crear una DTD para validar un documento XML o de incluir en el propio documento XML la definición de sus etiquetas dependerá de si dichas etiquetas se van a reutilizar en otro documento (entonces se creará una DTD) o si se definen para uso exclusivo de ese archivo (se creará un documento bien formado sin DTD). En la mayoría de los casos, los documentos XML incluyen una referencia a una o varias DTD junto con definiciones internas de etiquetas.

Otro de los estándares relacionados con XML es el lenguaje XLINK. Dicho estándar, también bajo los auspicios de www.w3c.org, define el lenguaje de enlaces de documentos XML. Estos enlaces son mucho más ricos que los enlaces utilizados en HTML permitiendo una flexibilidad alucinante. Por citar algunos ejemplos, un enlace extendido (enlaces XLINK) puede tener distintos destinos, cruzarse en multiples direcciones y estar almacenados en bases de datos y grupos independientemente de los documentos a los que se refiere. Además, el autor de un documento XML puede crear distintos tipos de elementos enlace con distintos comportamientos, lo que le permite dotar de significado a dichos enlaces e incluso hacer que se visualicen de distinta manera según el tipo de enlace al que se refiera. En estos momentos, XLINK esta en fase de searrollo (como casi todo en el mundillo de XML), por lo que no sabemos cómo será su versión definitiva, pero los conceptos fuundamentales ya están fijados.

"La visualización se deja para mas adelante" es una frase que ha salido en este mismo documento. Pues bien, El Lenguaje de eStilo eXtensible (XSL) es el lenguaje desarrollado dentro del Consorcio World Wide Web para aplicar formatos a los documentos XML de una forma estándar. XSL está basado en DSSL, un estándar internacional mucho más potente de la ISO, pero los conceptos de DSSL han sido simplificados y "pre-ajustados" en XSL para ser untilizados en la Web, según estos tres principios de diseño:

  • XSL tiene que ser directamente utilizable en Internet
  • Las hojas de estilo de XSL tiene que ser comprensibles para el ser humano
  • La creación de hojas de estilo de XSL tiene que resultar sencillas

Pero XML sólo no basta. XML proporciona una forma de representar los datos, pero no asocia los datos de entrada o de salida de una aplicación con nombres de servicios y no ofrece una forma de hacer corresponder tipos de mensajes entre distintas aplicaciones. Una solución obvia a este problema consistiría en asociar las DTD de entrada con las de salida y asignar a estas asociaciones nombres de servicios, pero esta solución exige que las dos aplicaciones admitan XML y sean conformes a las mismas DTD. Demasiadas restricciones. Una solución mejor a este problema de interoperabilidad es definir interfaces de aplicación de una forma abstracta, al modo que lo hace CORBA, DCOM y DCE, mediante un Lenguaje de Definición de Interfaz (IDL). Este es el papel de WIDL, acrónimo de Web Interface Definition Language. Se trata de un IDL expresado en XML que cumple con la regla 80/20: proporciona el 80% de la capacidad de un IDL convencional con un 20% de complejidad.

Por último existe una propuesta, como siempre del consorcio www.w3c.org, de crear esquemas DTD. Dicha propuesta recibe el nombre de XML-Data y pretende definir las características de clases de objetos independientemente de su sintaxis, admitiendo tipos de datos enriquecidos (que permiten una validación más ajustada de los datos y una reducción del esfuerzo a la hora de aplicarlos), creando espacios de nombre (que mejora la expresividad y garantiza la existencia de nombres aceptados de forma única) y oferciendo mayores y más eficaces utilidades semánticas al incorporar el concepto de herencia (que permite que un esquema se base en otro)

Software relacionado con XML
Este es, hoy por hoy, uno de los puntos oscuros de la aplicación práctica de XML y probablemente uno de los factores que más están frenando su inevitable y anunciada expansión. Después de la proliferación de "versiones" de HTML surgidas desde las compañías que fabrican navegadores para diferenciar su producto del de la competencia, el consorcio está siendo muy estricto en el mantenimiento del estándar XML. Este celo asegura que no se volverán a repetir con XML los problemas de compatibilidad que surgieron con HTML, pero resta interés a los fabricantes de navegadores para hacer productos que cumplan con el estándar. Afortunadamente, las últimas versiones de Explorer y Netscape parecen soportar XML en alguna medida.
Pero el navegador XML es el software del lector de documentos XML. La tendencia es que dicho navegador sea exactamente el mismo que el de documentos HTML (no en vano, se puede considerar un documento HTML bien formado como un documento válido XML según una DTD que define las etiquetas de HTML), aunque existen navegadores propios de XML.
En cuanto al software de autor, el problema es similar al de HTML. Basta, para crear documentos bien formados XML, con un editor de texto ... y mucha disciplina para conseguir no violar ninguna de las reglas sintácticas. Hay que recordar que un documento XML, para estar bien formado, debe ser analizado, por lo que existen programas analizadores de código XML que se encargan de comprobar que cumple las normas de la especificación XML.
También encontramos editores de DTD, editores de XML, etc, tanto de pago como gratuito. Muchos de ellos están escritos en Java y existen algunos que incluyen varias de estas funcionalidades en un solo paquete. Además, programas comerciales como OFFICE 2000 de Microsoft, generan documentos XML.

Volver al indice  
Cambiar opciones