Última Actualización: 25 de marzo, 2025

¿Qué es XML?
XML (Lenguaje de Marcado Extensible) es un lenguaje de marcado y formato de archivo utilizado para almacenar, transmitir y reconstruir datos. Proporciona un enfoque estructurado para codificar información, haciéndola legible tanto para humanos como para máquinas.
Características Clave de XML
1. Definido por Estándares Abiertos
- Establecido por el Consorcio World Wide Web (W3C) en 1998 bajo la Especificación XML 1.0.
- Sigue reglas estrictas para garantizar que los datos estén estructurados y sean fáciles de interpretar.
2. Objetivos de Diseño
- XML está diseñado con simplicidad, generalidad y usabilidad en diferentes plataformas.
- Utiliza un formato basado en texto, lo que lo hace fácil de leer y editar.
3. Soporte Unicode
- XML soporta Unicode, permitiéndole almacenar y procesar texto en múltiples idiomas.
4. Versatilidad
- Inicialmente creado para documentos, XML ahora se usa ampliamente para representación de datos en varios dominios, incluyendo servicios web, APIs, y archivos de configuración.
5. Esquema y APIs
- Las estructuras XML pueden definirse usando Definición de Tipo de Documento (DTD), Esquema XML (XSD) o Relax NG.
- Diversas APIs, como DOM (Modelo de Objeto de Documento) y SAX (API Simple para XML), permiten el procesamiento de XML.
6. Usos Comunes de XML
- Intercambio de datos entre diferentes sistemas (p. ej., servicios web, APIs).
- Archivos de configuración en aplicaciones de software.
- Almacenar información estructurada (p. ej., fuentes RSS, gráficos SVG, formatos de documentos como DOCX).
- Desarrollo web (p. ej., XHTML, SOAP, aplicaciones basadas en AJAX).
Descripción General de XML
1. Propósito Principal de XML: Serialización
La serialización en XML significa:
- Almacenar datos en un formato estructurado.
- Transmitir datos entre diferentes sistemas.
- Reconstruir datos en una forma utilizable.
Cuando dos sistemas necesitan intercambiar información, XML proporciona un formato de archivo estandarizado para la interoperabilidad. Actúa como una “lingua franca” para el intercambio de datos estructurados.
2. XML como Lenguaje de Marcado
XML es un lenguaje de marcado, lo que significa que:
- Etiqueta datos con elementos para una estructura clara.
- Organiza información jerárquicamente.
- Categoriza datos con metadatos.
Ejemplo:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
Aquí, <book>
, <title>
, y <author>
son etiquetas que definen elementos de datos.
3. Esquema XML (XSD) y Validación
Un Esquema XML (XSD) define reglas estructurales para documentos XML.
Los documentos XML pueden ser:
- Bien formados → Siguen las reglas básicas de sintaxis (anidación correcta, etiquetas de cierre apropiadas).
- Válidos → Cumplen con las reglas del esquema (elementos obligatorios, tipos de datos correctos).
Ejemplo de una Regla XSD:
<xs:element name="title" type="xs:string"/>
Esto asegura que <title>
debe contener un valor de cadena.
4. Tipos de Medios XML (RFC 7303)
El IETF RFC 7303 define tipos de medios XML para la transmisión de datos:
- application/xml → Datos XML estándar.
- application/xml-external-parsed-entity → Entidades XML analizadas.
- application/xml-dtd → Documentos DTD XML.
Para formatos basados en XML, se utiliza el sufijo +xml (p. ej., image/svg+xml
para imágenes SVG).
5. XML en Aplicaciones en Red (RFC 3470 / IETF BCP 70)
El IETF BCP 70 (RFC 3470) establece las mejores prácticas para el uso de XML en aplicaciones basadas en red, asegurando una interoperabilidad de datos sin problemas entre sistemas.
1. Aplicaciones de XML
XML es un lenguaje de marcado flexible diseñado para intercambio de datos a través de Internet. Su sintaxis ha influenciado numerosos formatos de documentos y protocolos de comunicación, convirtiéndolo en una tecnología fundamental en muchas industrias.
Formatos Comunes Basados en XML:
- Fuentes Web: RSS, Atom
- Documentos de Oficina: Office Open XML, OpenDocument
- Gráficos y Modelos 3D: SVG, COLLADA
- Tecnologías Web: XHTML
- Protocolos de Intercambio de Datos: SOAP, XMPP
- AJAX: Usa XML para el intercambio de datos asíncrono
Estándares de la Industria Usando XML:
- Salud: HL7 (Health Level 7)
- Industria de Viajes: OpenTravel Alliance
- Finanzas: FpML (Lenguaje de Marcado de Productos Financieros)
- Bienes Raíces e Hipotecas: MISMO
- Intercambio de Datos Gubernamentales: National Information Exchange Model
XML en la Ciencia:
En meteorología, XML se utiliza para representación de datos meteorológicos operacionales siguiendo los estándares IWXXM. De manera similar, la Arquitectura de Información Tipificada de Darwin (DITA) es un estándar XML ampliamente utilizado en la publicación.
2. Terminología Clave en XML
Comprender la terminología básica en XML es crucial para trabajar efectivamente con documentos XML.
Caracter
Un documento XML es una secuencia de caracteres Unicode. XML 1.1 permite casi todos los caracteres Unicode, excepto el carácter Null (U+0000
), que está estrictamente prohibido.
Procesador y Aplicación
- El procesador XML (o analizador) lee y analiza el marcado XML.
- La aplicación recibe datos estructurados del procesador y actúa en consecuencia.
Marcado y Contenido
XML divide los caracteres en marcado y contenido:
- Marcado: Incluye elementos, atributos y entidades (p. ej.,
<tag>
y&
). - Contenido: Los datos reales dentro de los elementos.
- Secciones CDATA: Permiten texto que no debe ser interpretado como marcado, encerrado entre
<![CDATA[ ... ]]>
.
Etiquetas y Elementos
- Etiquetas: Construcciones de marcado encerradas en
< >
.<section>
(Etiqueta de inicio)</section>
(Etiqueta de cierre)<line-break />
(Etiqueta de elemento vacío)
- Elementos: Componentes lógicos definidos por etiquetas.
- Ejemplo:
<greeting>Hello, world!</greeting>
- Ejemplo:
Atributos
Los atributos proporcionan metadatos para los elementos utilizando pares de nombre-valor. Ejemplo:
<img src="image.jpg" alt="Descripción" />
src="image.jpg"
yalt="Descripción"
son atributos del elemento<img>
.
3. Caracteres y Escapado en XML
Caracteres Unicode Válidos en XML
Los documentos XML solo permiten caracteres Unicode específicos para asegurar un análisis apropiado.
Caracteres Permitidos en XML 1.0:
- Caracteres de control:
U+0009
(Tabulación)U+000A
(Salto de Línea)U+000D
(Retorno de Carro)
- Caracteres de texto:
U+0020–U+D7FF
U+E000–U+FFFD
U+10000–U+10FFFF
Mejoras en XML 1.1:
- Permite todos los caracteres de control U+0001–U+001F pero requiere que sean escapados.
- U+0000 (Carácter Null) sigue estando prohibido.
4. Codificación en XML
Codificaciones Comunes en XML:
XML admite codificaciones basadas en Unicode, incluyendo:
- UTF-8 (Predeterminado recomendado)
- UTF-16 (Debe ser soportado por todos los analizadores XML)
- ASCII, ISO-8859-X (Codificaciones heredadas)
Declaración de Codificación en XML:
La cabecera XML puede especificar la codificación:
<?xml version="1.0" encoding="UTF-8"?>
- Si no se especifica codificación, se asume UTF-8.
- UTF-16 requiere un BOM (Marca de Orden de Byte) para una detección adecuada.
5. Escapado de Caracteres Especiales en XML
Dado que la sintaxis XML reserva ciertos caracteres, deben ser escapados para evitar conflictos.
Entidades XML Predefinidas:
Carácter | Forma Escapada | Ejemplo |
---|---|---|
< (Menor que) | < | I <3 XML → I <3 XML |
> (Mayor que) | > | x > y → x > y |
& (Ampersand) | & | AT&T → AT&T |
' (Comilla simple) | ' | "O'Reilly" → O’Reilly |
" (Comillas dobles) | " | Ella dijo "hola" → Ella dijo “hola” |
Referencias Numéricas de Caracteres:
Para caracteres especiales que no pueden ser tipeados, use referencias numéricas:
- Decimal:
中 <!-- Carácter chino "中" -->
- Hexadecimal:
中 <!-- Carácter chino "中" -->
- Ejemplo:Se muestra como: I <3 Jörg
<message>I <3 Jörg</message>
Manejo de Datos Binarios:
XML no admite datos binarios crudos. En su lugar, utilice la codificación Base64.
6. Comentarios en XML
Sintaxis de Comentarios XML:
<!-- Esto es un comentario XML válido -->
Reglas para Comentarios XML:
- No pueden aparecer antes de la declaración XML.
- No pueden contener
--
(doble guión) dentro del comentario. - Las referencias a entidades se ignoran en los comentarios.
Ejemplo:
<!-- Este es un comentario con símbolos < y & -->
Conclusión
XML es una tecnología esencial para el intercambio de datos estructurados, impulsando fuentes web, documentos de oficina, datos científicos y estándares de la industria. Comprender la terminología clave de XML, reglas de codificación y mecanismos de escapado asegura documentos XML bien formados que funcionan correctamente en diferentes sistemas.
Al seguir las mejores prácticas en codificación de caracteres y escapado, los desarrolladores pueden evitar errores de análisis y asegurar compatibilidad en aplicaciones basadas en XML.