2010-11-09 22 views
1

Est-ce que les analyseurs syntaxiques XML traduisent des caractères d'échappement tels que 
 et 
 même lorsqu'ils apparaissent dans CDATA?Est-ce que CDATA conserve toutes les séquences de caractères échappées en XML?

J'étais confus par la réponse à cette question: Does the XML specification states that parser need to convert \n\r to \n always, even when \n\r appears in a CDATA section?

... car il cite la spécification disant que les séquences comme #xD #xA sont remplacés par un seul caractère « \ n », mais continue à dire l'utilisation de 
 et 
 est un moyen fiable de préserver les caractères. Le point-virgule est-il important? (Je n'ai pas le temps d'étudier la spécification XML)

Aussi, je suis conscient que les 2 caractères ci-dessus sont le retour chariot et le saut de ligne, et qu'ils sont normalisés à juste le saut de ligne par les analyseurs XML - si les règles car ce qui se passe à l'intérieur de CDATA pour les sauts de ligne est différent des séquences échappées en général, alors je pose les deux questions!

Merci, rp

Répondre

1

. Non L'analyseur ne touche pas quoi que ce soit dans une section CDATA.

Le point-virgule ne fait pas de différence.

+1

Ceci est incorrect. Les nouvelles lignes dans CDATA sont normalisées (https://www.w3.org/TR/REC-xml/#sec-line-ends). "avant l'analyse" signifie que la normalisation se produit sans savoir si le contenu est CDATA ou non. – danwyand