stringtranslate.com

Список ссылок на сущности символов XML и HTML

В документах SGML , HTML и XML логические конструкции, известные как символьные данные и значения атрибутов , состоят из последовательностей символов, в которых каждый символ может проявляться напрямую (представляя себя) или может быть представлен серией символов, называемых ссылкой на символ , которая бывает двух типов: ссылка на числовой символ и ссылка на сущность символа . В этой статье перечислены ссылки на сущность символа, которые допустимы в документах HTML и XML.

Ссылка на сущность символа ссылается на содержимое именованной сущности. Декларация сущности создается в документах XML, SGML и HTML (до HTML5) с использованием <!ENTITY name "value">синтаксиса в определении типа документа (DTD).

Обзор справочника персонажей

В HTML и XML числовая ссылка на символ ссылается на символ по его универсальному набору символов / кодовой точке Unicode и использует следующий формат:

&#xhhhh;

или

&#nnnn;

где xв XML-документах должны быть строчными, hhhh — это кодовая точка в шестнадцатеричной форме, а nnnn — это кодовая точка в десятичной форме. hhhh (или nnnn ) может быть любым количеством шестнадцатеричных (или десятичных) цифр и может включать начальные нули. hhhh для шестнадцатеричных цифр может смешивать заглавные и строчные буквы, хотя обычным стилем является заглавный регистр. Однако стандарты XML и HTML ограничивают используемые кодовые точки набором допустимых значений, который является подмножеством значений кодовых точек UCS/Unicode, которое исключает все кодовые точки, назначенные несимволам или суррогатам, и большинство кодовых точек, назначенных элементам управления C0 и C1 (за исключением разделителей строк и табуляции, рассматриваемых как пробелы).

Напротив, ссылка на сущность символа ссылается на последовательность из одного или нескольких символов по имени сущности , которая имеет желаемые символы в качестве своего заменяющего текста . Сущность должна быть либо предопределена (встроена в язык разметки), либо иным образом явно объявлена ​​в определении типа документа (DTD) (см. [a] ). Формат такой же, как и для любой ссылки на сущность:

&name;

где name — это имя сущности с учетом регистра. Точка с запятой обычно требуется в ссылке на сущность символа, если иное не указано в таблице ниже (см. [b] ).

Стандартные наборы публичных сущностей для персонажей

XML
XML определяет пять предопределенных сущностей, необходимых для поддержки каждого печатного символа ASCII: &amp;, &lt;, &gt;, &apos;, и &quot;. Завершающая точка с запятой является обязательной в XML (и XHTML) для этих пяти сущностей (даже если HTML или SGML позволяют опускать ее для некоторых из них, согласно их DTD).
Наборы сущностей ISO
SGML предоставил полный набор деклараций сущностей для символов, широко используемых в западной технической и справочной литературе, для латинского, греческого и кириллического алфавитов. Американское математическое общество также предоставило сущности для математических символов (см. [c] ).
Наборы сущностей HTML
Ранние версии HTML строились на основе небольших подмножеств этих символов, относящихся к трем западным 8-битным шрифтам.
Наборы сущностей MathML
W3C разработал набор деклараций сущностей для символов MathML .
Наборы сущностей XML
Рабочая группа W3C MathML взяла на себя обслуживание наборов публичных сущностей ISO, объединенных с MathML, и документирует их в XML Entity Definitions for Characters. Этот набор может поддерживать требования XHTML , MathML и использоваться в качестве входных данных для будущих версий HTML.
HTML5
HTML5 принимает сущности XML как именованные ссылки на символы, однако он переформулирует их без ссылки на их источники и не группирует их в наборы. Спецификация HTML5 дополнительно предоставляет сопоставления из имен в последовательности символов Unicode с использованием JSON .

Были разработаны многочисленные другие наборы сущностей для специальных требований, а также для основных и второстепенных алфавитов. Однако появление Unicode в значительной степени вытеснило их.

Формальные публичные идентификаторы для подмножеств сущностей HTML DTD

