Это & # x10; действительный символ в XML? - PullRequest
10 голосов
/ 16 июня 2009

По этим данным:

<row Id="37501" PostId="135577" Text="...uses though.&#x10;"/>

Я получаю сообщение об ошибке с синтаксическим анализатором Python:

xml.sax._exceptions.SAXParseException:
comments.xml:29776:332: reference to invalid character number

Я урезал пример; 332 указывает на «& # x10;».

Правильный ли синтаксический анализатор при отклонении этого символа?

Ответы [ 2 ]

14 голосов
/ 16 июня 2009

Как уже говорили другие, вы, вероятно, имели в виду &#10;. Причина, по которой &#x10; (0x10 = 10h = 16) является недействительной, заключается в том, что она явно исключена стандартом XML 1.0: (http://www.w3.org/TR/xml/#NT-Char)

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
6 голосов
/ 16 июня 2009

&#10; - символ перевода строки, который, как представляется, является намерением.

&#x10; будет таким же, как &#16; (10 шестнадцатеричных - 16 десятичных) и будет означать символ DLE (экранирование канала данных).

DLE - это символ управления передачей , используемый для управления интерпретацией передаваемых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...