Il existe une variété de personnages qui ne sont pas légalement encodeable en XML, par exemple, U+0007
('bell') et U+001B
('escape'). Plus de sujets intéressants sont non-blanc "contrôle" des personnages.
Il est clair à partir de (par exemple) à cette question et d'autres que c'est du XML spécification qui est de la question - mais quelqu'un peut-il m'éclairer quant à pourquoi le XML spec interdit ces personnages?
Il me semble qu'il aurait été nécessaire qu'ils soient encodés en échappe, comme par exemple l' 
et 
respectivement, mais peut-être il y a une raison pratique que les personnages étaient interdits plutôt que nécessaire pour être sauvé?
Answerers ont suggéré qu'il y a de la motivation à éviter la transmission des caractères de contrôle, mais Unicode comprend beaucoup d'autres -comme les personnages (considérer U+200C
"zéro largeur non menuisier"). Je reconnais, il peut y avoir aucune bonne raison de ce comportement, mais je voudrais quand même à mieux le comprendre.
C'est particulièrement frustrant, car lorsque ces valeurs de caractères apparaissent dans d'autres codages de formats de données, j'arrive à la fin de la "double échappement" nouveaux documents XML qui ont besoin de coder.