Tipos de elementos XML
A la hora de trabajar con XML Schema es muy importante tener clara la diferencia entre los dos tipos de elementos que nos podemos encontrar en un documento XML:
- Simples: no contienen ni elementos ni atributos.
- Complejos: contienen elementos y/o atributos.
A continuación, se exponen varios ejemplos de cada uno de los tipos.
Elementos simples
Un elemento simple es aquel que solo contiene texto, esto es, que no contiene ni elementos ni atributos. Es el tipo de elemento más sencillo que existe.
Un ejemplo de elemento simple sería el siguiente:
<titulo>Manzana</titulo>
Elementos complejos
Un elemento complejo es aquel que contiene uno o más elementos (elementos hijo) y/o atributos. Los elementos hijo son elementos que están dentro de otro elemento (elemento padre).
Esto permite las siguientes combinaciones de elementos hijo y atributos:
Elementos hijo | Atributos |
---|---|
0 (*) | 1 |
0 (*) | Varios |
1 | 0 |
Varios | 0 |
1 | 1 |
1 | Varios |
Varios | 1 |
Varios | Varios |
* Un elemento que no contiene elementos puede tener contenido (texto) o no, es decir, puede ser tanto un elemento con texto como un elemento vacío.
Elemento con contenido con uno o varios atributos
En el momento en el cual un elemento ya tenga un atributo, se vuelve del tipo complejo, independientemente de que tenga uno o varios atributos.
Ejemplo de elemento con contenido y 1 atributo:
<visitante fecha="2023-01-08">Wendel Yarmouth</visitante>
Ejemplo de elemento con contenido y varios atributos:
<visitante fecha="2023-01-08" hora="14:49:12">Wendel Yarmouth</visitante>
Elemento vacío con uno o varios atributos
Los elementos vacíos si tienen atributos también son complejos por el hecho de tener atributos. Los elementos vacíos son aquellos que no tienen contenido.
Ejemplo de elemento vacío con 1 atributo:
<visita fecha="2023-01-08"/>
<visita fecha="2023-01-08"></visita>
Ejemplo de elemento vacío con varios atributos:
<visita fecha="2023-01-08" hora="14:49:12"/>
<visita fecha="2023-01-08" hora="14:49:12"></visita>
Elemento con uno o varios elementos hijos y sin atributos
Ejemplo de elemento con 1 elemento hijo y ningún atributo:
<visitante>
<nombre>Wendel Yarmouth</nombre>
</visitante>
Ejemplo de elemento con varios elementos hijo y ningún atributo:
<visitante>
<nombre>Wendel Yarmouth</nombre>
<ip>56.251.47.97</ip>
</visitante>
Elemento con uno o varios elementos hijos y con uno o varios atributos
Ejemplo de elemento con 1 elemento hijo y 1 atributo:
<visitante fecha="2023-01-08">
<nombre>Wendel Yarmouth</nombre>
</visitante>
Ejemplo de elemento con varios elementos hijo y 1 atributo:
<visitante fecha="2023-01-08">
<nombre>Wendel Yarmouth</nombre>
<ip>56.251.47.97</ip>
</visitante>
Ejemplo de elemento con 1 elemento hijo y varios atributos:
<visitante fecha="2023-01-08" hora="14:49:12">
<nombre>Wendel Yarmouth</nombre>
</visitante>
Ejemplo de elemento con varios elementos hijo y varios atributos:
<visitante fecha="2023-01-08" hora="14:49:12">
<nombre>Wendel Yarmouth</nombre>
<ip>56.251.47.97</ip>
</visitante>