Tout le texte du document XML sera analysé par l'analyseur.
Seul le texte du composant CDATA sera ignoré par l'analyseur.
--------------------------------------------- ---------------------------------------
Analyser les données
Les analyseurs XML traitent généralement tout le texte d'un document XML.
Lorsqu'un élément XML est analysé, le texte à l'intérieur de l'élément XML est également analysé :
<message>This text is also parsed</message>
La raison pour laquelle l'analyseur XML fait cela est qu'à l'intérieur du Élément XML Il peut également contenir d'autres éléments. Comme dans l'exemple ci-dessous, l'élément name contient deux éléments : first et last :
<name><first>Bill</first><last>Gates</last></name>
L'analyseur pensera que le code ci-dessus ressemble à ceci :
<name> <first>Bill</first> <last>Gates</last> </name>
--------------------------- ----- --------------------------------------------- ----- --
Caractères d'échappement
Les caractères XML illégaux doivent être remplacés par les entités correspondantes.
Si vous utilisez des caractères comme "<" dans un document XML, l'analyseur provoquera une erreur car il pensera qu'il s'agit du début d'un nouvel élément. Le code ne doit donc pas être écrit comme suit :
<message>if salary < 1000 then</message>
Pour éviter cette situation, les caractères "<" doivent être convertis en entités, comme suit :
<message>if salary < 1000 then</message>
Voici cinq entités prédéfinies dans les documents XML :
< Moins que
> et
' ' guillemets simples
" " guillemets doubles
L'entité doit commencer par le symbole "&" et se terminer par le symbole ";".
Remarque : Seuls le caractère "<" et le caractère "&" sont strictement interdits pour XML. Le reste est légal et c'est une bonne pratique d'utiliser des entités pour réduire les erreurs.
--------------------------------------------- ---------------------------------------
Widget CDATA
Tout ce qui se trouve à l'intérieur de CDATA sera ignoré par l'analyseur.
Si le texte contient beaucoup de caractères "<" et "&" - tout comme le code du programme, alors il est préférable de les mettre tous dans les composants CDATA.
Un composant CDATA commence par la balise "" :
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script>
in Dans l'exemple précédent, tout le texte entre les parties CDATA sera ignoré par l'analyseur.
Remarque CDATA :
Les composants CDATA ne peuvent plus contenir de composants CDATA (ne peuvent pas être imbriqués). Si le composant CDATA contient les caractères "]]>" ou "
Notez également qu'il n'y a pas d'espaces ni de nouvelles lignes entre les chaînes "]]>".