Última Actualización: 25 de marzo, 2025

Título - Qué es XML: Una Guía Integral

¿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 &amp;).
  • 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>

Atributos

Los atributos proporcionan metadatos para los elementos utilizando pares de nombre-valor. Ejemplo:

<img src="image.jpg" alt="Descripción" />
  • src="image.jpg" y alt="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ácterForma EscapadaEjemplo
< (Menor que)&lt;I &lt;3 XMLI <3 XML
> (Mayor que)&gt;x &gt; yx > y
& (Ampersand)&amp;AT&amp;TAT&T
' (Comilla simple)&apos;"O&apos;Reilly"O’Reilly
" (Comillas dobles)&quot;Ella dijo &quot;hola&quot;Ella dijo “hola”

Referencias Numéricas de Caracteres:

Para caracteres especiales que no pueden ser tipeados, use referencias numéricas:

  • Decimal:
    &#20013;  <!-- Carácter chino "中" -->
    
  • Hexadecimal:
    &#x4E2D;  <!-- Carácter chino "中" -->
    
  • Ejemplo:
    <message>I &lt;3 J&#xF6;rg</message>
    
    Se muestra como: I <3 Jörg

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.