, Каковы специальные сущности зарезервированного символа в HTML и в XML?
информация, которую я имею, говорит:
HTML:
и
(заменяют &
) (заменяют <
)
>
(заменяют >
) "
(заменяют "
) '
(заменяют '
) XML:
(заменяют <
)
>
(заменяют >
) и
(заменяют &
) '
(заменяют '
) "
(заменяют "
) , Но я не могу найти документацию относительно ни одного из них.
W3C действительно упоминает, в Расширяемый язык разметки (XML) 1.0 (Пятый Выпуск) , определенные предопределенные ссылки на сущность. Но это говорит, что эти сущности предопределены (таким же образом тот ©
предопределен); не, что их нужно оставить:
4.6 Предопределенных Сущности
[Определение: Сущность и символьные ссылки могут оба привыкнуть к побег открывающая угловая скобка, амперсанд и другие разделители. Набор из общих сущностей (усилитель, лейтенант, gt, apos, кавычка) указан для этого цель. Ссылки цифрового символа могут также использоваться; они расширенный сразу при распознавании и обработке как символ данные, таким образом, ссылки цифрового символа "<"; и "&"; май используйтесь для выхода
, Каких символов нужно оставить в ссылки на сущность в HTML ?
Каких символов нужно оставить в ссылки на сущность в XML?
Обновление :
От Расширяемый язык разметки (XML) 1.0 (Пятый Выпуск) :
2.4 Символьных Данных и Разметка
символ амперсанда (
и
) и открывающая угловая скобка () не должен кажусь в их литеральной форме, кроме тех случаев, когда используемым в качестве разделителей разметки, или в рамках комментария, инструкции по обработке или раздела CDATA.
Если они необходимы в другом месте, они должны быть оставленными с помощью любого числового символьные ссылки или последовательности"&
" и"<
" соответственно.правая угловая скобка (
>
) может быть представлена с помощью представить в виде строки">
", и должен , для совместимости, быть оставленным с помощью также ">
" или символьная ссылка, когда это появляется в последовательности"]]>
" в содержании, когда та последовательность не отмечает конец CDATA раздел.Позволить значениям атрибута содержать и одинарные и двойные кавычки, апостроф или символ одинарной кавычки (
'
) может быть представлено как"'
", и символ двойной кавычки ("
) как""
".
я считал первого, что
должен быть :
( <
), должен быть
и
( &
), должен быть , может , но должен при появлении как ]]>
>
( >
), должен быть, при появлении как ]]>
И что '
и "
не должны быть оставлены вообще; если вы не хотите иметь кавычки в заключенных в кавычки атрибутах.
От Спецификация HTML 4.01, Представление Документа HTML :
5.3.2 ссылки Символьной сущности
Авторы, желающие помещать"
" символ в тексте, должны использовать"
<
" (Десятичное число ASCII 60) для предотвращения возможного беспорядка с началом a тэг (запускают тэг открытый разделитель).Точно так же авторы должны использовать"
>
" (Десятичное число ASCII 62) в тексте вместо">
" для предотвращения проблем с более старым агенты пользователя, которые неправильно чувствуют это как конец тэга (тэг близкий разделитель), когда это появляется в заключенных в кавычки значениях атрибута.Авторы должны использовать"
&
" (десятичное число ASCII 38) вместо"и
" для предотвращения беспорядок с началом символьной ссылки (сущность ссылка открывает разделитель). Авторы должны также использовать"&
" в значения атрибута начиная с символьных ссылок позволяются в CDATA значения атрибута.Некоторые авторы используют ссылку символьной сущности"
"
" для кодирования экземпляры метки двойной кавычки ("
) начиная с того символа могут быть используемый для разграничивания значений атрибута.
HTML намного более слаб на правилах, но он кажется, что я должен :
должен быть с <
>
должен быть с >
и
должен быть с &
"
должен быть с "
и если "
может быть ссылка на сущность, я должен также заменить '
&
.
От HTML5 - словарь и связанные API для HTML и XHTML:
8.3 Сериализаций фрагменты HTML
Выход из последовательности (в целях алгоритма выше) состоит из выполнения следующих шагов:
Замена любое возникновение"
и
" символ последовательностью"&
".Замена любые случаи Пробела без повреждений U+00A0 представить в виде строки"
".
, Если алгоритм был вызван в режиме атрибута, замените любого случаи"
"
" символ последовательностью""
".Если алгоритм не был вызван в режиме атрибута, замените любого случаи"
" символ последовательностью"
<
", и любой случаи">
" символ последовательностью">
".
, Который я считал как HTML :
и
&
всегда
всегда "
"
, если это в атрибуте <
, если это не в атрибуте (т.е. атрибуты может содержать )
>
>
, если это не в атрибуте (т.е. атрибуты может содержать >
)