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, как в текстовых значениях атрибутов, так и в текстовых элементах (путем их непосредственного кодирования как обычного текста или использования числовых ссылок на символы при необходимости).

Notes

  1. ^ a b DTD: see § Formal public identifiers for HTML DTD entities subsets
  2. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z 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 The trailing semicolon may be omitted for this named entity.
  3. ^ a b Old ISO subset: see § Formal public identifiers for old ISO entities subsets
  4. ^ Description: the standard ISO 10646 and Unicode character name is displayed first for each character, with non-standard but legacy synonyms shown in italics between parentheses after an equal sign.
  5. ^ a b c The leading space before combining characters used in old DTDs for MathML2.0 was removed in MathML 3.0 and HTML 5.0.
  6. ^ &quot; was omitted from the HTML 3.2 specification,[1] but was restored as of HTML 4.0.[2] In practice, most web browsers displaying HTML 3.2 pages render it as if it had been included in the spec.
  7. ^ a b c d spaces: a blue background is used to display each space's width.
  8. ^ &copy;: U+00A9 'copyright symbol' is not the same as U+24B8 'circled Latin capital letter C', although the same glyph could be used do depict both characters. See also U+24D2 'Latin small letter c'.
  9. ^ &reg;: U+00AE 'registered sign' is not the same as U+24C7 'circled Latin capital letter R', although the same glyph could be used do depict both characters.
  10. ^ &angst;: The use of U+212B 'Angstrom sign', which was encoded due to round-trip mapping compatibility with an East-Asian character encoding, is discouraged, and the preferred representation is U+00C5 'capital letter A with ring above', which has the same glyph.
  11. ^ a b &IJlig; and &ijlig;: The use of U+0132 'IJ ligature' or U+0133 'ij ligature', which were encoded for usage in Dutch and for compatibility for ISO/IEC 6937 and Code page 1102 (which only includes the lowercase ij, also part of the Dutch version of ISO 646 National Replacement Character Set), is discouraged, and the preferred representation is simply 'IJ' or 'ij' (as two separate letters).
  12. ^ a b &lmidot;: The use of U+013F 'Latin small letter l with middle dot' or U+0140 'Latin capital letter L with middle dot', which were encoded for usage in Catalan and for compatibility for ISO/IEC 6937, is discouraged, and the preferred representation is 'L' or 'l', followed by U+00B7.
  13. ^ &napos;: The use of U+0149 'n preceded by apostrophe', which was encoded for usage in Afrikaans and for compatibility for ISO/IEC 6937, has been deprecated by Unicode (since Unicode 5.2), and the preferred representation is ʼn (U+02BC followed by n). (Unicode.org – Proposal for Additional Deprecated Characters).
  14. ^ a b ligature: this is a standard misnomer as this is a separate character in some languages.
  15. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw Greek letters: the ISOgrk1 set includes a set of entity names for the entire Greek alphabet (without diacritics),[7] while the ISOgrk3 set includes a different set of entity names for the subset of the Greek letters used contrastively with Latin letters in mathematical notation.[8] The HTML HTMLsymbol set includes an expanded version of the ISOgrk3 set, not the ISOgrk1 set.
  16. ^ &ohm;: The use of U+2126 'ohm sign', is discouraged, and the preferred representation is U+03A9 'Greek capital letter Omega', which has the same glyph.
  17. ^ a b c d &NegativeMediumSpace;, &NegativeThickSpace;, &NegativeThinSpace;, &NegativeVeryThinSpace;: these are names used in the Wolfram Language for Private Use Area characters with negative advance widths;[9][10][11][12] HTML5 approximates them with the zero-width space.
  18. ^ a b c d e black: here it seems to mean filled as opposed to hollow.
  19. ^ a b ISO proposed: these characters have been standardized in ISO 10646 after the release of HTML 4.0.
  20. ^ a b c d &image;, &map;: these two entity names were defined differently, as file-type icons, in the abandoned specification for HTML version 3.0.[13][14]
  21. ^ &copysr;: U+2117 'sound recording copyright' is not the same as U+24C5 'circled Latin capital letter P', although the same glyph could be used do depict both characters.
  22. ^ &alefsym;: U+2135 'alef symbol' is not the same as U+05D0 'Hebrew letter alef' (which, unlike the mathematical symbol, has strong right-to-left bidirectional text behaviour), although the same glyph could be used to depict both characters.
  23. ^ &beth;: U+2136 'bet symbol' is not the same as U+05D1 'Hebrew letter bet' (which, unlike the mathematical symbol, has strong right-to-left bidirectional text behaviour), although the same glyph could be used to depict both characters.
  24. ^ &gimel;: U+2137 'gimel symbol' is not the same as U+05D2 'Hebrew letter gimel' (which, unlike the mathematical symbol, has strong right-to-left bidirectional text behaviour), although the same glyph could be used to depict both characters.
  25. ^ &daleth;: U+2138 'dalet symbol' is not the same as U+05D3 'Hebrew letter dalet' (which, unlike the mathematical symbol, has strong right-to-left bidirectional text behaviour), although the same glyph could be used to depict both characters.
  26. ^ &lArr;: ISO 10646 does not say that 'leftwards double arrow' is the same as the 'is implied by' arrow, but also does not have any other character for that function, so lArr can be used for 'is implied by' as ISOtech suggests.
  27. ^ &rArr;: ISO 10646 does not say that 'rightwards double arrow' is the same as the 'implies' arrow, but also does not have any other character with this function, so rArr can be used for 'implies' as ISOtech suggests.
  28. ^ &prod;: U+220F 'n-ary product' is not the same character as U+03A0 'Greek capital letter Pi' though the same glyph might be used for both.
  29. ^ &sum;: U+2211 'n-ary summation' is not the same character as U+03A3 'Greek capital letter Sigma' though the same glyph might be used for both.
  30. ^ &sim;: U+223C 'tilde operator' is not the same character as U+007E 'tilde', although the same glyph might be used to represent both.
  31. ^ &nsup;: U+2285 'not a superset of' is in the 'ISOamsn' subset, but is not covered by the Symbol font encoding, and is not listed in the HTML 4.0 entities list on the documentation, where it was erroneously omitted; it should be included for symmetry and analogy with other entities.
  32. ^ &perp;: Unicode only defines U+22A5 as the "up tack", and the Unicode symbol for "perpendicular" is U+27C2: the two symbols look similar, but are separate in Unicode. However, HTML uses U+22A5 as its "perpendicular" symbol: this is a discrepancy between HTML and Unicode. As well, the U+22A4 character (the "down tack" symbol) rendered in a browser such as Firefox 3.6 can match the font of either "up tack" or "perpendicular", but not both, depending on whether a fixed-width or a proportional font is used. When viewed in Firefox 3.6, the symbols rendered in the order U+22A5, U+22A4, U+27C2 in a proportional font: "⊥ ⊤ ⟂" and a fixed width one: ⊥ ⊤ ⟂, shows that the "down tack" has a similar look to U+22A5 (HTML's "perpendicular") in the first case but matches U+27C2 in the second. This exemplifies the difficulties of the semiotics involved in interpreting glyphs, symbols and characters generally.
  33. ^ &sdot;: U+22C5 'dot operator' is not the same character as U+00B7 'middle dot'.
  34. ^ &Ll;: U+22D8 'very much less-than' is missing in the HTML 5.2 list of entities, where it was omitted.
  35. ^ &lang;: U+27E8 'mathematical left angle bracket' is not the same character as U+003C 'less than', U+2039 'single left-pointing angle quotation mark', or U+3008 'left angle bracket'. In HTML 5.0, lang was remapped to this code, as U+2329 'left-pointing angle bracket' has been marked deprecated in Unicode (since version 5.2) (Unicode.org – Proposal for Additional Deprecated Characters).
  36. ^ &rang;: U+27E9 'mathematical right angle bracket' is not the same character as U+003E 'greater than', U+203A 'single right-pointing angle quotation mark', or U+3009 'right angle bracket'. In HTML 5.0, rang had been remapped to this code, as U+232A 'right-pointing angle bracket' has been marked deprecated in Unicode (since version 5.2) (Unicode.org – Proposal for Additional Deprecated Characters).

Entities representing special characters in XHTML

The XHTML DTDs explicitly declare 253 entities (including the 5 predefined entities of XML 1.0) whose expansion is a single character, which can therefore be informally referred to as "character entities". These (with the exception of the &apos; entity) have the same names and represent the same characters as the 252 character entities in HTML 4.0. Also, by virtue of being XML, XHTML documents may reference the predefined &apos; entity, which is not one of the 252 character entities in HTML 4.0. Additional entities of any size may be defined on a per-document basis. However, the usability of entity references in XHTML is affected by how the document is being processed:[citation needed]

Because of the special &apos; case mentioned above, only &quot;, &amp;, &lt;, and &gt; will work in all XHTML processing situations.

See also

References

  1. ^ "htmlmathml-f entity set". W3C. 2011.
  2. ^ "14.2 Parsing XML documents". HTML Standard. WHATWG. Retrieved 13 July 2024.
  3. ^ a b c d e f g h i j k l m n o p q r s t u "sgml-iso-entities-8879.1986/catalog". Debian. 2013.
  4. ^ a b c d e f g h i j k l m "sgml-iso-entities-9573-13.1991/catalog". Debian. 2013.
  5. ^ "HTML5 Named Character Reference List".
  6. ^ "XML Entity Definitions for Characters (3rd Edition) - § C Differences between these entities and earlier W3C DTDs".
  7. ^ Организация по развитию стандартов структурированной информации (OASIS) (2002). "ISO Greek Letters Entities V0.3". Debian .
  8. ^ Организация по развитию стандартов структурированной информации (OASIS) (2002). "ISO Greek Symbols Entities V0.3". Debian .
  9. ^ Wolfram . "\[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 .

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

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