パスワードを忘れた? アカウント作成
629689 journal

ADの日記: HTMLメモ

日記 by AD

肝心なことを書き忘れた。

HTMLの基幹がSGMLに根ざしていることは、SGMLの設計思想がHTMLが担うべき目標にとって好都合であったからと予想できる。

SGMLの基本的な設計目標は、ある条件に従ってエンコードされた文書が、情報の損失なく、一つのハードウェア的・ソフトウェア的環境から、別の環境へ移行できることを保証することであった。

「異なった環境で情報の欠損なく文書を移行できる。」というSGMLの設計思想は、Webの共通語になるべく作られるHTMLの負う「様々に異なった環境での文書利用」という課題の解になっている。SGMLが機種間での文字コードの違いを考慮していることもHTMLの目的に合致している。

HTMLにおける「要素の明示」や、「構造とレイアウトの分離」という概念も、もともとSGMLが持っている設計思想である。SGMLでいうDSSSLはレイアウト情報を指示するものだが、それは文書中に記述されるマークアップとは明確に区別され、通常は文書から独立し外部に集約される。

このようにHTMLはSGMLの利点をそのままに、DTD/記述法を限定し公用フォーマットとしたものである。従ってHTMLは、原理的にはSGML文書として適合していなければならない。

Webの性質を踏まえて開発されたHTMLだが、道具の性質に即した使い方をされなければその長所は生かされない。故にHTMLの記述者はHTMLの記述法でなく、論理構造の明示、構造とレイアウトの分離、下方互換性などなどの概念を最低限度理解すべきであると私は考える。

私はHTML文書の読み手にHTMLの知識を必要とするというわけではない。本来であればHTML文書が人間に目に触れるときには適切な出力処理によって感覚的に文書構造がわかるようになっているはずなのである。本当に知識が必要なのは利用されるものを作り出す側。つまりHTML文書の記述者である。

また、私はHTMLの作成手法を限定するものではない。オーサリングツールによっても良いし、単純なワードプロセッサでも良い、またはスクリプトなどでも良い。ただ、作成する際にHTMLの長所を損なうようなことのないようにすべきだといっているのだ。そのためには製作者がHTMLの記述法ではなく概念を知るべきであると。

加えて、「HTMLの概念なんぞ知らなくても良い」という人も居られるだろうが、良質なものは意識的に作られる。無意識的である場合でも「それなり」な文書を吐くプログラムが必要であるということは否定しない。だが、何も知らないで何かすごいことをしたいというのは現実的に不可能である。使い勝手の良いWebサイト、ユーザービリティーがあるWebサイトが良いと思われるならば、概念は知るべきである。

あと、HTMLの概念というやつはWeb文書共通の概念といっても過言ではない部分もあるので、HTMLに限らず、文書を書く上では知っておいて良いことだと思う。

端的にいって、HTMLは不完全な仕様である。1997年まで事実上SGMLのDSSSLに相当するものが存在しなかったため、HTML文書の記述者は「構造とレイアウトの分離」を意識するのが困難であったという事実。SGMLのサブセットを目指しながらも現状に配慮するために物理要素を完全には否定できないという事実。しかし、HTML以上にWebに親和性をもっている仕様もないという事実。不完全だけれども、不完全なものをより快適に使う努力はすべきである。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...