Elementos y etiquetas en XML

Los elementos son las unidades básicas de un documento XML. Se representan mediante etiquetas de apertura y cierre, y pueden contener:

  • Texto
  • Otros elementos (hijos)
  • Atributos

1. ¿Qué es una etiqueta en XML?

Una etiqueta es la forma en que definimos un elemento:

<nombre>Juan</nombre>
  • <nombre>: etiqueta de apertura.
  • Juan: contenido.
  • </nombre>: etiqueta de cierre.

Con esto se forma un elemento completo: <nombre>Juan</nombre>.

2. Tipos de elementos

a) Elementos simples

Contienen solo texto:

<ciudad>Córdoba</ciudad>

b) Elementos con hijos (anidados)

Un elemento puede contener otros elementos:

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

c) Elementos vacíos (self-closing)

No tienen contenido, solo sirven como marcadores:

<linea />

Estos son muy comunes en documentos que representan estructura o configuración.

3. Nombres de elementos

Los nombres de elementos (etiquetas) deben seguir estas reglas:

  • No pueden comenzar con un número.
  • No pueden contener espacios.
  • No pueden usar caracteres especiales (!, ?, %, &, etc.).
  • Son sensibles a mayúsculas/minúsculas (<Nombre><nombre>).
  • Es recomendable usar nombres descriptivos.

Correcto:

<producto>Computadora</producto>

Incorrecto:

<1producto>Computadora</1producto>   <!-- No puede iniciar con número -->
<producto nombre>Computadora</producto nombre> <!-- No se permiten espacios -->

4. Jerarquía de elementos

Los elementos en XML forman una estructura de árbol. Un documento tiene un único elemento raíz. Dentro de él, hay elementos hijos, nietos, etc.

Ejemplo jerárquico:

<biblioteca>
    <libro>
        <titulo>Don Quijote</titulo>
        <autor>Miguel de Cervantes</autor>
    </libro>
    <libro>
        <titulo>La Odisea</titulo>
        <autor>Homero</autor>
    </libro>
</biblioteca>

Estructura en árbol:

biblioteca
  libro
      titulo
      autor
  libro
      titulo
      autor

5. Atributos vs. elementos

Un atributo agrega información adicional dentro de una etiqueta, mientras que un elemento guarda datos.

Ejemplo con atributos:

<libro id="1" idioma="es">
    <titulo>Don Quijote</titulo>
</libro>

Ejemplo con elementos:

<libro>
    <id>1</id>
    <idioma>es</idioma>
    <titulo>Don Quijote</titulo>
</libro>

Ambos son válidos. La elección depende de la convención:

  • Si es información secundaria, usar atributos.
  • Si es información principal, usar elementos.

6. Ejemplo completo

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

<empresa>
    <empleado id="101" departamento="Ventas">
        <nombre>Laura</nombre>
        <apellido>Gómez</apellido>
        <edad>28</edad>
    </empleado>
    <empleado id="102" departamento="TI">
        <nombre>Carlos</nombre>
        <apellido>Pérez</apellido>
        <edad>35</edad>
    </empleado>
</empresa>

Análisis:

  • <empresa> es el elemento raíz.
  • Contiene varios <empleado> como hijos.
  • Cada <empleado> tiene elementos internos (nombre, apellido, edad).
  • Los atributos (id, departamento) complementan la información.

7. Errores comunes con elementos y etiquetas

No cerrar una etiqueta

<nombre>Juan

Incorrecto.

Correcto:

<nombre>Juan</nombre>

Cruzar etiquetas (anidamiento incorrecto)

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

Incorrecto.

Correcto:

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

Nombres inválidos en etiquetas

<123nombre>Juan</123nombre>   <!-- No válido -->

8. Resumen didáctico

  • Los elementos XML son bloques de datos delimitados por etiquetas.
  • Existen elementos simples, compuestos y vacíos.
  • Los nombres deben ser válidos y descriptivos.
  • La jerarquía de elementos forma un árbol XML.
  • Los atributos complementan a los elementos, pero no deben usarse para información principal.

Con esta base, ya se puede modelar cualquier tipo de información en XML de manera clara y estructurada.