Полный формальный публичный идентификатор и системный идентификатор для подмножества сущностей DTD (где определено имя символьной сущности) фактически сопоставляется с одной из следующих трех определенных именованных сущностей:

  1. ^ Оригинальный HTML 1.0 DTD, который был бы доступен по адресу http://info.cern.ch/MarkUp/html-spec/html.dtd
  2. ^ Для HTML 5 нет DTD, где все сущности предопределены; невозможно строго проверить в XML схему, необходимую для (X)HTML 5, без определения пользовательских XSD (по крайней мере, для пользовательских атрибутов "data-*"). Вместо того, чтобы требовать поддержки DTD (со связанными проблемами безопасности, такими как миллиард смеха ), лучшим способом безопасного обмена HTML5 с XHTML является преобразование всех ссылок на сущности в простой текст, числовые ссылки на символы или (где применимо) пять стандартных сущностей XML 1.0. При этом:

Официальные публичные идентификаторы для старых подмножеств сущностей ISO

Подмножества сущностей ISO представляют собой старые (документированные) подмножества символов, которым в стандартах ISO 8879 и ISO 9573 присвоены имена сущностей символов SGML , и которые использовались в устаревших кодировках до унификации в рамках ISO 10646. Их полные формальные общедоступные идентификаторы следующие:

  1. ^ abcdefghijklmnopqrs Версия, начинающаяся с ISO 8879-1986//вместо , ISO 8879:1986//считается устаревшей. [3]
  2. ^ Версия с добавленным ' //HTMLиногда ошибочно используется для большего набора сущностей HTMLlat1 , т.е. вместо "-//W3C//ENTITIES Latin 1//EN//HTML"[3] (см. выше).

Список ссылок на сущности символов в HTML

HTML5 определяет множество именованных сущностей, ссылки на которые действуют как мнемонические псевдонимы для определенных символов Unicode. [5] Спецификация HTML5 не позволяет пользователям определять дополнительные сущности, поскольку она больше не допускает ссылок на какие-либо DTD или их расширения внутри документов HTML (это по-прежнему необходимо в XHTML, который основан на более строгих правилах анализа XML, но позволяет ссылаться на DTD или определять его в заголовке документа, поскольку XML не предопределяет большинство сущностей HTML).

В таблице ниже столбец «Стандарт» указывает первую версию HTML DTD, которая определяет ссылку на сущность символа, и указывает символы, которые предопределены в XML без необходимости в каком-либо DTD. Чтобы использовать одну из этих ссылок на сущность символа в документе HTML или XML, введите амперсанд ( &), за которым следует имя сущности и точка с запятой (обязательно в XML и настоятельно рекомендуется в HTML для всех сущностей, даже если HTML позволяет опускать точку с запятой только в некоторых сущностях, указанных ниже как [b] ), например, введите &copy;для символа авторского права © .

В HTML нет предопределенных сущностей символов для символов или последовательностей большинства сценариев, закодированных в UCS (за исключением общего подмножества пробелов, знаков препинания, математических или технических символов, символов валют, нескольких символов иврита, используемых в математических обозначениях, и наиболее распространенных букв в латинице, греческом или кириллице). Обратите внимание также, что не все двунаправленные элементы управления, определенные в UCS/Unicode, представлены как стандартные сущности символов в HTML (даже в HTML5, который определяет более общие элементы и атрибуты направления для этой цели). В частности, нет предопределенных сущностей символов HTML для элементов управления, которые были добавлены в UCS/Unicode и формально определены в версии 2 алгоритма Unicode Bidi.

Большинство сущностей предопределены в XML и HTML для ссылки только на один символ в UCS, но нет предопределенных сущностей для изолированных комбинированных символов, селекторов вариаций или символов для назначений частного использования; однако список включает некоторые предопределенные сущности для последовательностей символов из двух символов, содержащих некоторые из них. Начиная с HTML 5.0 (и MathML 3.0, который разделяет тот же набор en сущностей), все сущности кодируются в формах нормализации Unicode C и KC (это не относилось к более старым версиям HTML и MathML, поэтому более старые сущности, которые изначально были определены с символами для назначений частного использования, формами совместимости CJK или в формах, отличных от NFC, были изменены [6] ).

