выход из амперсанда в XML

Я понимаю, что некоторые символы должны быть экранированы в XML, и амперсанд является одним из этих символов.

Согласно этому есть только 5 символов, которые должны быть экранированы:
Какие символы мне нужно экранировать в документах XML?

Мой вопрос: если у вас есть амперсанд, а за ним НЕ следует один из них, означает ли это, что XML недействителен?

Причина, по которой я спрашиваю, заключается в том, что я использую веб-сервис, который возвращает это:

<blah>&#4;</blah>

Я пытаюсь решить, является ли это действительным или недействительным XML. Если это неверно, я попрошу их исправить. Если он действителен, то мой php-код не обрабатывает его правильно, и мне нужно будет это исправить.

Согласно валидации w3schools (http://www.w3schools.com/xml/xml_validator.asp), его недействительным, но я просто хотел убедиться.

2

Решение

Амперсанд также может быть частью числовая ссылка на символ, но этот конкретный персонаж (&#4;) является не разрешено в XML:

Диапазон символов

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

Незначительная нота: ты имеешь в виду хорошо сформированные, не действительный. Увидеть Хорошо сформированный и валидный XML.

1

Другие решения

Других решений пока нет …