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.