Однако все допустимые символы и последовательности в UCS, включая все двунаправленные элементы управления или назначения для частного использования (но за исключением непробельных элементов управления C0 и C1, несимволов и суррогатов), также могут использоваться и допустимы в HTML, XML, XHTML и MathML, как в текстовых значениях атрибутов, так и в текстовых элементах (путем их непосредственного кодирования как обычного текста или использования числовых ссылок на символы при необходимости).

Примечания

  1. ^ ab DTD: см. § Формальные публичные идентификаторы для подмножеств сущностей HTML DTD
  2. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd Завершающая точка с запятой для этой именованной сущности может быть опущена.
  3. ^ ab Старое подмножество ISO: см. § Формальные публичные идентификаторы для старых подмножеств сущностей ISO
  4. ^ Описание: для каждого символа сначала отображается стандартное имя символа ISO 10646 и Unicode, а нестандартные, но устаревшие синонимы отображаются курсивом в скобках после знака равенства.
  5. ^ abc Начальный пробел перед объединяемыми символами, использовавшийся в старых DTD для MathML2.0, был удален в MathML 3.0 и HTML 5.0.
  6. Символ ^ &quot; был исключен из спецификации HTML 3.2[1], но восстановлен в версии HTML 4.0[2]. На практике большинство веб-браузеров, отображающих страницы HTML 3.2, отображают его так, как будто он был включен в спецификацию.
  7. ^ пробелы abcd : для отображения ширины каждого пробела используется синий фон.
  8. ^ &copy; : U+00A9 'символ авторского права' не то же самое, что U+24B8 'обведенная латинская заглавная буква C', хотя для изображения обоих символов можно использовать один и тот же глиф. См. также U+24D2 'латинская строчная буква c'.
  9. ^ &reg; : U+00AE «зарегистрированный знак» — это не то же самое, что U+24C7 «обведенная латинская заглавная буква R», хотя для изображения обоих символов может использоваться один и тот же глиф.
  10. ^ &angst; : Использование U+212B «знак Ангстрема», который был закодирован из-за совместимости с кодировкой восточноазиатских символов , не рекомендуется, и предпочтительным представлением является U+00C5 «заглавная буква A с кружком сверху», которая имеет тот же глиф.
  11. ^ ab &IJlig;и &ijlig;: Использование U+0132 «лигатура IJ» или U+0133 «лигатура ij», которые были закодированы для использования в голландском языке и для совместимости с ISO/IEC 6937 и кодовой страницей 1102 (которая включает только строчную букву ij, также являющуюся частью голландской версии национального набора заменяющих символов ISO 646 ), не рекомендуется, и предпочтительным представлением является просто «IJ» или «ij» (как две отдельные буквы).
  12. ^ ab &lmidot;: Использование U+013F «латинская строчная буква l с точкой посередине» или U+0140 «латинская заглавная буква L с точкой посередине», которые были закодированы для использования в каталонском языке и для совместимости с ISO/IEC 6937 , не рекомендуется, и предпочтительным представлением является «L» или «l», за которым следует U+00B7.
  13. ^ &napos; : Использование U+0149 «n, за которым следует апостроф», которое было закодировано для использования в африкаанс и для совместимости с ISO/IEC 6937 , было объявлено устаревшим в Unicode (начиная с Unicode 5.2), и предпочтительным представлением является ʼn (U+02BC, за которым следует n). (Unicode.org – Предложение по дополнительным устаревшим символам).
  14. Лигатура ^ ab : это стандартное неправильное название, поскольку в некоторых языках это отдельный символ.
  15. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw Греческие буквы: набор ISOgrk1 включает набор имён сущностей для всего греческого алфавита (без диакритических знаков), [7] тогда как набор ISOgrk3 включает другой набор имён сущностей для подмножества греческих букв, используемых в математической нотации в контрастных с латинскими буквами сочетаниях . [8] Набор HTML-символов HTML включает расширенную версию набора ISOgrk3 , а не набора ISOgrk1 .
  16. ^ &ohm; : Использование U+2126 «знак ома» не рекомендуется, предпочтительнее использовать обозначение U+03A9 «греческая заглавная буква омега», имеющее тот же глиф.
  17. ^ abcd &NegativeMediumSpace;, &NegativeThickSpace;, &NegativeThinSpace;, &NegativeVeryThinSpace;: это имена, используемые в языке Wolfram Language для области частного использования символов с отрицательной шириной продвижения ; [9] [10] [11] [12] HTML5 аппроксимирует их пробелом нулевой ширины.
  18. ^ abcde черный: здесь, по-видимому, имеется в виду заполненный , а не пустой .
  19. ^ ab Предложено ISO: эти символы были стандартизированы в ISO 10646 после выпуска HTML 4.0.
  20. ^ abcd &image;, &map;: эти два имени сущностей были определены по-разному, как значки типов файлов, в заброшенной спецификации для HTML версии 3.0. [13] [14]
  21. ^ &copysr; : U+2117 «авторское право на звукозапись» — это не то же самое, что U+24C5 «заглавная латинская буква P в кружке», хотя для изображения обоих символов можно использовать один и тот же глиф.
  22. ^ &alefsym; : U+2135 «символ алеф» — это не то же самое, что U+05D0 «еврейская буква алеф» (которая, в отличие от математического символа, имеет ярко выраженное двунаправленное поведение текста справа налево ), хотя для изображения обоих символов можно использовать один и тот же глиф.
  23. ^ &beth; : U+2136 «символ ставки» — это не то же самое, что U+05D1 «еврейская буква ставка» (которая, в отличие от математического символа, имеет ярко выраженное двунаправленное поведение текста справа налево ), хотя для изображения обоих символов можно использовать один и тот же глиф.
  24. ^ &gimel; : U+2137 «символ гимел» — это не то же самое, что U+05D2 «еврейская буква гимел» (которая, в отличие от математического символа, имеет ярко выраженное двунаправленное текстовое поведение справа налево ), хотя для изображения обоих символов можно использовать один и тот же глиф.
  25. ^ &daleth; : U+2138 «символ далет» — это не то же самое, что U+05D3 «еврейская буква далет» (которая, в отличие от математического символа, имеет ярко выраженное двунаправленное текстовое поведение справа налево ), хотя для изображения обоих символов можно использовать один и тот же глиф.
  26. ^ &lArr; : ISO 10646 не говорит, что «двойная стрелка влево» — это то же самое, что и стрелка «подразумевается», но и не имеет другого символа для этой функции, поэтому lArrможет использоваться для «подразумевается», как предлагает ISOtech.
  27. ^ &rArr; : ISO 10646 не говорит, что «двойная стрелка вправо» — это то же самое, что и стрелка «подразумевает», но и не имеет других символов с такой функцией, поэтому rArrможет использоваться для «подразумевает», как предлагает ISOtech.
  28. ^ &prod; : U+220F «n-арное произведение» — это не тот же символ, что U+03A0 «греческая заглавная буква Пи», хотя для обоих может использоваться один и тот же глиф.
  29. ^ &sum; : U+2211 «n-арное суммирование» — это не тот же символ, что U+03A3 «греческая заглавная буква сигма», хотя для обоих может использоваться один и тот же глиф.
  30. ^ &sim; : U+223C «оператор тильда» — это не тот же символ, что U+007E «тильда», хотя для представления обоих может использоваться один и тот же глиф.
  31. ^ &nsup; : U+2285 «не является надмножеством» входит в подмножество «ISOamsn», но не охватывается кодировкой шрифта Symbol и не указан в списке сущностей HTML 4.0 в документации, где он был ошибочно пропущен; его следует включить для симметрии и аналогии с другими сущностями.
  32. ^ &perp; : Unicode определяет только U+22A5 как "up tack", а символ Unicode для "perpendicular" - U+27C2: эти два символа выглядят похожими, но в Unicode являются отдельными. Однако HTML использует U+22A5 как свой "perpendicular" символ: это несоответствие между HTML и Unicode. Кроме того, символ U+22A4 (символ "down tack"), отображаемый в браузере, таком как Firefox 3.6, может соответствовать шрифту либо "up tack", либо "perpendicular", но не обоим, в зависимости от того, используется ли фиксированный или пропорциональный шрифт. При просмотре в Firefox 3.6 символы, отображенные в порядке U+22A5, U+22A4, U+27C2 пропорциональным шрифтом: "⊥ ⊤ ⟂" и фиксированной ширины: ⊥ ⊤ ⟂, показывают, что "down tack" имеет вид, похожий на U+22A5 (HTML-"perpendicular") в первом случае, но соответствует U+27C2 во втором. Это иллюстрирует трудности семиотики, связанные с интерпретацией глифов , символов и знаков в целом.
  33. ^ &sdot; : U+22C5 «оператор точки» — это не тот же символ, что U+00B7 «средняя точка».
  34. ^ &Ll; : U+22D8 «намного меньше, чем» отсутствует в списке сущностей HTML 5.2, где оно было опущено.
  35. ^ &lang; : U+27E8 «математическая левая угловая скобка» — это не тот же символ, что и U+003C «меньше», U+2039 «одинарная левая угловая кавычка» или U+3008 «левая угловая скобка». В HTML 5.0 langбыл переназначен на этот код, так как U+2329 «левая угловая скобка» был помечен как устаревший в Unicode (начиная с версии 5.2) (Unicode.org – Proposal for Additional Deprecated Characters).
  36. ^ &rang; : U+27E9 «математическая правая угловая скобка» — это не тот же символ, что U+003E «больше», U+203A «одинарная правая угловая кавычка» или U+3009 «правая угловая скобка». В HTML 5.0 rangбыл переназначен на этот код, так как U+232A «правая угловая скобка» был помечен как устаревший в Unicode (начиная с версии 5.2) (Unicode.org – Proposal for Additional Deprecated Characters).

