Strict-HTML スレッド 3.2 (W2C Recommendation)
何やら妙な憶測が蔓延してるようなので、ちょっと長くなりますがこの際
ISO-HTML が何故こういうデザインに至ったかをまとめておきます。詳細は
ISO/IEC JTC1/SC18/WG8 (現在は JTC1/WG4) の Web サイトを見れば関連文書を
参照できます。以下では "N1898" のような記述は ISO/IEC JTC1/SC18/WG8 の
Document Number を指します。
cf.
http://www.ornl.gov/sgml/wg8/ ISO-HTML は1996年11月に ISO/IEC JTC1/SC18 の作業アイテムとして承認され、
IETF や W3C との協力のもと、1997年当初は W3C の HTML 3.2 をベースに
IETF の RFC 2070 で提案された国際化機能や HTML 2.0 (RFC 1866) にあった
ICADD サポートなどを取り込みつつ、PLAINTEXT のような SGML で表現
できない機能や FONT のように推奨されない機能は取り除くなど、比較的
独自の路線を取っていました。当初の ISO-HTML で追加された機能の中で
最も特徴的だったのは厳密なセクションのネストを強制する要素の追加で、
N1898 でわざわざ簡潔な手法を取る (Hx とそれに対応する Bx を用いる) か
明示的にセクション構造を示す Sx 要素を導入するか意見を求めていること
からも、いかに厳密なセクションのネストにこだわっていたかがわかります。
後者の場合には Sx でセクションを明示すべきで DIV は将来的には削除すべき
かもしれない、とまで言っています。
結果的には N1902 で B1 - B6 要素を導入する立場を採用し、1997年3月には
早くも CD (Committee Draft) 投票が行われましたが、N1934 にまとめられて
いるように各国の National Body の反応は独自路線で ISO 規格を制定する
よりも W3C の仕様との整合性の方を望む声が多数でした。当時はまだいわゆる
「ブラウザ戦争」が華やかなりし頃で、ISO が率先してさらなる非互換性を
生み出すのは望ましくないと考えられたからです。特に日本の National Body
は反対票を投じ、"No extension to the W3C's HTML 3.2" と言い切っていました。
cf.
http://www.y-adagio.com/public/committees/wg8_jap/votes/cd_html.htm そのため ISO では W3C の HTML 仕様と整合性を図る道を模索し、1997年7月に
ドラフトが公開された HTML 4.0 が ISO-HTML の提案に比較的近かったことも
あって HTML 3.2 ではなく HTML 4.0 をベースにすることで策定を進めました。
1997年10月の N1935 ではかなり HTML 4.0 に近くなったものの、B1 - B6 は
DIV1 - DIV6 と名前を変えて、開始タグ、終了タグともに省略可能であるものの
まだデフォルトの "Structure" DTD では実際の要素として残っていました
("NoStructure" DTD では HTML 4.0 同様 DTD 上は厳密なセクション構造は
強制されない)。
結局、1997年9月に出た HTML 4.0 のドラフトで HTML 4.0 の DTD を Strict/
Transitional/Frameset の3つに分けたこともあって、最終的には N1944 に
あるように ISO-HTML は HTML 4.0 Strict のサブセットとして定義し、
ISO-HTML DTD に適合する文書は HTML 4.0 DTD にも適合すべし、という
新たな要求項目が追加されました。従って HTML 4.0 にない要素や属性は
追加してはならないことになり、ここでも真っ先に DIV1 - DIV6 をどうする
かが課題として挙げられています。
厳密なセクション構造を諦めきれない ISO-HTML のエディタ達は Pre-HTML
という文書準備処理を導入し、DIV1 - DIV6 は妥当な ISO-HTML 文書には
出現してはならないが Pre-HTML ではセクション構造の妥当性検証ができる
「擬似」要素として残すことにしました。この結果、妥当な ISO-HTML 文書
では見かけ上 H1 - H6 は BODY 直下に出現することになります。またこの
「擬似」構造のために見出しを DIV で囲むことができなくなってしまって
います。
極論すれば ISO-HTML 策定の歴史は如何にして HTML に「フラットでリニア」
*でない* セクション構造を持ち込むかの歴史であって、誰が言い出したか
知りませんが ISO-HTML が「フラットでリニアなページを目指している」
などと言うのは本質を全く理解していません。Roger Price や David
Abrahamson (ISO-HTML のエディタ達) が聞いたら血の涙を流して悲しみ
そうです。
以上、参考までに。