A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Qué es XML

XML Definición:

XML es un lenguaje de marcas que permite representar documentos y datos mediante elementos, atributos y texto organizados en una estructura jerárquica. Su nombre procede de Extensible Markup Language, lenguaje de marcado extensible. La especificación XML 1.0 del W3C establece las reglas de su sintaxis.

A diferencia de un vocabulario con etiquetas predefinidas, XML permite definir nombres de elementos adecuados a cada aplicación. Esos nombres describen la estructura, pero no indican por sí solos cómo debe procesarse o mostrarse la información. Los sistemas que intercambian un documento necesitan compartir las convenciones de su formato.

Puede leerse como texto y procesarse mediante software. Se utiliza tanto en documentos como en intercambios de datos y servicios web. No es un lenguaje de programación ni una base de datos; proporciona una forma de representar información que otras aplicaciones pueden utilizar.

Aplicaciones de XML

Distintos formatos utilizan la sintaxis XML para fines concretos. RSS y Atom permiten distribuir actualizaciones de contenidos; SOAP define una estructura de mensajes para servicios web; y XHTML expresa un vocabulario de HTML mediante reglas de XML. Compartir sintaxis no convierte estos formatos en equivalentes.

También se utiliza en documentos ofimáticos. Office Open XML, empleado en archivos como DOCX o XLSX, y OpenDocument, utilizado por aplicaciones como LibreOffice, organizan información mediante componentes XML. Estos archivos pueden ser paquetes que contienen varios documentos y otros recursos, no un único archivo XML de texto.

Otros ejemplos son SVG, para gráficos vectoriales, y XMPP, que utiliza XML en la comunicación entre entidades de una red. La utilidad depende del vocabulario y del protocolo que establecen cómo interpretar sus elementos.

Los archivos de configuración de aplicaciones de .NET Framework también pueden utilizar XML. Esta es una aplicación concreta dentro de ese framework, no una regla que obligue a cualquier programa o plataforma a guardar su configuración en ese formato.

Vocabularios XML especializados

La extensibilidad de XML permite crear vocabularios para ámbitos concretos. Cada uno utiliza la sintaxis de XML, pero define sus propios elementos, restricciones y significado:

  • MusicXML: Estructura la información necesaria para intercambiar partituras digitales entre aplicaciones musicales. También puede actuar como formato intermedio entre editores de partituras visuales y herramientas de musicografía braille, aunque la conversión depende de las funciones de cada aplicación.
  • GPX: Organiza puntos, rutas y recorridos para intercambiar datos GPS entre aplicaciones y servicios.
  • KML: Representa anotaciones y visualizaciones geográficas destinadas a mapas y navegadores terrestres.

Estos vocabularios muestran cómo una sintaxis común puede utilizarse para representar información especializada sin convertir los distintos formatos en equivalentes.

Intercambio de datos y XML

Un documento XML organiza los elementos dentro de un elemento raíz. Las etiquetas deben estar correctamente anidadas, los valores de los atributos se escriben entre comillas y los nombres distinguen mayúsculas y minúsculas. Un elemento puede contener texto, otros elementos o una combinación de ambos.

Este ejemplo representa un producto con un identificador y un precio:

<producto id="A1">
  <nombre>Cuaderno</nombre>
  <precio moneda="EUR">4.50</precio>
</producto>

La sintaxis permite reconocer elementos y atributos, pero la aplicación necesita saber qué significa cada uno. El texto 4.50 no adquiere automáticamente un tipo numérico por aparecer dentro de una etiqueta llamada precio; un esquema y las reglas del sistema pueden definir cómo validarlo e interpretarlo.

Un documento bien formado cumple las reglas sintácticas de XML. La validación añade una comprobación frente a una definición de estructura, como una DTD o un esquema XSD, cuando se utiliza. Un documento puede estar bien formado y no cumplir el esquema esperado por una aplicación.

Los espacios de nombres permiten distinguir vocabularios que utilizan nombres iguales. Su identificador no tiene que ser una página que se descargue al procesar el documento. Herramientas como XPath permiten seleccionar partes de la estructura, mientras que los analizadores y las API facilitan leerla y trabajar con ella.

Al enviar XML por Internet, el tipo de medio comunica qué clase de contenido se transmite. El RFC 7303 define application/xml y reconoce text/xml como alias; no declara este último obsoleto. También establece el sufijo +xml para tipos específicos basados en XML, como image/svg+xml.

El tipo de medio no sustituye el acuerdo sobre el significado de los datos. La codificación declarada debe ser coherente con los bytes enviados, y ambos sistemas necesitan entender el vocabulario, su versión y los campos esperados. XML es una opción de intercambio junto a formatos como JSON; la elección depende de las necesidades y de los sistemas participantes.

Recomendaciones para el uso de XML

El RFC 3470, identificado como BCP 70 del IETF, recoge consideraciones para utilizar XML en protocolos y aplicaciones de red. Es una guía de diseño, no una garantía de que cualquier implementación resulte eficiente o interoperable.

Definir el vocabulario, los campos obligatorios y las reglas de validación ayuda a que diferentes aplicaciones interpreten los documentos de forma coherente. También conviene prever cómo se incorporarán nuevos elementos o versiones sin romper los intercambios existentes.

El procesamiento debe ajustarse al origen y al tamaño de los documentos. Los analizadores pueden ofrecer funciones para resolver entidades externas o cargar recursos adicionales; si no son necesarias, restringirlas ayuda a evitar accesos no previstos. Los límites de tamaño y expansión también importan cuando se reciben documentos de fuentes externas.

XML no cifra ni autentica los datos por el mero hecho de estructurarlos. La protección del intercambio depende del transporte y de los mecanismos aplicados. Del mismo modo, validar la estructura no demuestra que la información sea verdadera ni que el remitente sea legítimo.