Fundamentos, evolución y estructura básica del lenguaje XML
¿Qué es XML?
XML es el acrónimo de "eXtensible Markup Language", que en español
significa Lenguaje de Marcas Extensible. Se trata de un lenguaje de
marcado con una estructura similar a HTML, pero con un enfoque
diferente. Mientras que HTML está diseñado para mostrar información
en un navegador web, XML se centra en almacenar y transportar datos
de una manera estructurada y legible tanto para humanos como para
máquinas.
XML es un lenguaje altamente flexible y autodescriptivo, lo que
significa que los datos contenidos en un documento XML pueden
entenderse sin necesidad de programas adicionales o formatos
predefinidos. Su principal ventaja es que permite definir etiquetas
personalizadas para organizar la información de acuerdo con las
necesidades específicas de cada usuario o aplicación.
Historia de XML: Cómo empezó y por qué
XML (Extensible Markup Language) nació en la década de 1990 como una
solución para estructurar datos de manera universal y compatible
entre diferentes plataformas. Su origen se remonta a SGML (Standard
Generalized Markup Language), un estándar creado en los años 70 por
Charles Goldfarb, Ed Mosher y Ray Lorie en IBM. SGML no era un
lenguaje en sí mismo, sino una especificación para definir lenguajes
de marcado, de los cuales HTML fue una de sus aplicaciones más
conocidas.
HTML, aunque ampliamente adoptado, se volvió problemático debido a
la falta de disciplina en su implementación, la fragmentación entre
navegadores y la mezcla de contenido con presentación. Esto
dificultó su uso para estructurar datos de manera eficiente.
En respuesta a estas limitaciones, un grupo liderado por Jon Bosak,
Tim Bray y James Clark desarrolló XML, con la idea de ofrecer un
estándar flexible para almacenar y compartir datos estructurados en
cualquier plataforma. XML fue respaldado por el W3C y adoptado
rápidamente por la industria, incluyendo a Microsoft, que lo utilizó
como base para su estrategia de interoperabilidad con .NET. Aunque
XML no pertenece a ninguna empresa, su utilidad ha sido clave para
conectar sistemas y facilitar el intercambio de información en
múltiples sectores.
Diferencias entre XML y HTML
Aunque XML y HTML son muy parecidos, se diseñaron para cosas
distintas y distintas metas en mente:
El diseño de XML está centrado en
TRANSPORTAR datos, teniendo en consideración y
centrándose en que son los datos.
En cambio, HTML se ha diseñado para MOSTRAR los
datos, teniendo en consideración y centrándose en cómo los datos
se ven.
Las etiquetas XML no están predefinidas como lo son en HTML. Es
decir, las etiquetas de HTML están predefinidas para un uso en
concreto (H1, Title, ...), mientras que las de XML son
personalizables según la necesidad del usuario.
Estructura (Tree)
XML organiza la información en una estructura jerárquica en forma de
árbol, donde un elemento raíz contiene a los demás elementos
anidados. Cada elemento puede tener subelementos, atributos y
contenido de texto, lo que permite representar datos de manera clara
y estructurada.
empresa
└── departamento
└── empleado
├── nombre
└── edad
<empresa> <!-- Elemento raíz -->
<departamento> <!-- Hijo de empresa -->
<empleado> <!-- Hijo de departamento -->
<nombre>Juan</nombre> <!-- Hijo de empleado -->
<edad>30</edad>
</empleado>
</departamento>
</empresa>
Sintaxis
La sintaxis de XML define las reglas que deben seguirse para
escribir documentos XML correctamente. Estas reglas aseguran que los
datos sean bien estructurados, legibles y procesables por diferentes
sistemas.
📌 Puntos clave de la sintaxis:
Todas las etiquetas deben cerrarse correctamente.
Debes estar correctamente anidadas (sangría).
Distingue entre mayúsculas y minúsculas (case-sensitive).
Los atributos deben estar entre comillas.
Declaración del documento XML (Prolog)
<?xml version="1.0" encoding="UTF-8"?>
version="1.0" indica la versión de XML utilizada
en el archivo.
encoding="UTF-8" especifica la codificación de
caracteres que va a utilizar el archivo.
Elementos/etiquetas y atributos
De manera similar a HTML, en XML los elementos/etiquetas son la base
del lenguaje y siempre deben tener una etiqueta de apertura y otra
de cierre.
<nombre>Juan</nombre> <!-- Correcto -->
Tambien pueden autocerrarse si no contienen contenido, como el
siguiente ejemplo:
<imagen src="foto.jpg"/>
Anidación de elementos
La anidación de elementos en XML se refiere a cómo los elementos
pueden contener otros elementos dentro de ellos, creando una
estructura jerárquica o en forma de árbol.
Los atributos son pares de clave-valor que se añaden a las etiquetas
para proporcionar información adicional sobre el contenido de los
elementos. Los atributos deben estar entre comillas.