La séquence <!
ouvre déclarations de balisage. Il est distinct de instructions de traitement, qui commencent par <?
.
Le XML specification définit une classe de « déclarations de balisage », mais ne remet pas la syntaxe <!
spécifique (bien que la spécification SGML, qui l'a précédé, nommé cette paire de caractères déclaration de balisage ouvert). Ces déclarations sont des choses que vous trouverez dans une DTD, mais les mêmes caractères introduisent des sections et des commentaires marqués par CDATA.
Ce qui unit ces derniers est qu'ils sont des instructions à l'analyseur XML : « sauter cette » (un commentaire), « ne pas analyser ce » (une section CDATA), « comprendre ce » (DTD) .
qui est différent d'une instruction de traitement <?
, qui est une instruction à l'application qui est en cours de traitement en fin de compte le XML analysé. Les instructions de traitement peuvent être à peu près n'importe quoi - elles sont effectivement une «porte dérobée» au document et sont généralement spécifiques à l'application - mais les plus courantes sont <?newpage?>
ou peut-être <?issueref "fixed in 123"?>
.
mais l'analyseur ne le laissera pas passer si vous le laissez vide.?. Donc, s'il n'y a rien qui puisse être interprété d'une manière ou d'une autre, il est considéré comme des données XML et donc non valide ...? ? – Pyjong
Je ne suis pas sûr de ce que l'analyseur ferait si l'instr de proc était invalide/vide. Il pourrait jeter une exception ou l'ignorer. Probablement dépendrait de l'analyseur utilisé. –
-1, ergoter de terminologie: c'est '' Qui introduit des instructions de traitement (qui sont des instructions non normalisées pour l'application); '