SGML、HTML、XML文書 では、文字データおよび属性値と呼ばれる論理構造は文字のシーケンスで構成されます。各文字は直接表現することも(自身を表す)、文字参照と呼ばれる一連の文字で表現することもできます。文字参照には、数値文字参照と文字実体参照の2種類があります。この記事では、HTMLおよびXML文書で有効な文字実体参照を一覧表示します。
HTML および XML では、数値文字参照は、 Universal Coded Character Set / Unicodeコード ポイントによって文字を参照し、次の形式を使用します。&#xhhhh;または、XML 文書では小文字でなければなりません。&#nnn;は16 進形式のコードポイント、は10 進形式のコード ポイントです。(または) は任意の数の 16 進数 (または 10 進数) の数字で、先頭にゼロを含めることができます。16進数の数字には大文字と小文字を混在させることができますが、通常は大文字を使用します。XML および HTML 規格では、使用可能なコード ポイントを有効な値のセットに制限しています。これは UCS/Unicode コード ポイント値のサブセットであり、非文字またはサロゲートに割り当てられたすべてのコード ポイント、および C0 および C1 コントロールに割り当てられたほとんどのコード ポイント (空白として扱われる行区切り文字とタブを除く) を除外します。xhhhhnnnhhhhnnnhhhh
対照的に、文字実体参照は、目的の文字を置換テキストとして持つ実体の名前によって、1 つ以上の文字のシーケンスを参照します。形式は次のとおりです。ここで、は実体の大文字小文字を区別する名前です。セミコロンは、次の表で特に指定されていない限り、文字実体参照では通常必要です ( [ a ]を参照)。実体は、事前に定義されている (マークアップ言語に組み込まれている) か、またはを使用して文書型定義(DTD)で宣言されている必要があります。[ b ]&name;name<!ENTITY name "value">
&これらの5つのエンティティについては、XML(およびXHTML)では末尾のセミコロンが必須です(HTMLやSGMLでは、DTDに従って一部のエンティティでセミコロンを省略できる場合もあります)。<>'"特別な要件や、主要な文字体系および少数派の文字体系に対応するために、他にも数多くのエンティティセットが開発されてきた。しかし、 Unicodeの登場により、それらはほぼ不要となった。
DTDエンティティサブセット(文字エンティティ名が定義されている部分)の完全な正式な公開識別子とシステム識別子は、実際には以下の3つの定義済み名前付きエンティティのいずれかからマッピングされます。
PUBLIC "-//W3C//ENTITIES HTML MathML Set//EN//XML" "http://www.w3.org/2003/entities/2007/htmlmathml-f.ent"ISOエンティティサブセットは、ISO 8879およびISO 9573でSGML文字エンティティ名が付けられている古い(文書化された)文字サブセットであり、ISO 10646による統合以前のレガシーエンコーディングで使用されていました。それらの正式な公開識別子は以下のとおりです。
HTML5 では、多くの名前付きエンティティが定義されており、それらへの参照は特定の Unicode 文字のニーモニック エイリアスとして機能します。[ 5 ] HTML5 仕様では、HTML ドキュメント内で参照または拡張される DTD がもはや受け入れられないため、ユーザーが追加のエンティティを定義することはできません (これは、より厳密な XML 解析ルールに基づいているが、ドキュメント ヘッダーで DTD を参照または定義できる XHTML ではまだ必要です。これは、XML がほとんどの HTML エンティティを事前に定義していないためです)。
以下の表の「Standard」列は、文字実体参照を定義する HTML DTD の最初のバージョンを示し、DTD を必要とせずに XML で事前定義されている文字を示します。これらの文字実体参照のいずれかを HTML または XML ドキュメントで使用するには、アンパサンド(&) の後に実体名、セミコロン(XML では必須、HTML ではすべての実体に対して強く推奨されますが、HTML では、以下に[ a ]で示す一部の実体からのみセミコロンを省略できます) を入力します。たとえば、©著作権記号©の場合はと入力します。
HTML には、UCS でエンコードされたほとんどのスクリプトの文字またはシーケンスに対応する事前定義された文字実体はありません (空白、句読点、数学記号または技術記号、通貨記号、数学表記で使用される少数のヘブライ語記号、およびラテン文字、ギリシャ文字、キリル文字の最も一般的な文字の一般的なサブセットを除く)。また、 UCS/Unicode で定義されているすべての双方向コントロールが HTML の標準文字実体として表現されるわけではないことにも注意してください (より一般的な方向性要素と属性を定義している HTML5 でも表現されません)。特に、UCS/Unicode で追加され、Unicode Bidi Algorithm バージョン 2 で正式に定義されたコントロールには、事前定義された HTML 文字実体はありません。
ほとんどのエンティティは、UCS の 1 つの文字だけを参照するように XML および HTML で事前定義されていますが、孤立した結合文字、バリエーションセレクタ、またはプライベート使用割り当て用の文字の事前定義エンティティはありません。ただし、リストには、それらのいくつかを含む 2 つの文字の文字シーケンスの事前定義エンティティが含まれています。HTML 5.0 (および同じエンティティセットを共有する MathML 3.0) 以降、すべてのエンティティは Unicode 正規化形式 C および KC でエンコードされています (これは、HTML および MathML の古いバージョンではそうではなかったため、プライベート使用割り当て用の文字、CJK 互換形式、または非 NFC 形式で最初に定義された古いエンティティは変更されました[ 6 ] )。
ただし、UCS のすべての有効な文字とシーケンス(双方向制御やプライベート使用割り当てを含む。ただし、空白文字以外の C0 および C1 制御、非文字、サロゲートを除く)は、HTML、XML、XHTML、MathML でも使用可能で有効です。属性のプレーンテキスト値として、またはテキスト要素として使用できます(プレーンテキストとして直接エンコードするか、必要に応じて数値文字参照を使用します)。
" was omitted from the HTML 3.2 specification, but was restored as of HTML 4.0. In practice, most web browsers displaying HTML 3.2 pages render it as if it had been included in the spec.©: 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'.® : U+00AE「登録商標」は、U+24C7「丸で囲まれたラテン大文字R」とは異なりますが、同じグリフを使用して両方の文字を表すことができます。Å : 東アジア文字エンコーディングとの往復マッピング互換性のためにエンコードされた U+212B「アングストローム記号」の使用は推奨されず、同じグリフを持つ U+00C5「上にリングが付いた大文字の A」が推奨される表現です。IJおよび:オランダ語ijでの使用およびISO/IEC 6937およびコード ページ 1102 (小文字の ij のみを含み、 ISO 646国別置換文字セットのオランダ語版の一部でもある)との互換性のためには推奨されず、推奨される表現は単に 'IJ' または 'ij' (2 つの別々の文字として) です。ŀとの互換性のためにエンコードされた U+013F「ラテン小文字 l と中点」または U+0140「ラテン大文字 L と中点」の使用は推奨されず、推奨される表現は「L」または「l」に続いて U+00B7 です。ʼnとの互換性のためにエンコードされた U+0149 'n の前にアポストロフィが付く' の使用は、Unicode 5.2 以降、Unicode によって非推奨となり、推奨される表現は ʼn (U+02BC の後に n が続く) です。( Unicode.org – 追加の非推奨文字の提案)。Ω: 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.​, ​, ​, ​: 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.ℑ, ↦: these two entity names were defined differently, as file-type icons, in the abandoned specification for HTML version 3.0.[13][14]℗: 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.ℵ : U+2135「アレフ記号」は、U+05D0「ヘブライ文字アレフ」(数学記号とは異なり、右から左への双方向テキスト動作が強い)とは異なりますが、同じグリフを使用して両方の文字を表すことができます。ℶ : U+2136「ベト記号」は、U+05D1「ヘブライ文字ベト」(数学記号とは異なり、右から左への双方向テキスト動作が強い)とは異なりますが、同じグリフを使用して両方の文字を表すことができます。ℷ : U+2137「ギメル記号」は、U+05D2「ヘブライ文字ギメル」(数学記号とは異なり、右から左への双方向テキスト動作が強い)とは異なりますが、同じグリフを使用して両方の文字を表すことができます。ℸ : U+2138「ダレット記号」は、U+05D3「ヘブライ文字ダレット」(数学記号とは異なり、右から左への双方向テキスト動作が強い)とは異なりますが、同じグリフを使用して両方の文字を表すことができます。⇐ : ISO 10646 では、「左向きの二重矢印」が「~によって暗示される」矢印と同じであるとは規定されていませんが、その機能のための他の文字も規定されていないため、lArrISOtech が示唆するように「~によって暗示される」に使用できます。⇒ : ISO 10646 では、「右向きの二重矢印」が「暗示」の矢印と同じであるとは規定されていませんが、この機能を持つ他の文字もないため、rArrISOtech が示唆するように「暗示」に使用できます。∏ : U+220F「n項積」はU+03A0「ギリシャ文字の大文字パイ」と同じ文字ではありませんが、同じグリフが両方に使用される場合があります。∑ : U+2211「n項の総和」はU+03A3「ギリシャ文字の大文字シグマ」と同じ文字ではありませんが、同じグリフが両方に使用される可能性があります。∼ : U+223C「チルダ演算子」は、 U+007E「チルダ」と同じ文字ではありませんが、同じグリフが両方を表すために使用される場合があります。⊅ : U+2285 'not a superset of' は 'ISOamsn' サブセットに含まれていますが、Symbol フォントのエンコーディングではカバーされておらず、ドキュメントの HTML 4.0 エンティティ リストにも記載されていません (誤って省略されています)。他のエンティティとの対称性および類似性のために含めるべきです。⊥:Unicodeでは「上向きタック」はU+22A5のみで定義されており、「垂直」のUnicode記号はU+27C2です。この2つの記号は似ていますが、Unicodeでは別個の記号です。しかし、HTMLでは「垂直」記号としてU+22A5を使用しています。これはHTMLとUnicodeの不一致です。また、 Firefox 3.6などのブラウザでレンダリングされるU+22A4文字(「下向きタック」記号)は、固定幅フォントかプロポーショナルフォントかによって、「上向きタック」または「垂直」のどちらかのフォントに一致しますが、両方に一致させることはできません。 Firefox 3.6 で、プロポーショナルフォントの「⊥ ⊤ ⟂」と固定幅フォントの「」で、U+22A5、U+22A4、U+27C2 の順に表示された記号を見ると、「下向きタック」は前者の場合 U+22A5 (HTML の「垂直」) と似た外観ですが、後者の場合 U+27C2 と一致します。これは、グリフ、記号、文字全般の解釈に関わる記号論⊥ ⊤ ⟂の難しさを例示しています。⋅ : U+22C5「ドット演算子」は、U+00B7「中ドット」と同じ文字ではありません。⋘ : U+22D8 'very much less-than' は HTML 5.2 エンティティのリストに欠落しており、省略されています。⟨ : U+27E8「数学の左山括弧」は、U+003C「小なり記号」、U+2039「左向きの単一引用符」、またはU+3008「左山括弧」と同じ文字ではありません。HTML 5.0では、U+2329「左向きの山括弧」がUnicodeで非推奨とマークされているため(バージョン5.2以降)( Unicode.org - 追加の非推奨文字の提案)langこのコードに再マッピングされました⟩ : U+27E9「数学の右山括弧」は、U+003E「より大きい」、U+203A「単一の右向きの引用符」、またはU+3009「右山括弧」と同じ文字ではありません。HTML 5.0では、U+232A「右向きの山括弧」がUnicodeで非推奨とマークされているため(バージョン5.2以降)( Unicode.org - 追加の非推奨文字の提案rang)このコードに再マッピングされていました。XHTML DTD は、 展開すると 1 文字になる 253 個のエンティティ (XML 1.0 の 5 つの定義済みエンティティを含む) を明示的に宣言しており、これらは非公式に「文字エンティティ」と呼ばれます。これらのエンティティ (エンティティを除く) は、 HTML 4.0の 252 個の文字エンティティと同じ名前を持ち、同じ文字を表します。また、 XMLであるため、XHTML ドキュメントは、HTML 4.0 の 252 個の文字エンティティの 1 つではない定義済みエンティティを参照できます。任意のサイズの追加のエンティティは、ドキュメントごとに定義できます。ただし、XHTML におけるエンティティ参照の使いやすさは、ドキュメントの処理方法によって影響を受けます。' '
'サポートされていない場合があり、予期しない結果が生じる可能性があります (代わりに数値文字参照を使用することをお勧めします')。'上記の特殊なケースのため、 XHTML の処理状況では"、、、、、&のみ<が機能します。>