ばけらの HTML リファレンス(未完成)

bakera.jp > 鳩丸リファレンス > ばけらの HTML リファレンス(未完成) > 要素一覧 > xmp要素

xmp要素

※この要素は廃止されました。

要素名バージョン開始タグ終了タグ分類/親中身
xmp2.0, 2.x, 3.2必須必須CDATA

xmpの解説

xmp要素は廃止されました。これから HTML文書を作成する人は、この要素を使わないようにしたほうが良いでしょう。

xmp は pre要素と似ていますが、扱いは全く異なります。xmp の中身が CDATA となっている点に注目して下さい。これは SGML 的な扱いを受けないテキストで、&amp; と書いてもそのまま表示されますし、逆に & などをそのまま書くことができます。< > をそのまま書けるので、HTML のタグを直接書いて例示するのに使われました。

ただし、xmp の中身には終了タグ開始区切り子 </ を書くことができません。</ が現れると、そこに XMP要素の終了タグがあるものと判断されます。そのため、HTML の構文を例示するという目的であるにもかかわらず、終了タグを表現することができません。&lt;/ と書いたり <\/ と書いたりしてもそのまま表示されてしまいますから、終了タグを表現することは不可能です。この矛盾のため、この要素は HTML2.0 成立当初より非推奨とされ、HTML4.0 では廃止されました。

なお、HTML2.0 成立直前のドラフトでは、xmp の終了タグを </XMP> に限定することによって </ を書けるようにする、という案になっていたようです。これは SGMLの短縮タグ機構のルールに反する案で、HTML2.0 の目指した「HTML の SGMLアプリケーション化」そのものにも反しているため、採用されなかったものと思われます。

ところが、現実のブラウザは、この HTML2.0 成立以前の仕様を実装しているようです。ですから </ を書いてもそのまま表示するのですが、それでも </xmp> という文字列は表現できません。マーク区間を使う方法も考えられますが、それでは xmp を使う意味がありません。

pre要素にはそういう欠陥はありません。多少面倒でも、pre を使って表現したほうが良いでしょう。

最近の日記

関わった本など