Сущности, представляющие специальные символы в XHTML

XHTML DTD явно объявляют 253 сущности (включая 5 предопределенных сущностей XML 1.0), расширение которых представляет собой один символ, поэтому их можно неформально называть «сущностями символов». Они (за исключением сущности ) имеют те же имена и представляют те же символы, что и 252 сущности символов в HTML 4.0. Кроме того, в силу того, что они являются XML , документы XHTML могут ссылаться на предопределенную сущность, которая не является одной из 252 сущностей символов в HTML 4.0. Дополнительные сущности любого размера могут быть определены на основе документа. Однако удобство использования ссылок на сущности в XHTML зависит от того, как обрабатывается документ: [ необходима цитата ]&apos;&apos;

Из-за особого &apos;случая, упомянутого выше, только &quot;, &amp;, &lt;, и &gt;будут работать во всех ситуациях обработки XHTML.

Смотрите также

Ссылки

  1. ^ "Набор сущностей htmlmathml-f". W3C . 2011.
  2. ^ "14.2 Анализ XML-документов". Стандарт HTML . WHATWG . Получено 13 июля 2024 г.
  3. ^ abcdefghijklmnopqrstu "sgml-iso-entities-8879.1986/catalog". Debian . 2013.
  4. ^ abcdefghijklm "sgml-iso-entities-9573-13.1991/catalog". Debian . 2013.
  5. ^ «Список ссылок на именованные символы HTML5».
  6. ^ «Определения сущностей XML для символов (3-е издание) — § C Различия между этими сущностями и более ранними DTD W3C».
  7. ^ Организация по развитию стандартов структурированной информации (OASIS) (2002). "ISO Greek Letters Entities V0.3". Debian .
  8. ^ Организация по развитию стандартов структурированной информации (OASIS) (2002). "ISO Greek Symbols Entities V0.3". Debian .
  9. ^ Вольфрам . "\[NegativeThickSpace]". Документация по языку Wolfram .
  10. ^ Вольфрам . "\[NegativeMediumSpace]". Документация по языку Wolfram .
  11. ^ Вольфрам . "\[NegativeThinSpace]". Документация по языку Wolfram .
  12. ^ Вольфрам . "\[NegativeVeryThinSpace]". Документация по языку Wolfram .
  13. ^ Ханна, Майкл Дж. (7 декабря 1995 г.). "HTML Icons: Proposed HTML Icon Entity Names". Архивировано из оригинала 2 февраля 2015 г.
  14. ^ "Стандартные значки ISO/WWW предоставлены Бертом Босом и Кевином Хьюзом". W3C .

Дальнейшее чтение

Внешние ссылки