2010-01-08 5 views
1

Y a-t-il un lien entre la notation des sections CDATA et la définition DTD interne? Je veux dire que ces deux choses sont fermées dans cet élément <! > ... alors je me suis demandé s'il y avait une signification spéciale pour ce type d'élément ou est-ce simplement une exception considérée comme standard pour définir CDATA et DTD?xml <! > élément

si vous ne pouvez pas comprendre ce qui est dans mon esprit dit simplement ma question est « quelle est la fonction de l'élément <! > en général? (S'il y a un peu) »

Répondre

3

Il est une déclaration de balisage. Il est destiné à l'interpréteur XML d'interpréter plutôt que d'être considéré comme faisant partie des données du document XML.

+0

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

+0

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

-1, ergoter de terminologie: c'est '

0

Le texte défini dans la section CDATA d'un document XML n'est pas analysé par le processeur xml.

Une définition de type de document (DTD) définit les blocs de construction juridiques d'un document XML. Il définit la structure du document avec une liste d'éléments et d'attributs légaux.

Une DTD peut être déclarée en ligne dans un document XML ou en tant que référence externe.

3

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"?>.

Questions connexes