Достаточно ли htmlspecialchars для экранирования содержимого элемента XML в ответе HTTP? - PullRequest
2 голосов
/ 18 июня 2009

Я возвращаю XML-ответ UTF-8, и некоторые элементы содержат пользовательский контент, поэтому я должен убедиться, что они правильно экранированы. Достаточно ли использовать htmlspecialchars(..., ENT_COMPAT, 'UTF-8') для правильного экранирования текста элемента XML?

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Я не уверен, что точно понимаю ... Вы хотите XML внутри HTML или HTML внутри XML? если это последнее, почему бы не использовать CDATA?

, например

<xmlelement>
  <![CDATA[<span>John Smith</span>]]>
</xmlelement>
0 голосов
/ 18 июня 2009

http://www.w3.org/TR/2008/REC-xml-20081126/

2,2 символов ...

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */

Таким образом, это говорит о том, что невозможно хранить символы в нижней области <0x20 без Tab, CR, LF. Дополнительно XML-парсер должен нормализовать переводы строки. Он должен конвертировать CR LF в LF и т. Д. </p>

Так что нет ни способа, ни обычного узла, ни секции CDATA, позволяющей транспортировать строку двоичных символов в XML. Если вы хотите переместить его, вы должны преобразовать его в base64 или перевести как список чисел.

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