Tu sais sans doute qu'on ne peut pas mettre de < ni de & dans du XML ? Il faut les échapper en < et en &
Eh bien, dans des balises <![CDATA[ ]]>, on peut.
Qu'est-ce qui est le plus lisible :
1 2 3
| <machin>
<condition><![CDATA[ a < b && c > d ]]></condition>
</machin> |
ou
1 2 3
| <machin>
<condition> a < b && c > d </condition>
</machin> |
?
Non. Une entité* c'est un truc comme ça : &truc;
Tu connais sûrement les entités é et € et du HTML, qui insérent un é, un € et un espace insécable.
Les lecteurs de XML remplacent automatiquement les entités par ce qu'elles représentent... Quand ils le savent ! Mais quand ils ne savent pas, ils disent, "j'ai une entité nommée 'truc' et je ne sais pas quoi en faire : dites-moi par quoi je remplace." Mais cela ne marche pas dans les attributs : les entités inconnues y sont ignorées, comme s'il n'y avait rien, même pas un espace, à cet endroit.
* En fait, ça c'est une référence d'entité. Parce que ça veut dire qu'à cet endroit on doit insérer l'entité qu'elle référence. Mais on dit souvent une entité, pour faire court.
Partager