* plaintext 要素型 (HTML, XHTML 1) [1] [[HTML]] の [DFN[[CODE(HTMLe)[plaintext]] 要素型]]の要素は、 HTML がそこで終わり、以後は[[平文]]として扱うことを表します。 [2] 仕様書: - [[HTML 2.0]]: [[RFC 1866]] 5.5.2.1. NOTE RFC 1866 の NOTE は[Q[以前の原案では含めていた]] などと書いていますが、 DTD には思いっきり載ったままであったりします。 [3] :[[開始タグ]]:必須 :[[終了タグ]]:不存在 :[[内容]]:不存在 :出現できる文脈:HTML 文書の最後 :[[属性]]: ,属性名 ,属性値 ,既定値 ,説明 ,出典 [[#comment]] ** 代替 [7] [CODE(HTMLe)[plaintext]] 要素型は HTML 2.0 DTD で'''非推奨'''とされていますし、 HTML 2.0 仕様書本文では既に削除されたものとして扱われています。 [[HTTP/0.9]] はとうの昔に既に時代遅れでして、 平文を転送する時には新しい版の HTTP で [CODE(MIME)[[[text/plain]]]] と札付けするべきです。 また、整形済み文を HTML に含める際には [CODE(HTMLe)[[[pre]]]] 要素型を使うべきです。 [[#comment]] ** 歴史 [4] この要素型は、主として、 [[HTTP/0.9]] で平文を送るために使用されていました。 HTTP/0.9 は後の [[HTTP]] とは異なり、[[媒体型]]を指定できず、 常に [[HTML]] を[[応答]]で返すものと扱っていました。 そこで平文を返す時には、最初に [CODE(HTML)[<[CODE(HTMLe)[plaintext]]>]] と挿入していました。 [10] [[Line Mode Browser]]で1991年2月11日に実装されました。 ;; [CITE@en[Change History of Line Mode Browser]] [5] HTML 2.0 DTD では [CODE(HTMLe)[[[html]]]] 要素の子供で [CODE(HTMLe)[[[body]]] 要素の弟として高々1つ存在できます。]] 内容は [CODE(SGML)[%literal]] で、 SGML 的には [CODE(SGML)[[[CDATA]]]], 終了タグが省略可能と宣言されています。 [6] しかし、 >>5 の時代に無理矢理 SGML 的に DTD で表されて仕様に >>2 のような曖昧な形ながら入れられてしまったために、 以後の実装や[[タグ講座]]で亡霊として残ることになってしまいました。 実装の中には終了タグを認め、 [CODE(HTMLe)[[[xmp]]]] や [CODE(HTMLe)[[[listing]]]] と同じように扱うものもあります。 また、他の要素型並みにどんどん共通属性が追加されていきました。 [7] また、信じられないことではありますが、 [[au]] の携帯電話用の [[XHTML Basic]] なる仕様 (W3C 版 XHTML Basic を基にしているらしい。) では [CODE(HTMLe)[plaintext]] 要素型が用意されています。 [[#comment]] ** メモ [8] - [CITE[ボーダフォンライブ!向けウェブコンテンツ開発ガイド [HTML 編] 1.3.0]] (2005年4月1日) -- [CSECTION@en[3.6.9. p : paragraph]] これによると、 [CODE(HTMLe)@en[plaintext]] の内容は [CODE(SGML)[(%[[block]];)+]] です(藁。 [[終了タグ]]は必須で、この要素型自体も [CODE@en[block]] に分類されています。 [Q[改行コード、スペース、タグを含めて全てそのまま表示を行う。]] らしいですが・・・。 ([[名無しさん]] [sage]) [9] [[iモード]]向けの[[文書]]で[[改行]]のための [CODE(HTMLe)@en[[[br]]]] の[[タグ]]の[[バイト]]数の節約のために [CODE(HTMLe)@en[[[plaintext]]]] が使われることがあるそうです。 [[不思議]]な [[XHTML Basic]] 解説にそう書いてありました(藁。 ([[名無しさん]] [sage]) [11] [CITE[Index of /~wakaba/-temp/test/html/plaintext]] ([CODE[2008-06-22 16:25:18 +09:00]] 版) ([[名無しさん]]) [12] [[WinIE 6]], [[WinIE 7]], [[Safari]] 3.1, [[Opera]] 9.2, [[Firefox]] 2 のいずれにおいても、 - [[終了タグ]]は[[認知]]されません。 - [CODE(JS)@en[[[document]].[[write]]]] があっても、仕様通りに処理されます。 - [[Opera]] でだけ、[[Live DOM Viewer]] で [CODE(HTMLe)@en[[[plaintext]]]] を使うと、 [CODE(JS)@en[[[document]].[[wrote]]()]] の使用・不使用にかかわらず、 なぜか [CODE(HTMLe)@en[[[plaintext]]]] の子供が現れず、[[レンダリング]]もされません。 >>11 のような単純なテストケースでは再現できません ([CODE(HTMLe)@en[[[iframe]]]] と 「CODE(JS)@en[[[document]].[[write]]()]] の複合?)。 ([[名無しさん]]) [13] [CITE@ja[plaintext要素@ばけらの HTML リファレンス(未完成)]] ([TIME[2008-06-04 14:34:43 +09:00]] 版) ([[名無しさん]]) [[#comment]] * メモ