Jintrick.netagenda2007年11月アーカイブ → 2007年11月28日

HTMLの採用について

「統一病」につける藥 - 闇黒日記2.0 - Yahoo!ブログに出てくるAncient Libraryの何とかさんXHTML原理主義者あたりの話はISO-HTMLとXHTMLに関する議論リンク集 - 徒委記で読める。

私はこの論争に参加してアンチHTMLと思われるのも、アンチXHTMLと思われるのも嫌だったので、書きたいことはあったけれども控えていたのを覚えている。

先に結論だけを乱暴に書くと、HTMLのほうが現時点で互換性に優れていて、エラー補完するソフトウェアが多く安心だから、agendaでは基本的にHTMLを採用している、ということだ。採用したからには恩恵たるタグの省略を目一杯利用して、ソースを簡潔に仕上げて編集しやすくしている。XML的に処理したいならHTML TIDYか何かを通して欲しい。

XHTML派の一部は「SGML応用のHTML」と認識しているらしいが、「XMLパーサとSGMLパーサの比較」は全く現実を見ていない机上の空論である。XHTMLを「処理する」といったって、HTML名前空間を知らないXMLパーサでできる事なんて、ないに等しいだろう。結局のところHTMLを知っていてXMLのインフォセットを扱えるソフトウェアの存在が要求される。そのソフトウェアがHTMLの名前空間に属する当該要素のセマンティクスを知らなければ、できる「処理」なんてたかが知れている。一方、HTMLを処理するSGMLパーサなんて、ない。あるのはHTMLパーサであって、SGML応用としてHTMLを処理しているわけではなく、HTMLに特化して高速に処理するソフトウェアが沢山あるという状況がある。これが事実だ。どちらにしろHTMLを良く知っているパーサが(X)HTMLを高速に処理してくれるのであって、XMLパーサがXMLのインフォセットを取り出しそれについてHTMLを知っているソフトウェアがセマンティクスを与えるXHTMLと、HTML専用のパーサがセマンティクスつきのHTMLのインフォセットを取り出してソフトウェアに渡すHTML、という比較でなければ現実に即していない。シンタクスとセマンティクスの解釈が分離されているXMLパーサはセマンティクスの拡張に容易に対応できるが、HTMLパーサは「vice versa」だ、という違いがあるのみで、HTMLで表現できることはHTMLを使えば十分であるといえよう。MathMLの名前空間を持つ要素と、HTMLの名前空間を持つ要素・属性が混ざったような文書を公開するとき、そのとき初めてXHTMLの優位性が生まれ、XHTMLとして公開する必要性、必然性が出てくるのであって、そうではないのなら、ウェブデザインの世界、即ち互換性が最も重要な要素の一つである世界では、未だHTMLが優位である。これがagendaで主にHTMLを採用している第一の理由だ。

コンテンツを優れたハイパーテキストとして公開したいなら、(X)HTMLのソースに触らなくても良いような優れたソフトウェアを見つけるか、もしくはそのようなソフトウェアがないならば、自分で(X)HTMLのソースを書かなければならない。XML応用であるXHTMLは、XMLパーサに通される為、well-formedでないときそこで解析がストップする。HTMLではエラーがあっても解析がストップするとは限らない。この違いがあるため、自分で直接ソースを書いたり編集したりするのであれば、HTMLが優先的な選択肢になる。さて、私が満足するほど優れたハイパーテキストたるXHTML文書を吐いてくれるソフトウェアは、ない。ゆえに私は自分でHTML文書を書いたり、あるいはテンプレートをHTMLで書くのである。例えばMovable Typeなどでいえば、変なclass属性をつけられたり、余分で役立たずのメタ情報を与えられたり、互換性の低いプレゼンテーションが紛れ込んだり、ありもしない文書構造が明示されたり、珍妙なナビゲーション構造体が付加されたりするわけだが、これらを正すには、何をどうしたってHTMLの知識が必要なのだ。ツールを使っていても結局ソースは弄らなければならない。「ソースを弄る」限り、XHTMLは危険である。HTMLを知っているがゆえにツールの吐くHTML文書の粗が見えてしまってソースを弄らざるを得なくなり、XHTMLを敬遠してしまうという形だ。これがagendaで主にHTMLを採用している第二の理由だったのだが、こちらは少し弱い動機であって、妥当性検証プロセスを加えるプラグインの導入によって簡単に解決できるし、実際には解決している。しかし一般には大きな動機付けになるだろう。

ちょっとしたメモ - 今どきのXHTMLメディアタイプを読んだ。著者は、この2~3ヶ月ほど繰り返していたLinked Dataの試行を通して、XMLメディアタイプの指定が有益であり、また必要だと思うようになったとのことだが、ハイパーテキストの世界で長らくスタンダードだったHTMLからインフォセットを取り出すくらいのこともできないソフトウェアを見直すのが先だ。ウェブで重要なのは一にも二にも互換性なのだから。ましてA要素やLINK要素からRDFトリプルを抽出するくらいなら、XMLパーサは必要なものではない。ところで、そのLinked Dataにアクセスすると、応答ヘッダはtext/htmlと言ってくるし、getした文書はHTML4を名乗っているが、これは何を意味しているのか。恐らく何も意味していない。言えるのは、世の中の殆どの文書はtext/htmlとして送られてくるし、仮に文書型がXHTMLであってもHTMLパーサでなければ処理できない(not well-formed)という事実があり、その一端であるということだけだ。 これは、XHTMLを吐くソフトウェア共がどれだけ駄目であるかを示しており、一般のユーザがXHTMLの採用を控えるべきであることを示唆している。

XHTMLを吐くソフトウェアは、ユーザからソースを隠蔽するか、さもなくば妥当性検証のプロセスを強制しなければならないと思う。これは是非勧告してもらいたかったし、そうでなくても暗黙の了解となって然るべきだと思う。そうなるまでは、まだまだXHTMLの無闇な推薦は早すぎると言わざるを得ない。


webmaster@jintrick.net
公開: 2007年11月28日
カテゴリ: HTML ,agendaについて