HTMLの文書構造記述の価値

HTMLはWeb の普及と共に広がった。しかし広まって良かったかどうかは難しいところだ。Web と共に HTMLが大きな問題を中に抱えているからだ。

HTMLに関して良く行なわれる議論がある。HTMLはSGML的に文書の構造を記述するものであるべきか、ブラウザで見た時の見栄えのために、レイアウト情報を含むべきものであるか否かというものだ。これは本来独立の問題であるはずだが、両者を同じタグという表現方法で一つのテキスト中に同居させているために、現実には排他的な競合を生んでいる。
果たしてこのよくある議論はどちらが正しいのだろうか?両者を本来の独立した問題に戻すべく、HTML 4.0 ではスタイルシートというアイディアを導入しているが、それが正しいアプローチなのだろうか?

僕はこの問題は根本的に Web とネットの誤りに現因しており、構造的な問題だと考えている。Web において 1 ページの HTML として表現しようとする情報量の規模が小さ過ぎることが問題なのだ。すなわち上の議論はいずれも的外れである。

HTMLがSGMLを元にしていることは良く知られているが、このSGMLは本来巨大なドキュメントを一つの SGML ファイルとして記述することが主たる目的の一つである。つまり大きなドキュメントの文書の構造を、文書中にマークとして残すことで示そうとしているのだ。逆に、例えばタイトル 10 文字、本文 50 文字のドキュメントの構造を、はたしてどこまで丁寧に記述する必要があるだろうか?大きなドキュメントほど文書の構造を示す価値が上がる。
ところでWeb における HTML ドキュメントの大きさというのは、一般にどの程度の大きさだろうか。それは非常に小さいのではないだろうか。

Web における HTML ドキュメントの小ささは、提供される情報単位の量的小ささに原因するものだけではないはずだ。それは Web というアプリケーションの作りの悪さにも起因していると思う。つまりあなたが Web で一冊の本に相当するドキュメントを書こうと思った時に、あなたは多分それを一つの大きな HTML ドキュメントとして書かないだろう、ということだ。Web の状況はそれを嫌う。
Web というアプリケーションは、ユーザが閲覧したいオブジェクトの一部分だけを徐々に取得することを許さず、一括してオブジェクトをまるごと転送してしまう。あなた(Web ページデザイナー)は、恐らくこのWeb の性質とネットの細さを考慮に入れて、自分が書いたドキュメントをユーザが断片的に読めるように、ドキュメントを複数の HTML ファイルに細分化してしまうだろう。こうすることで例えば大きなドキュメントを少しずつ、ないしは途中からでも読めるからだ。

つまりWebというアプリケーションは、本来細分化する必要のないドキュメントまで、細かな HTML ファイルの断片として記述させてしまう。そうして作られた小さな HTML ファイルに、果たして丁寧に記述する価値のある構造が残っているだろうか?
つまり本来 SGML が記述したいと考えている、大きなドキュメントの大域構造は、HTML においてはファイルの分割とリンクに記録されている。しかし Web は HTML ファイル間の構造を記述する方法を何一つ持っていない。親の HTML ファイルと、第一章、第二章をそれぞれ収めた HTML ファイルを結ぶリンクに、その関係を示す何らのマークもないのだ。
つまり HTML は、本来記述するべき文書の構造などあらかじめ失ってから記述されるのだ。どのようにレイアウトと構造を記述し分けるかなどという問題以前に、すでに HTML は Web というアプリケーションによって、書くべき構造を失っているのだ。繰り返していうが、これは Web というアプリケーションが持つ構造的な問題だ。

この視点から、僕が考え付く解は二つしかない。

A1. 巨大な一つのドキュメントまるごとを一つの HTML ファイルとして記述して使うために、Web に HTML ファイルを部分的に転送する能力を持たせる。
例えば RealVideo を思い浮かべれば良い。このアプリケーションはユーザが指定した任意の部分から再生することができる。

A2. 一群の HTML ファイルによって記述されたドキュメントを、ひとつの大きなドキュメントとして扱えるようにするために、Web はリンクに結ばれるドキュメントの関係を示すマークを付けられるようにする。
例えば大きなドキュメントのトップページから、第一節のトップページへのリンクには、H1 に相当するマークを付けられるようにすれば良いのだ。そうすれば構造は失われずに済む。

僕は A1. の方法を SGML で実現する製品が出ることを期待している。つまり部分的に SGML ドキュメントを参照できるサービスとブラウザがあれば良いのだ。

A2. の方法はより柔軟性があり期待できるが、自分でもハイパーテキストがこういった記述で良いのかどうか考えを尽くせていない。特にネット上に散在している多くのドキュメントを集めて構成するようなメタ・ドキュメントにおいて、A2. 的な方法はどう影響を及ぼすだろう。

Xanaduは A1. 的なアプローチをデータの構造としては行なっている。そこに現れるトランスクルージョンというリンクは、巨大ドキュメントの任意の一部を参照する。しかし実際のXanaduアプリケーションがどのように振舞うのかは知らない。



Yutaka Yasuda

1998.06.06