Un documento XML organiza sus elementos en forma de árbol jerárquico:
Esta estructura en árbol hace que XML sea muy intuitivo y potente para representar datos complejos.
<biblioteca>
<libro>
<titulo>Don Quijote</titulo>
<autor>Miguel de Cervantes</autor>
</libro>
<libro>
<titulo>La Odisea</titulo>
<autor>Homero</autor>
</libro>
</biblioteca>
Análisis de la jerarquía:
<biblioteca>
es el elemento raíz.<libro>
es hijo de <biblioteca>
.<titulo>
y <autor>
son hijos de <libro>
y nietos de <biblioteca>
.<libro>
son hermanos porque comparten el mismo padre (<biblioteca>
).El ejemplo anterior se puede ver así:
biblioteca
libro
titulo
autor
libro
titulo
autor
Esta representación en árbol refleja la estructura jerárquica natural de XML.
Ejemplo incorrecto (etiquetas cruzadas):
<persona>
<nombre>Juan
<apellido>Pérez</nombre>
</apellido>
</persona>
Ejemplo correcto:
<persona>
<nombre>Juan</nombre>
<apellido>Pérez</apellido>
</persona>
<empresa>
<departamento id="D1">
<nombre>Ventas</nombre>
<empleado id="101">
<nombre>Laura</nombre>
<puesto>Vendedora</puesto>
</empleado>
<empleado id="102">
<nombre>Carlos</nombre>
<puesto>Supervisor</puesto>
</empleado>
</departamento>
<departamento id="D2">
<nombre>TI</nombre>
<empleado id="201">
<nombre>Ana</nombre>
<puesto>Programadora</puesto>
</empleado>
</departamento>
</empresa>
Jerarquía:
<empresa>
: raíz.<departamento>
: hijos de <empresa>
.<empleado>
: hijos de <departamento>
.<nombre>
y <puesto>
: hijos de <empleado>
y nietos de <departamento>
.<departamento>
son hermanos entre sí.<universidad>
<facultad nombre="Ingeniería">
<carrera nombre="Informática">
<materia codigo="101">Programación I</materia>
<materia codigo="102">Bases de Datos</materia>
</carrera>
<carrera nombre="Electrónica">
<materia codigo="201">Circuitos</materia>
</carrera>
</facultad>
</universidad>
Estructura en árbol:
universidad
facultad (nombre=Ingeniería)
carrera (nombre=Informática)
materia (codigo=101)
materia (codigo=102)
carrera (nombre=Electrónica)
materia (codigo=201)
<empresa>
<departamento id="D1" empleado1="Laura,Vendedora" empleado2="Carlos,Supervisor"/>
</empresa>
Aunque es válido técnicamente, es difícil de leer y procesar.
Mejor con elementos anidados:
<empresa>
<departamento id="D1">
<empleado>
<nombre>Laura</nombre>
<puesto>Vendedora</puesto>
</empleado>
<empleado>
<nombre>Carlos</nombre>
<puesto>Supervisor</puesto>
</empleado>
</departamento>
</empresa>
XML organiza sus datos en una jerarquía de elementos en forma de árbol.
Conceptos:
Reglas: no cruzar etiquetas y siempre cerrarlas correctamente.
La jerarquía clara y el buen anidamiento hacen que un XML sea legible, mantenible y fácil de procesar.