Est-il un moyen d'échapper à une CDATA fin jeton en xml?

Je me demandais si il existe un moyen d'échapper à une CDATA fin jeton (]]>) dans une section CDATA dans un document xml. Ou, plus généralement, s'il existe une séquence d'échappement pour l'utilisation dans un CDATA (mais si ça existe, je pense qu'il faudrait probablement seulement du sens pour échapper à commencer ou à la fin des jetons, de toute façon).

Fondamentalement, vous pouvez avoir un début ou de fin de jeton incorporé dans un CDATA et de dire à l'analyseur de ne pas l'interpréter, mais de la traiter comme une séquence de caractères.

Probablement, vous devez juste refactoriser votre structure xml ou votre code si vous vous trouvez en essayant de le faire, mais même si j'ai été travailler avec xml sur une base quotidienne pour les 3 dernières années et je n'ai jamais eu ce problème, je me demandais si c'était possible. Juste de la curiosité.

Edit:

Autres que d'utiliser le codage html...

  • Tout d'abord, j'accepte la réponse comme correcte mais attention: Rien n'empêche quelqu'un de codage > comme > dans CData à assurer intégré ]]> ne sera pas analysée comme CDEnd. Cela signifie tout simplement que c'est inattendu et que & doit d'ABORD être encodé comme & trop de sorte que les données peuvent être correctement décodés. Les utilisateurs de ce document doit savoir décoder ce CData trop. Il n'est pas rare, car une partie de l'objet de la CData est de contenir le contenu que le consommateur comprenne comment gérer. Une telle CData tout ne peut pas être prévu pour être interprété correctement par n'importe quel générique de consommation.
  • CDATA fournit simplement une façon explicite de déclarer nœud de texte de contenu, telles que la langue des jetons dans un délai de (autre que ]]>) n'obtiennent pas analysée. Concrètement, il ne se développe pas de références d'entité &gt; pour cette raison, donc, dans un bloc CDATA, cela veut simplement dire que ces quatre caractères, pas " >'. Pour le mettre en perspective: dans le xml spécification, tout le texte contenu est appelé "cdata", et pas seulement de ces séquences ("données de caractère"). Ce n'est pas le sujet spécifique de consommer des agents. (Une telle chose n'existe pas si -- instructions de traitement (<?instruction cible?>).
  • (Je dois ajouter, même si ce genre de chose va à l'encontre de l'intention initiale du nœud, tout est juste dans la long & tortueux bataille avec XML. Je viens de sentir qu'elle pourrait être utile pour les lecteurs de savoir que <![CDATA[]]> n'a pas été conçu à cette fin.)
  • CDATA a été conçu pour permettre quoi que ce soit: ils sont utilisés pour échapper à des blocs de texte contenant des caractères qui seraient autrement reconnu comme le balisage Qui implique CDATA trop car il est aussi le balisage. Mais, en fait, vous n'avez pas besoin du double encodage, j'implicite. ]]&gt; est un moyen acceptable de codage d'un CDEnd dans un CDATA.
  • Vrai, vous n'auriez pas besoin de double encodage -- mais vous auriez encore besoin de l'agent d'avoir de connaissances particulières, puisque l'analyseur de ne pas analyser les &gt; comme >. C'est ce que tu veux dire mais, je pense? Que vous pourriez les remplacer comme bon vous semble, après l'analyse?