Je n'arrive pas à croire que je ne trouve pas ces informations facilement accessibles, alors:
1) Quels caractères ne peuvent pas être incorporés dans un attribut XML sans les coder par entité?
De toute évidence, vous devez coder les guillemets. Qu'en est-il de <
et >
? Quoi d'autre?
2) Où se trouve exactement la liste officielle?
Voici la définition de ce qui est autorisé dans une valeur d'attribut .
'"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'"
Donc, vous ne pouvez pas avoir:
'
ou "
)&
doit être &
)<
doit être <
)Vous ne devez pas non plus utiliser de caractères qui ne sont tout à fait légaux nulle part dans un document XML (comme les flux de formulaires, etc.).
Selon le (2) recommandation actuelle , en particulier en ce qui concerne données de caractères et balisage , ce sont (1) l'esperluette (&), l'équerre gauche (<), l'angle droit (>) et les guillemets simples (') et les guillemets doubles (").
Voir 2.2 caractères dans "Extensible Markup Language (XML) 1.0 (Third Edition)" .
Notez que, au moins avec .NET, si vous utilisez les API XML pour travailler avec XML, vous n'aurez pas à vous en préoccuper. C'est la raison pour ne pas traiter XML comme du texte.