名前指定文字参照 - テストスイート

概要

HTML 4.01 の SGML 宣言では、次の四つの機能文字が定義されています。

SYNTAX
     FUNCTION
          RE            13
          RS            10
          SPACE         32
          TAB SEPCHAR    9

従って、HTML 4.01 文書ではこれらの機能文字に対する名前指定文字参照を記述することができます。例えば混合内容中の (すなわち、PCDATA としての) &#SPACE; という記述は、  という記述 #x20 が地の文に記述されているのと同様に扱われなければなりません。つまり、通常は単なる空白として処理されなければならないのです。

さて、あなたのブラウザはこれらの文字参照を正しく処理できるでしょうか。

Valid HTML 4.01!

名前指定文字参照の解釈についてのテストスイート

名前指定文字参照テスト
ソース実際の表示正しい表示
"&#RE;""&#RE;"" "
"&#RS;""&#RS;"" "
"&#SPACE;""&#SPACE;"" "
"&#TAB;""&#TAB;"" "

なお、空白文字に対して特殊な扱いをしている実装では、この限りではありません。例えば CSS で white-space: pre; を指定している場合など。

余談

なお、HTML 4.01 勧告での文字参照についての記述は以下のようになっています。

Character references in HTML may appear in two forms:

数値指定文字参照と十六進数文字参照(と、CDATA 実体への一般実体参照)についての言及はあるものの、名前指定文字参照については全く触れられていません。もっとも、SGML の仕様書には SGML 応用は SGML に適合するマーク付けの利用を禁止してはならないという記述があるため、上記の例が HTML としても妥当なのは間違いないのですが。

追記 (2003-11-11)

数値指定文字参照との違いについて理解していなかった部分があったので、修正しました。

参考文献

この文書のステータス

URI
http://www.satoshii.org/markup/samp/2002/named-charref-test
初版
2002-02-24
最終更新
2003-11-23
著者
石川哲志
Copyright © 2002-2003 Satoshi ISHIKAWA, All Rights Reserved.