マークアップ言語

文字参照の仕組みと種類:HTMLおよびXMLにおける文字表現

HTMLやXML文書において、直接記述できない文字や記号を表現するための仕組みである文字参照の種類、数値文字参照、文字実体参照について詳しく解説します。

📌 主なポイント

  • 文字参照はHTMLやSGML文書において直接記述できない文字や記号を表記する手法である。
  • 数値文字参照には10進数および16進数を用いる方法があり、ISO 10646の文字番号で指定する。
  • XMLではHTMLにおける数値文字参照を「文字参照」、文字実体参照を「実体参照」と呼んで区別している。

文字参照(もじさんしょう、英: numeric character reference / character entity reference)とは、HTMLなどのSGML文書において、直接記述することができない文字や記号(マークアップで使われる半角の不等号「<」や「>」など)を表記するために用いられる方法である。

SGML構成素のひとつとして定義されており、文書文字集合中の文字を参照するための手段を提供する。

数値文字参照

数値文字参照は、10進数もしくは16進数によって文書文字集合における該当文字をISO 10646の文字番号で指定する方法である。

例えば、8分音符の記号「♪」は以下のように指定することができる。

  • &#9834; (10進数による指定)
  • &#x266A; (16進数による指定)

16進数による指定は元々のSGMLの規格には存在しなかったが、HTML 4.0で規格化された。16進数表記の際には大文字と小文字の区別がない。

なお、&#x80; から &#x9F;&#128; から &#159;)の範囲の数値文字参照は、割り当て上はすべて制御文字であるが、実装レベルではWindows標準コードページ1252集合に含まれるがISO-8859-1に含まれない文字に置き換えられることがある。

文字実体参照と実体参照

文字実体参照は、特定の文字列(名前のような識別子)によって文書文字集合における該当文字を指定する方法である。

文字実体参照は数値文字参照に比べて直感的に文字参照を行えるため一般的に用いられることが多い。しかし、文字実体参照として定義されていない特殊な文字については、数値文字参照を用いる必要がある。

HTMLにおける文字実体参照では大文字と小文字の区別が存在する。例えば、&auml; は小文字のウムラウト付 a(ä)を示し、&Auml; は大文字のウムラウト付 A(Ä)を示す。

HTMLで使用可能な主な文字実体参照

文字 文字実体参照 説明
(空白) &nbsp; ノーブレークスペース(折り返しを起こさない空白)
< &lt; 小なり記号(半角)
> &gt; 大なり記号(半角)
& &amp; アンパサンド(半角)
" &quot; 二重引用符(半角)

XMLにおける実体参照

XMLの仕様においては、定義済み実体として使用できる文字は5種類のみに制限されている。これ以外の実体参照を使用するには、別途DTDを指定する必要がある。

  • &amp; (&)
  • &lt; (<)
  • &gt; (>)
  • &quot; (")
  • &apos; (')

よくある質問

数値文字参照と文字実体参照の違いは何ですか?
数値文字参照は文字のコード番号(10進数または16進数)で指定する方法であり、文字実体参照は特定の名前(文字列)で文字を指定する方法です。
XMLでデフォルトで使用できる実体参照は何種類ですか?
XMLの仕様では、定義済み実体として使用できる文字は「&amp;」「&lt;」「&gt;」「&quot;」「&apos;」の5種類のみです。

関連記事

HTMLXMLSGMLISO/IEC 10646

参考文献

  • Numeric character reference end state - HTML Living Standard, WHATWG, 2026年7月18日閲覧。
  • XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)