Какие официальные символы XML зарезервированы?
На этой странице Microsoft говорит, что зарезервированные символы XML (и их сущность) следующие:
> >
< <
& &
% %
Но на другой странице я обнаружил, что '
является зарезервированным символом (и его сущность '
).
Может кто-нибудь указать мне какую-нибудь официальную ссылку, в которой перечислены все и только зарезервированные символы XML?
2 ответа
Согласно спецификации XML, единственные символы, которые должны быть экранированы при использовании в качестве символьного содержимого, а не разметки, &
(как &
, &
или же &
) а также <
(как <
, <
или же <
), плюс >
когда это является частью последовательности ]]>
, Кроме того, одиночные кавычки должны быть экранированы (как правило, как '
) в значениях атрибутов в одинарных кавычках и в двойных кавычках (как правило, "
) в значениях атрибутов, заключенных в двойные кавычки, и любой символ, который не может быть представлен в кодировке символов, используемой для сериализации документа, должен быть экранирован как подходящая ссылка на символ.
Вам не нужно избегать двойных кавычек в одинарных атрибутах или наоборот, но это не принесет никакого вреда.
Конечно, вы можете избежать каждого >
, "
а также '
(и любой другой символ) внутри содержимого символа, если хотите, без изменения значения.
В XML нет понятия "зарезервированные символы".
Он имеет предопределенные объекты, которые представляют большинство символов, которые могут (в зависимости от контекста) иметь особое значение в документе XML ("
, <
, >
, &
'
).
Он не имеет именованных объектов для символа пробела или =
потому что места, где они имеют особое значение, - это места, в которых у вас нет данных.