Которые являются HTML, и XML, специальными символами?

, Каковы специальные сущности зарезервированного символа в 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 :

  • и & всегда
  •   всегда
  • " " , если это в атрибуте
  • < , если это не в атрибуте (т.е. атрибуты может содержать )
  • > > , если это не в атрибуте (т.е. атрибуты может содержать > )

26
задан Ian Boyd 31 August 2011 в 13:40
поделиться