Какви символи трябва да се избягват в XML документите?
Какви символи трябва да бъдат избягвани в XML документите или къде мога да намеря такъв списък?
885
3
Какви символи трябва да бъдат избягвани в XML документите или къде мога да намеря такъв списък?
Ако използвате подходящ клас или библиотека, те ще извършат ескапирането вместо вас. Много проблеми с XML се дължат на конкатенация на низове.
XML escape символи
Съществуват само пет:
Избягването на знаци зависи от това къде се използва специалният знак.
Примерите могат да бъдат валидирани в W3C Markup Validation Service.
Text
Безопасният начин е да се ескейпват всичките пет символа в текста, но трите символа
"
,'
и>
не е необходимо да се ескейпват в текста:Attributes
Безопасният начин е да се избягват всичките пет символа в атрибутите, но символът
>
не е необходимо да се избягва в атрибутите:Символът
'
не трябва да се избягва в атрибутите, ако кавичките са"
:По същия начин знакът
"
не трябва да се извежда в атрибутите, ако кавичките са'
:Коментари
Всичките 5 специални символа не трябва да се избягват в коментарите:
CDATA
Всичките 5 специални символа не трябва да се избягват в секциите CDATA:
Може би това ще ви помогне:
Списък на препратки към символни същности в XML и HTML:
В тази статия са изброени следните пет предварително дефинирани XML същности:
освен общоизвестните пет символа [, &, ", '] бих избягал и от символа за вертикален табулатор (0x0B). Той е валиден за UTF-8, но не е валиден за XML 1.0 и дори много библиотеки (включително libxml2) го пропускат и мълчаливо извеждат невалиден XML.