文字参照とエンティティ参照 [XML 標準]

文字参照とエンティティ参照は、ドキュメントに直接文字を入力するのではなく参照することによって、XML ドキュメントに情報を含める方法を提供します。 これは、以下の場合に便利です。

  • 文字がマークアップとして解釈されるため、それらの文字を直接ドキュメントに入力することができない。

  • 入力デバイスの制限のため、文字を直接ドキュメントに入力することができない。

  • 1 バイト文字に制限されているプロセッサ経由で文字を確実に送ることができない。

  • 文字列またはドキュメントの寸断が繰り返し見られ、省略されている可能性がある。

コンテンツの表現に関して、XML はアンパサンド (&) で始まり、セミコロン (;) で終わる多くの構文構造を提供します。

文字参照は Unicode のコード ポイントを指す数字によって識別される Unicode 文字を挿入する手段を提供します。 コード ポイントは、10 進数表記または 16 進数表記のどちらかを使用して識別できます。

  • & #value;
    10 進数参照に使用される構文です。

  • &# xvalue;
    16 進数参照に使用される構文です。

たとえば、€ または € をドキュメントに挿入して、ユーロのシンボル (多くのキーボードに依然として存在しない文字) を挿入することができます。

次の表は、XML マークアップで使用される文字についての 5 つの組み込みエンティティの一覧です。

Entity

エンティティ参照

説明

lt

<

< (より小)

gt

&gt;

> (より大)

amp

&amp;

& (アンパサンド)

apos

&apos;

' (アポストロフィまたは単一引用符)

quot

&quot;

" (二重引用符)

文字が原因で XML パーサーがドキュメントを誤って解釈する可能性がある場合は、文字を入力する代わりにエンティティを使用します。 &apos; および &quot; エンティティ参照は属性値の中で最も一般的に使用されています。

たとえば、Me&You と書くには、Me&amp;You を使用します。 a<b には、a&lt;b を使用します。 b>c には、b&gt;c を使用します。

独自にエンティティを定義することもできます。これは、HTML が HTML 内での使用向けにエンティティを定義しているのと同じようなものです。 &ap は HTML ファイルとしては認識されません。HTML への変換時には、$#.... を使用する必要があります。

定義済みのエンティティを持つドキュメント型定義 (DTD) を使用して作業している場合は、次の構文を使用して、ドキュメント コンテンツ内でそれらを参照できます。

&entityName;