1ere et 7e ligne :
id_cont_secondaire est ce qu'on appelle un attribut.
Un attribut permet d'apporter des précisions sur un élément sans qu'il soit nécessaire de parcourir ces éléments enfants.
La valeur d'un attribut est obligatoirement entre quotes.
Ici l'attribut id_cont_secondaire de l'élément Contact prend la valeur 8452.
Il faut donc lire que ce contact est lié à un contact secondaire dont l'id est 8452.
C'est le même principe sur la 7e ligne.
2e et 4e ligne puis 3e ligne :
Ici tu as un élément ContactINFO qui commence ligne 2 et se termine ligne 4. Jusque là, rien n'anormal.
La ligne 3 (bien que valide) est une fourberie.
En fait tu as un élément ContactINFO (une collection d'infos) qui contient des éléments ContactINFO (une info).
Il y a donc deux éléments qui sont nommés de la même façon mais qui ne représentent pas la même chose.
Il aurait été plus sage et plus intuitifs pour la compréhension d'écrire ceci :
1 2 3 4 5 6 7
| <Contact id_cont_secondaire="84520" >
<ContactINFOCollection>
<ContactINFO id_info1_principal="11" id_info2_principal="222" id_info3_principal="33333" />
</ContactINFOCollection>
<ContactINFOsec id_info1_sec="050" id_info2_sec="090">
</ContactINFOsec>
</Contact> |
Le / à la fin de la balise signifie que cette balise est auto-fermante (se ferme elle-même).
Une balise auto-fermante est utilisée lorsqu'elle ne contient pas de sous éléments.
Les deux lignes ci-dessous sont donc identiques :
1 2
| <ContactINFO id_info1_principal="11" id_info2_principal="222" id_info3_principal="33333" />
<ContactINFO id_info1_principal="11" id_info2_principal="222" id_info3_principal="33333"></ContactINFO> |
5e et 6e ligne :
Pour lire l'élément ContactINFOsec, il faut lire l'élément Contact et depuis cet élément accéder au sous-élément ContactINFOsec.
Puisque l'élément ContactINFOsec n'a pas de sous-élément on aurait pu l'écrire avec une balise auto-fermante.
<ContactINFOsec id_info1_sec="050" id_info2_sec="090" />
Partager