# XML

> Un formato de texto que envuelve los datos en etiquetas con nombre, legible por todos.

- Nivel: Básico
- Temas: Datos, Software
- URL: https://tidbit.legios.com.ar/es/xml/
- En inglés: [XML](https://tidbit.legios.com.ar/xml/)

**XML** (Extensible Markup Language, lenguaje de marcado extensible) es una forma de escribir datos estructurados como texto plano, usando etiquetas entre signos de menor y mayor. Cada dato va entre una etiqueta de apertura y una de cierre con el nombre que elijas: una etiqueta `title` con "Rayuela" adentro, dentro de una etiqueta `book`, dentro de una etiqueta `library`. La de cierre repite el nombre con una barra. Como las etiquetas se pueden anidar, XML describe casi cualquier forma de datos como un árbol.

El W3C lo estandarizó en 1998 y se volvió el idioma común para intercambiar datos entre empresas y sistemas. Sigue en todos lados, muchas veces sin que se vea: los archivos de Word y Excel (`.docx`, `.xlsx`) son carpetas comprimidas llenas de XML, los feeds RSS y los sitemaps son XML, las imágenes SVG como la de esta página son XML, y muchos bancos, organismos públicos y sistemas de factura electrónica intercambian documentos XML.

En las APIs web nuevas, JSON ocupó casi todo su lugar, porque es más corto y se parece directamente a los objetos que usan los programadores. XML es más verboso, pero trae cosas que JSON no tiene de entrada, como esquemas que validan un documento con rigor y atributos dentro de las etiquetas. Ese rigor es la razón por la que sobrevive en intercambios formales de documentos que tienen que durar años.

## Una analogía

Sobres rotulados dentro de sobres rotulados: uno grande que dice "libro", con otros más chicos adentro que dicen "título" y "autor". Cualquiera los abre y sabe exactamente qué es cada papel.

## Para quedarse

- Texto plano con etiquetas de apertura y cierre con nombre, anidadas como un árbol.
- Estándar del W3C desde 1998, todavía usado en documentos, feeds, facturas y SVG.
- Los archivos .docx y .xlsx son XML adentro de un zip.
- JSON lo reemplazó en la mayoría de las APIs web; XML queda donde importa validar estricto.

## Para seguir leyendo

- [XML en Wikipedia](https://es.wikipedia.org/wiki/Extensible_Markup_Language)
- [Introducción a XML (MDN)](https://developer.mozilla.org/es/docs/Web/XML/Guides/XML_introduction)

## Términos relacionados

- [Planilla vs base de datos](https://tidbit.legios.com.ar/es/spreadsheet-vs-database/): Por qué una empresa que vive en Excel termina necesitando una base de datos de verdad.
- [API](https://tidbit.legios.com.ar/es/api/): El menú de cosas que un programa le deja pedir a otro programa.
- [JSON](https://tidbit.legios.com.ar/es/json/): El formato de texto con el que los programas se pasan datos estructurados.
