[91] SGML 派生マーク付け言語における文字参照は、文字の番号や短い名前によって表す文字の代替表現です。 マーク付けの一部を表す文字をデータとして含めるために使ったり、 通常の方法で入力しがたい文字を表すために使ったりします。
[92] HTML では文字参照は、 通常要素、外来要素、エスケープ可能生テキスト要素の内容の一部として >>93、 あるいは属性値の一部として >>94 用いることができます。
[95] >>92 のいずれも文字参照の他にテキストを用いることができる文脈ですが、
曖昧アンドが禁止されています >>93, >>94。文字参照にも曖昧アンドにも一致しない
&
はテキストとして解釈され、著者はこれを用いても構いません。
曖昧アンドである &
は著者が用いてはなりません。
[96] 曖昧アンドは、
&
の後に1文字以上のASCII英数字が続き、その後に ;
が続くもののうち、名前付き文字参照でないものです >>89。
[18] XML においてはいくつかの公開識別子を持つ外部実体は HTML の名前付き文字参照を宣言するものと解釈されることになっています。
[20] PukiWikiのテキスト整形のルール >>47 では、 HTML の文字参照の一部と、独自の文字参照が使えるとされます。
[21]
&heart;
,
⌣
,
&t;
など独自の文字参照があります。 >>47
[23]
&date;
,
&page;
など保存時にメタ情報に置換される構文があります。 >>47
[24]
&counter;
など動的に決まる値に置き換えられる構文があります。
>>47
[25]
&ruby(ルビ){インライン要素};
など引数を取る構文があります。
>>47
[26] このように SGML の文字参照から大きく離れて一般の記述構文にまで拡張されています。
16進数は半角小文字で指定する必要があります(XHTML 1.0 第2版から小文字に限定されました)。
[48] SGML の文字実体参照の体系が多数提案されました。 また、 SGML 以外の対象でも利用されました。
[54]
HTML3,
STIX,
XML Entity Definitions for Characters,
ERCS,
KanjiBase,
&M
,
BUCS,
EKBS,
テキスト形式TRONコード,
CHISE文字参照,
シフトJIS文字参照,
MUFI,
IDS (別構文あり),
SAT外字
[14] IPAmj明朝フォントの研究 ― 実装編 ― - FIELD NOTES: 書を持って街へ出よう, https://field-notes.hatenablog.jp/entry/20111223/1324634005
前回の調査結果を元に Field Reports 1.4 に以下の機能を盛り込みました。
ただし,プログラミング言語によっては2バイトを超えるUnicode文字をエスケープシーケンスなどで表現できないので,数値参照文字も使えるようにしました。
&#dddd; または &#xhhhh; (ddddは10進数,hhhhは16進数)
ついでに,CIDまたはGIDで直接グリフを指定できるよう「グリフ参照文字」も使えるようにしました。
&@#dddd; または &@#xhhhh;l
文字参照を独自拡張した「グリフ名参照」により,グリフ名を指定できるようにしました。 以下のような書式になります。
&@<グリフ名>;
[19] Field Reports 1.4 の新機能 (3) ― グリフ直接指定 ― - 合同会社フィールドワークス, https://www.field-works.co.jp/2011/12/16/field-reports-1-4-%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD-3-%E3%82%B0%E3%83%AA%E3%83%95%E7%9B%B4%E6%8E%A5%E6%8C%87%E5%AE%9A/
[28] HTML TADS deviations from standard HTML specifications, , https://www.tads.org/t3doc/doc/htmltads/deviate.htm#TABLEadditions
[29] Word Wrapping and Line Breaking in HTML TADS, , https://www.tads.org/t3doc/doc/htmltads/linebrk.htm
[51] HTML TADS Latin-2 Character Entities, , https://www.tads.org/t3doc/doc/htmltads/latin2.htm
[52] Guide to the W3C XML Specification (XMLspec) DTD, Version 2.1, , https://www.w3.org/XML/1998/06/xmlspec-report.htm#AEN3352
[101] HTML の曖昧アンドの定義は徐々に縮小していき、最終的には名前付き文字参照と同じ構文のものになっています。
言い換えると、エスケープしなくても良い &
が徐々に増えていき、現在又は将来の名前付き文字参照と構文上区別可能ならすべて認められることになっています。
[27] Welcome to Netscape Navigator 3.0, , https://web.archive.org/web/20020630200918/http://wp.netscape.com/eng/mozilla/3.0/relnotes/windows-3.0.html#JavaScriptBugs
[1] 【SGML】 SGML の文字参照には、数値指定文字参照と名前指定文字参照があります。
前者は文書文字集合における文字番号を使って文字を参照します。例えば !
は、文字番号 33
の文字 (ISO/IEC 646:1991 IRV では !
。)
を表します。後者は機能文字又は SGML宣言の具象構文の追加機能に指定してある文字を、その名前を使って参照します。
たとえば、 &#RE は機能文字 RE
(記録終了) を表します。
Web SGML では、更に16進文字参照が追加されました。
[2] これに類したものとして、文字実体参照があります。 これは、文字1文字 (と判断されるもの。) だけの一般実体を参照するものです。例えば、 Á はアキュート・アクセントつきの文字 A に置換されるかもしれません。
(ちなみに、「文字実体」・「文字実体集合」 という言葉は SGML には出てきますが、 「文字実体参照」という言葉は HTML4 で出てきます。 (という話は言葉遊びみたいなものですが。))
[3] 文字参照は、その文字が他の手段で簡便に書けない場合に限って使うことが望ましいとされています。 (JISX4151‐1992 8.5 参照。)
[6] 文字参照を使うと良い場面 (JIS 参考3 7.2 参照。) :
など。
[10]
Firefox 2.0 で U+10FFFF
より大きな16進数を指定すると、値によって:
U-7FFFFFFF
までならサロゲート・ペアへの変換の計算を拡張したらしき2文字の列になります。
0x80000000
〜0xFFFFFFFF
だと、 &
を除く文字列がそのまま文字データとして解釈されます。
0x100000000
以上だと、下位8桁 (32ビット) 以外は無視されます。
[11]
>>10 WinIE 6 ではすべて U+003F
になるようです。
U-00110000
〜0xFFFFFFFF
はサロゲート・ペア風のなにか (Firefox とは違います。)
になります。
0xFFFFFFFF
以上は
0xFFFFFFFF
と同じ結果になります。
(名無しさん)
[13] >>10-12 いずれも文字長の制限はないように見えます。 (名無しさん)
[15] Bug 4948 - Incorrect HTML entity error recovery doesn't match other browsers ( 版) https://bugs.webkit.org/show_bug.cgi?id=4948
[63] MAMA: Character entities - Opera Developer Community ( 版) http://dev.opera.com/articles/view/mama-character-entities/
[64] Business::PayPal::API - PayPal API - search.cpan.org ( 版) http://search.cpan.org/~scottw/Business-PayPal-API-0.62/lib/Business/PayPal/API.pm#PayPal_Munging_URLs
[66] Bug 9207 – Anything else: This part of the spec is problematic, for example, a query string variable &lang_id=1 in as part of an attribute of say an img tag, will get converted into an character token when it shouldn't be. Why is the set of characters a-z, A-Z, 0- ( 版) http://www.w3.org/Bugs/Public/show_bug.cgi
[67] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=4958&to=4959
[69] IRC logs: freenode / #whatwg / 20100403 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100403#l-73
[70] Bug 10067 – this only lists entities whose replacement text is a single character, for example many of the negated operators, for example ( ( 版)) http://www.w3.org/Bugs/Public/show_bug.cgi?id=10067
[71] IRC logs: freenode / #whatwg / 20100927 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20100927
[72] XQuery 1.0: An XML Query Language (Second Edition) ( ( 版)) http://www.w3.org/TR/2010/REC-xquery-20101214/#dt-predefined-entity-reference
[73] XQuery 1.0: An XML Query Language (Second Edition) ( ( 版)) http://www.w3.org/TR/2010/REC-xquery-20101214/#dt-character-reference
[74] IRC logs: freenode / #whatwg / 20120525 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120525#l-480
[75] Web Applications 1.0 r7133 Add a JSON file for entities for convenience. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7132&to=7133
[78] Additional named entities for HTML ( ( 版)) http://www.w3.org/TR/WD-entities-961125
[79] Web Applications 1.0 r7679 Make <a href='?guitar=2&=1&pedal=6'> a parse error since IE9 misparses it '?guitar=2&=1&pedal=6' apparently. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7678&to=7679
[83] Help:Formatting - MediaWiki ( ( 版)) http://www.mediawiki.org/wiki/Help:Formatting#Inserting_symbols
[88] XQuery 3.0: An XML Query Language ( ( 版)) http://www.w3.org/TR/xquery-30/#dt-character-reference
[86] ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic ( ( 版)) https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L1310
[84] XML Entity Definitions for Characters (2nd Edition) ( ( 版)) http://www.w3.org/TR/2014/PER-xml-entity-names-20140211/
[104] Bug 13108 – Add &zwsp; as named character reference for zero width space (U+200B) ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=13108
[105] Re: [whatwg] several messages about the HTML syntax ( (fantasai 著, 版)) http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Jul/0132.html
[106] [whatwg] Markup-related feedback ( (Ian Hickson 著, 版)) http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Oct/0239.html
[107] abc:standard:v2.1 [abc wiki] ( ( 版)) http://abcnotation.com/wiki/abc:standard:v2.1#supported_accents_ligatures
書式 *****で指定可能な記述 説明
&i-mode_*****; 63647から63919 DoCoMo基本絵文字のShift_JISコード
&i-mode-ex_*****; 63921から63996 DoCoMo拡張絵文字のShift_JISコード
&i-mode_U*****; Unicode DoCoMo用絵文字のUnicode
&YahooKeitai-C_*****; [ページ番号1文字]-[ページ内のコード2文字] SoftBankC型端末用絵文字
&YahooKeitai-P_*****; [ページ番号1文字]-[ページ内のコード2文字] SoftBankP型端末用絵文字
&YahooKeitai_U*****; Unicode SoftBank用絵文字のUnicode
&ezweb-1_*****; アイコン番号またはアイコン名 au cdmaOne300シリーズ、Tu-Ka0Xシリーズ、白黒端末用絵文字
&ezweb-2_*****; アイコン番号またはアイコン名 au cdmaOne400シリーズ、Tu-Ka1Xシリーズ用絵文字
&ezweb-3_*****; アイコン番号またはアイコン名 au cdmaOne1000/3000シリーズ、Tu-Ka2Xシリーズ、Tu-Ka3Xシリーズ用絵文字
&ezweb-4_*****; アイコン番号またはアイコン名 au cdmaOne5000シリーズ、WINシリーズ、Tu-Ka4Xシリーズ、Tu-Ka5Xシリーズ用絵文字
&ezweb_U*****; Unicode au用絵文字のUnicode
XHTMLBasicの仕様では規定されていない絵文字および入力モードについては、Durianにより拡張された構文を使用します。構文の詳細については、開発リファレンスを参照してください。
機能 表記方法
絵文字 &i-mode_63647; や &YahooKeitai-C1-21; のようなエンティティ参照
入力モード inputまたはtextarea要素のtext:type属性で、text:type="hiragana"のように指定
[22] 俗に、文字参照のことをエスケープシーケンスと呼ぶことがあります。
<!ENTITY nbsp " ">
<!ENTITY nbhy "‑">
<!ENTITY wj "⁠">
[31] entries for 1EEF0 and 1EEF1 to match unicode-math · w3c/xml-entities@891fe64 ( 版) https://github.com/w3c/xml-entities/commit/891fe64c7591a75c8f2ad42f9ff0fb93b5b8ef74
[32] Formalize character reference states ( (RReverser著, )) https://github.com/whatwg/html/commit/6c629ac9e5736cdb824293999673de6a0f5ea06d
[34] Fix wording mistake in parsing a character reference ( (zcorpan著, )) https://github.com/whatwg/html/commit/918a56e5d1e9e86695770bf10c1893dd7bae6946
[35] JIS X 0218 は文字参照のために制定されたのでしょうか。
[36] XQuery 3.1: An XML Query Language () https://www.w3.org/TR/2017/REC-xquery-31-20170321/#dt-character-reference
[37] Regression fix: deal with ASCII digits before ASCII hex digits (annevk著, ) https://github.com/whatwg/html/commit/f8e75a974ed9185e5b462bc5b2dfb32034bd1145
[38] 文字の制限 () http://www.pcinfo.jpo.go.jp/guide/Content/Rules/MojiSeigen.htm
[39] Editorial: Introduce named character reference state (inikulin著, ) https://github.com/whatwg/html/commit/7d3201282d31c30cdba2583445d3727a94390286
[40] Clarify that 0x0D CR is not allowed in entities (Alcaro著, ) https://github.com/whatwg/html/commit/efcf0af907c13343d898bf47b5ab004ed59724dd
[41] Clarify that 0x0D CR is not allowed in entities by Alcaro · Pull Request #2893 · whatwg/html () https://github.com/whatwg/html/pull/2893
[42] Handle ambiguous ampersands of arbitrary length (inikulin著, ) https://github.com/whatwg/html/commit/ee198945e388bd3298b73fb842fa0175d5b6a0f9
[43] [Parser] Handle ambiguous ampersands of arbitrary length (closes #1257) by inikulin · Pull Request #2731 · whatwg/html () https://github.com/whatwg/html/pull/2731
[44] Regression fix: Lost ampersands in Character Reference State's Anythi… (JonathanO著, ) https://github.com/whatwg/html/commit/8d2875784cd4684fd85f4421a1d173902d0e1760
[45] Fix lost ampersands in Character Reference State's Anything Else case. by JonathanO · Pull Request #2913 · whatwg/html () https://github.com/whatwg/html/pull/2913
[46] XML Character Entities () http://www.oasis-open.org/docbook/specs/wd-docbook-xmlcharent-0.3.html
[49] https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=100462&item_no=1&attribute_id=1&file_no=1
[50] >>49 外字をXML実体参照で記述して、 マーク付き区間によりPUAか代替表記か切り替えられる。
&xxx;
&xxx;
が掲載され、
comments
として文字実体参照や十進数文字参照が示されていた。
また、
iモード対応HTML,
iモード対応XHTML
の一覧には要素として
&XXX;
が掲載されていた。
;
で終わらない (不適合の) 文字参照を禁止しないといけない気がしますが、 >>99 で禁止がなくなってしまっています。 また、正しい文字参照が曖昧アンドに含まれないので、文字参照はテキストとしても解釈し得る状態になっていて、厳密には不適切な状態になっています。。。