Welke tekens moet ik weglaten in XML-documenten?
Welke tekens moeten in XML-documenten worden ge-escaped, of waar kan ik zo'n lijst vinden?
885
3
Welke tekens moeten in XML-documenten worden ge-escaped, of waar kan ik zo'n lijst vinden?
Als je een geschikte klasse of bibliotheek gebruikt, zullen zij de escaping voor je doen. Veel XML problemen worden veroorzaakt door string concatenation.
XML escape tekens
Er zijn er maar vijf:
Het escapen van tekens hangt af van waar het speciale teken wordt gebruikt.
De voorbeelden kunnen worden gevalideerd op W3C Markup Validation Service.
Text
De veilige manier is om alle vijf karakters in tekst te escapen, echter, de drie karakters
"
,'
en>
hoeven niet ge-escaped te worden in tekst:Attributen
De veilige manier is om alle vijf de tekens te escapen in attributen, echter, het
>
teken hoeft niet ge-escaped te worden in attributen:Het
'
teken hoeft niet te worden ge-escaped in attributen als de aanhalingstekens"
zijn:Evenzo hoeft het
"
niet in attributen te worden ge-escaped als de aanhalingstekens'
zijn:Commentaar
Alle 5 speciale tekens mogen niet worden ge-escaped in commentaar:
CDATA
Alle 5 speciale tekens mogen niet worden ge-escaped in CDATA secties:
Misschien helpt dit:
Lijst van verwijzingen naar XML- en HTML-tekenentiteiten:
In dit artikel worden de volgende vijf voorgedefinieerde XML entiteiten genoemd:
naast de algemeen bekende vijf karakters [, &, ", '] zou ik ook het verticale tab karakter (0x0B) escapen. Het is geldig UTF-8, maar niet geldig XML 1.0, en zelfs veel bibliotheken (waaronder libxml2) missen het en voeren stilzwijgend ongeldige XML uit.