xmp要素
※この要素は廃止されました。
要素名 | バージョン | 開始タグ | 終了タグ | 分類/親 | 中身 |
---|---|---|---|---|---|
xmp | 2.0, 2.x, 3.2 | 必須 | 必須 | CDATA |
xmpの解説
xmp要素は廃止されました。これから HTML文書を作成する人は、この要素を使わないようにしたほうが良いでしょう。
xmp は pre要素と似ていますが、扱いは全く異なります。xmp の中身が CDATA となっている点に注目して下さい。これは SGML 的な扱いを受けないテキストで、& と書いてもそのまま表示されますし、逆に & などをそのまま書くことができます。< > をそのまま書けるので、HTML のタグを直接書いて例示するのに使われました。
ただし、xmp の中身には終了タグ開始区切り子 </ を書くことができません。</ が現れると、そこに XMP要素の終了タグがあるものと判断されます。そのため、HTML の構文を例示するという目的であるにもかかわらず、終了タグを表現することができません。</ と書いたり <\/ と書いたりしてもそのまま表示されてしまいますから、終了タグを表現することは不可能です。この矛盾のため、この要素は HTML2.0 成立当初より非推奨とされ、HTML4.0 では廃止されました。
なお、HTML2.0 成立直前のドラフトでは、xmp の終了タグを </XMP> に限定することによって </ を書けるようにする、という案になっていたようです。これは SGMLの短縮タグ機構のルールに反する案で、HTML2.0 の目指した「HTML の SGMLアプリケーション化」そのものにも反しているため、採用されなかったものと思われます。
ところが、現実のブラウザは、この HTML2.0 成立以前の仕様を実装しているようです。ですから </ を書いてもそのまま表示するのですが、それでも </xmp> という文字列は表現できません。マーク区間を使う方法も考えられますが、それでは xmp を使う意味がありません。
pre要素にはそういう欠陥はありません。多少面倒でも、pre を使って表現したほうが良いでしょう。
- 「xmp要素」にコメントを書く