OK, separiamo la domanda dei personaggi che:
- non sono affatto validi in nessun documento XML.
- deve essere evaso.
La risposta fornita da @dolmen in " Cosa sono i caratteri non validi in XML " è ancora valida ma deve essere aggiornata con la specifica XML 1.1.
1. Caratteri non validi
I caratteri qui descritti sono tutti i caratteri che possono essere inseriti in un documento XML.
1.1. In XML 1.0
L'elenco globale dei caratteri consentiti è:
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
Fondamentalmente, i caratteri di controllo e i caratteri al di fuori degli intervalli Unicode non sono consentiti. Ciò significa anche che è vietato chiamare ad esempio l'entità personaggio .
1.2. In XML 1.1
L'elenco globale dei caratteri consentiti è:
[2] Char ::= [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
[2a] RestrictedChar ::= [#x1-#x8] | [#xB-#xC] | [#xE-#x1F] | [#x7F-#x84] | [#x86-#x9F]
Questa revisione della raccomandazione XML ha esteso i caratteri consentiti in modo da consentire i caratteri di controllo e tiene conto di una nuova revisione dello standard Unicode, ma questi non sono ancora consentiti: NUL (x00) , xFFFE , xFFFF ...
Tuttavia, l'uso di caratteri di controllo e caratteri Unicode indefiniti è sconsigliato.
Si può anche notare che tutti i parser non tengono sempre conto di ciò e che i documenti XML con caratteri di controllo potrebbero essere respinti.
2. Personaggi che devono essere sfuggiti (per ottenere un documento ben formato):
Il <devono essere preceduti da un <soggetto, in quanto si presume essere l'inizio di un tag.
Il &deve essere preceduti da un &soggetto, poiché si presume essere l'inizio di un riferimento di entità
L' >dovrebbero essere preceduti da >entità. Non è obbligatorio - dipende dal contesto - ma si consiglia vivamente di evitarlo.
L' 'dovrebbero essere preceduti da un 'ente - obbligatoria in attributi definiti tra virgolette semplici, ma è fortemente consigliato per sfuggire sempre.
L' "dovrebbero essere preceduti da un "ente - obbligatoria in attributi definiti tra virgolette, ma è fortemente consigliato per sfuggire sempre.