Introducción a XML, lenguaje de marcado extensible

En este tutorial de XML se explican los conceptos fundamentales y la sintaxis utilizada para crear documentos XML bien formados.
Este tutorial es el inicio de una serie de tutoriales en los que exploraremos diversos aspectos del lenguaje XML y sus tecnologías asociadas. A lo largo de esta serie, también cubriremos temas como XSD, DTD y XPath, que te permitirán profundizar en la validación y manipulación de documentos XML. ¡Sigue adelante y explora el fascinante mundo de XML con nosotros!
1. Introducción a XML
XML (eXtensible Markup Language, Lenguaje de Marcado eXtensible) es un lenguaje de marcado utilizado para el almacenamiento y el intercambio de información estructurada. Ha sido desarrollado por W3C (World Wide Web Consortium) y está basado en SGML (Standard Generalized Markup Language, Lenguaje de Marcado Generalizado Estándar).
XML utiliza etiquetas para definir elementos y atributos para proporcionar metadatos adicionales. Estos elementos y atributos pueden anidarse y organizarse de manera jerárquica, lo que permite representar datos complejos de forma estructurada. Al ser un lenguaje extensible, XML permite definir y utilizar etiquetas personalizadas, lo que lo hace altamente adaptable a diferentes necesidades.
XML es un metalenguaje (metalanguage), por lo tanto, puede ser empleado para definir otros lenguajes. Por ejemplo, algunos lenguajes basados en XML son:
- RSS (Really Simple Syndication, Sindicación Realmente Simple)
- SVG (Scalable Vector Graphics, Gráficos Vectoriales Escalables)
- XHTML (eXtensible HyperText Markup Language, Lenguaje de Marcado de Hipertexto eXtensible)
- SOAP (Simple Object Access Protocol, Protocolo de Acceso a Objetos Simples)
- GML (Geography Markup Language, Lenguaje de Marcado Geográfico)
- MathML (Mathematical Markup Language, Lenguaje de Marcado Matemático)
Aunque XML ha sido ampliamente utilizado en el pasado, su popularidad ha disminuido en los últimos años debido a la adopción de otros formatos de intercambio de datos más eficientes y especializados, como JSON (JavaScript Object Notation, Notación de Objeto de JavaScript).
1.1. Analizador o parser XML
Cuando los programadores modifican la estructura de los datos también deben cambiar la tecnología para extraerlos. Gracias a XML tenemos un enfoque estandarizado para obtener la información necesaria, sin importar cómo esté organizada.
Siguiendo las reglas establecidas por XML, nos aseguramos de acceder a nuestra información de forma sencilla. Esto se debe a la existencia de analizadores o parsers, programas capaces de interpretar la sintaxis XML y extraer la información requerida.
Podemos utilizar estos analizadores en nuestros propios programas, evitando así la necesidad de acceder directamente a los archivos XML y reduciendo nuestra carga de trabajo.
1.2. Diferencias entre HTML y XML
HTML (HyperText Markup Language) y XML (eXtensible Markup Language) son dos lenguajes de marcado ampliamente utilizados, pero tienen diferencias significativas en cuanto a su estructura y propósito:
- Propósito (Purpose): HTML se utiliza principalmente para estructurar y presentar contenido web, mientras que XML se utiliza para almacenar y transportar datos estructurados de manera flexible.
- Sintaxis (Syntax): HTML tiene una sintaxis predefinida y estándar que sigue reglas específicas para etiquetas y atributos. XML, por otro lado, permite crear una sintaxis personalizada y definir etiquetas y atributos según las necesidades del usuario.
- Etiquetas (Tags): HTML tiene un conjunto limitado de etiquetas predefinidas que se utilizan para marcar diferentes tipos de contenido, como encabezados, párrafos, listas, etc. XML no tiene etiquetas predefinidas y permite al usuario definir sus propias etiquetas según la estructura de datos que se necesita representar.
- Validación (Validation): HTML se valida automáticamente por los navegadores web para garantizar la correcta interpretación del contenido. XML puede ser validado mediante DTD (Document Type Definition) o esquemas XML (XML Schema) para asegurar que cumpla con una estructura y formato determinados.
- Presentación (Presentation): HTML se centra en la presentación visual del contenido web, permitiendo el uso de estilos para diseñar la apariencia de la página. XML no se preocupa por la presentación visual y se enfoca en la estructura y organización de los datos.
- Uso de atributos (Use of attributes): HTML utiliza atributos predefinidos para proporcionar información adicional sobre los elementos, como el atributo «src» en la etiqueta de imagen para especificar la ruta de la imagen. XML permite al usuario definir sus propios atributos según las necesidades del modelo de datos.
Descubre cómo escribir un documento XML desde cero y profundiza en el mundo de la estructura y sintaxis XML en la siguiente sección: Cómo se escribe un documento XML.