Los elementos son las unidades básicas de un documento XML. Se representan mediante etiquetas de apertura y cierre, y pueden contener:
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>
.
Contienen solo texto:
<ciudad>Córdoba</ciudad>
Un elemento puede contener otros elementos:
<persona>
<nombre>Juan</nombre>
<apellido>Pérez</apellido>
</persona>
No tienen contenido, solo sirven como marcadores:
<linea />
Estos son muy comunes en documentos que representan estructura o configuración.
Los nombres de elementos (etiquetas) deben seguir estas reglas:
!
, ?
, %
, &
, etc.).<Nombre>
≠ <nombre>
).Correcto:
<producto>Computadora</producto>
Incorrecto:
<1producto>Computadora</1producto> <!-- No puede iniciar con número -->
<producto nombre>Computadora</producto nombre> <!-- No se permiten espacios -->
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
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:
<?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.<empleado>
como hijos.<empleado>
tiene elementos internos (nombre
, apellido
, edad
).id
, departamento
) complementan la información.<nombre>Juan
Incorrecto.
Correcto:
<nombre>Juan</nombre>
<persona>
<nombre>Juan
<apellido>Pérez</nombre>
</apellido>
</persona>
Incorrecto.
Correcto:
<persona>
<nombre>Juan</nombre>
<apellido>Pérez</apellido>
</persona>
<123nombre>Juan</123nombre> <!-- No válido -->
Con esta base, ya se puede modelar cualquier tipo de información en XML de manera clara y estructurada.