Estructura básica de un documento XML

Un archivo XML es un documento de texto plano que debe cumplir ciertas reglas para ser considerado bien formado. La estructura general de cualquier documento XML se compone de:

  • Prólogo (declaración inicial)
  • Elemento raíz (root element)
  • Elementos hijos y contenido
  • Atributos (opcional)
  • Comentarios (opcional)

Veamos cada parte en detalle con ejemplos.

1. Prólogo (declaración inicial)

El prólogo es opcional, pero recomendado. Generalmente se incluye la declaración XML:

<?xml version="1.0" encoding="UTF-8"?>
  • version="1.0": versión del estándar XML.
  • encoding="UTF-8": define la codificación de caracteres (UTF-8 es la más usada).

Si no se especifica, algunos programas pueden interpretar mal caracteres especiales (acentos, ñ, símbolos).

2. Elemento raíz

Todo documento XML debe tener un único elemento raíz que contenga a todos los demás elementos.

Ejemplo válido:

<libro>
    <titulo>Don Quijote</titulo>
    <autor>Miguel de Cervantes</autor>
</libro>

Ejemplo inválido (dos elementos raíz):

<libro>Don Quijote</libro>
<libro>La Odisea</libro>

Esto generará un error porque solo puede existir un root element.

3. Elementos hijos y contenido

Los elementos se representan con etiquetas de apertura y cierre:

<titulo>Don Quijote</titulo>
  • <titulo>: etiqueta de apertura.
  • Don Quijote: contenido del elemento.
  • </titulo>: etiqueta de cierre.

Regla importante: las etiquetas deben cerrarse siempre.

Ejemplo correcto:

<autor>Miguel de Cervantes</autor>

Ejemplo incorrecto:

<autor>Miguel de Cervantes

4. Atributos

Los elementos pueden tener atributos, que aportan información adicional.

<libro id="1" idioma="es">
    <titulo>Don Quijote</titulo>
    <autor>Miguel de Cervantes</autor>
</libro>
  • id="1" e idioma="es" son atributos.
  • Los valores de atributos siempre deben ir entre comillas dobles o simples.

Diferencia:

  • Un atributo describe una característica.
  • Un elemento guarda datos.

Ejemplo ilustrativo:

<!-- Con atributos -->
<persona nombre="Juan" edad="30"/>

<!-- Con elementos -->
<persona>
    <nombre>Juan</nombre>
    <edad>30</edad>
</persona>

Ambas formas son válidas, pero depende del contexto elegir una u otra.

5. Comentarios

Los comentarios ayudan a documentar el XML y no afectan su procesamiento:

<!-- Este es un comentario -->
<persona>
    <nombre>Ana</nombre>
</persona>

Regla: no se permite -- dentro de un comentario.

6. Ejemplo completo de estructura básica

<?xml version="1.0" encoding="UTF-8"?>

<!-- Ejemplo de un documento XML -->
<biblioteca>
    <libro id="1" idioma="es">
        <titulo>Don Quijote</titulo>
        <autor>Miguel de Cervantes</autor>
        <año>1605</año>
    </libro>
    <libro id="2" idioma="gr">
        <titulo>La Odisea</titulo>
        <autor>Homero</autor>
        <año>-700</año>
    </libro>
</biblioteca>

Análisis:

  • Prólogo con versión y codificación.
  • Comentario inicial.
  • <biblioteca> como elemento raíz.
  • Varios <libro> como elementos hijos.
  • Cada libro tiene elementos (titulo, autor, año) y atributos (id, idioma).

7. Reglas clave para un XML bien formado

  • Un único elemento raíz.
  • Las etiquetas deben cerrarse siempre.
  • Los elementos deben estar correctamente anidados (no se pueden cruzar).

Ejemplo inválido:

<persona>
    <nombre>Juan
    <apellido>Pérez</nombre>
</apellido>
</persona>

Corrección:

<persona>
    <nombre>Juan</nombre>
    <apellido>Pérez</apellido>
</persona>
  • Los atributos siempre con valores entre comillas.
  • Diferencia entre mayúsculas y minúsculas (XML es case-sensitive).

Ejemplo: <Nombre> y <nombre> son elementos distintos.

8. Resumen didáctico

La estructura básica de un documento XML se puede resumir así:

<?xml version="1.0" encoding="UTF-8"?>
<raiz>
    <elemento atributo="valor">Contenido</elemento>
    <elemento>Más contenido</elemento>
</raiz>

Si se cumplen estas reglas, el documento será considerado bien formado y podrá ser procesado por cualquier herramienta XML.