Какие официальные символы XML зарезервированы?

На этой странице Microsoft говорит, что зарезервированные символы XML (и их сущность) следующие:

>    >
<    &lt;
&    &amp;
%    &#37;

Но на другой странице я обнаружил, что ' является зарезервированным символом (и его сущность &apos;).

Может кто-нибудь указать мне какую-нибудь официальную ссылку, в которой перечислены все и только зарезервированные символы XML?

2 ответа

Решение

Согласно спецификации XML, единственные символы, которые должны быть экранированы при использовании в качестве символьного содержимого, а не разметки, & (как &amp;, &#38; или же &#x26;) а также < (как &lt;, &#60; или же &#x3C;), плюс > когда это является частью последовательности ]]>, Кроме того, одиночные кавычки должны быть экранированы (как правило, как &apos;) в значениях атрибутов в одинарных кавычках и в двойных кавычках (как правило, &quot;) в значениях атрибутов, заключенных в двойные кавычки, и любой символ, который не может быть представлен в кодировке символов, используемой для сериализации документа, должен быть экранирован как подходящая ссылка на символ.

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

Конечно, вы можете избежать каждого >, " а также ' (и любой другой символ) внутри содержимого символа, если хотите, без изменения значения.

В XML нет понятия "зарезервированные символы".

Он имеет предопределенные объекты, которые представляют большинство символов, которые могут (в зависимости от контекста) иметь особое значение в документе XML (", <, >, &').

Он не имеет именованных объектов для символа пробела или = потому что места, где они имеют особое значение, - это места, в которых у вас нет данных.

Другие вопросы по тегам