¿Qué es XML? Guía completa del lenguaje de marcado extensible
XML (Extensible Markup Language) es un lenguaje de marcado versátil diseñado para almacenar y transportar datos en un formato legible por humanos y procesable por máquinas. Sigue siendo una piedra angular del software empresarial, los archivos de configuración y el intercambio de datos.
El propósito de XML
XML fue desarrollado por el W3C a finales de los años 90 para satisfacer una necesidad fundamental: una forma estándar de describir datos estructurados que funcione entre plataformas, lenguajes y organizaciones. A diferencia de HTML, que define cómo debe verse el contenido, XML define lo que los datos significan a través de etiquetas personalizadas.
Estructura y sintaxis de XML
Un documento XML es un árbol de elementos, cada uno definido por un par de etiquetas:
<?xml version="1.0" encoding="UTF-8"?>
<libreria>
<libro categoria="ficcion">
<titulo lang="es">Don Quijote de la Mancha</titulo>
<autor>Miguel de Cervantes</autor>
<anio>1605</anio>
<precio>14.99</precio>
</libro>
<libro categoria="programacion">
<titulo lang="es">Clean Code</titulo>
<autor>Robert C. Martin</autor>
<anio>2008</anio>
<precio>35.50</precio>
</libro>
</libreria>
Los elementos estructurales clave incluyen:
- El prólogo: Una declaración opcional al inicio que especifica la versión XML y la codificación de caracteres.
- Elementos: Definidos por etiquetas de apertura y cierre (
<titulo>...</titulo>). - Atributos: Pares nombre-valor dentro de las etiquetas de apertura (
categoria="ficcion"). - Anidamiento: Los elementos pueden contener otros elementos, formando un árbol jerárquico.
- Etiquetas de cierre automático: Los elementos vacíos usan la sintaxis
<br />.
Reglas del XML bien formado
XML es estricto — un solo error invalida todo el documento:
- Toda etiqueta de apertura debe tener una etiqueta de cierre:
<p>debe cerrarse con</p>. - Las etiquetas deben estar correctamente anidadas:
<b><i>texto</i></b>es válido;<b><i>texto</b></i>no lo es. - Debe haber exactamente un elemento raíz: Todos los demás elementos deben ser descendientes de esta raíz única.
- Los valores de atributos deben estar entre comillas: Se permiten comillas simples y dobles.
- XML distingue entre mayúsculas y minúsculas:
<Titulo>y<titulo>son elementos diferentes. - Los caracteres especiales deben escaparse: Usa
&para&,<para<,>para>.
XML vs HTML: diferencias clave
| Característica | XML | HTML |
|---|---|---|
| Propósito | Almacenar/transportar datos | Mostrar contenido |
| Etiquetas | Personalizadas, definidas por el usuario | Predefinidas por la especificación |
| Manejo de errores | Estricto — cualquier error detiene el análisis | Tolerante — los navegadores corrigen errores |
| Etiquetas de cierre | Obligatorias para todos los elementos | Opcionales para algunos elementos |
| Mayúsculas/minúsculas | Distingue | No distingue |
Casos de uso comunes
- Archivos de configuración: Maven (
pom.xml), Spring, manifiestos de Android y MSBuild dependen de XML. - Servicios web: Las APIs SOAP usan sobres XML para el intercambio estructurado de mensajes.
- Formatos de documentos: Office Open XML (
.docx,.xlsx) y SVG están basados en XML. - Intercambio de datos: Industrias como finanzas (FpML) y salud (HL7) usan esquemas XML.
- Sitemaps: Los motores de búsqueda leen
sitemap.xmlpara descubrir páginas para indexación.
Preguntas frecuentes
¿XML sigue siendo relevante en 2026?
Sí. Aunque JSON ha superado a XML para APIs web, XML sigue siendo esencial para sistemas empresariales, servicios SOAP, formatos de documentos como .docx y .xlsx, archivos de configuración y estándares de datos sectoriales.
¿Puede XML reemplazar a HTML?
No. XML y HTML sirven propósitos diferentes. HTML está diseñado para mostrar contenido en navegadores, mientras que XML está diseñado para almacenar y transportar datos estructurados. XHTML intentó fusionarlos pero fue mayormente abandonado.
¿Cuál es la diferencia entre XML y JSON?
XML es más verboso con su sintaxis basada en etiquetas, pero soporta namespaces, esquemas (XSD) y transformaciones (XSLT). JSON es más compacto y se mapea directamente a objetos de lenguajes de programación, siendo preferido para APIs web.
Guías relacionadas
- ¿Qué es la codificación Base64? Cómo funciona y cuándo usarla
- ¿Qué es JSON? Guía completa sobre la notación de objetos de JavaScript
- ¿Qué es la codificación URL? Guía sobre la percent-encoding
- ¿Qué es un UUID? Entendiendo los identificadores universalmente únicos
- ¿Qué es una función hash? Entendiendo MD5, SHA y el hashing criptográfico
Última actualización el 2026-09-27