Hop step XHTML―ホップ ステップ XHTML

Section 1:モジュール化された XHTML(1)

 唐突な節題だが,XHTML の仕様を策定している WWW の標準化団体,W3C による XHTML 1.1 の仕様書のタイトルは“XHTML™ 1.1 - Module-based XHTML”(モジュールに基づいた XHTML)となっている。まず,“XHTML をモジュール化する”というところから,お話を始めたい。

HTML の歩み

HTML の誕生から HTML 4

 まず,HTML が歩んできた歴史を概観したい。

 最初のバージョンの HTML の仕様の日付は 1992 年。異なるコンピュータ間での文書共有,SGML(ライクな)の書法,そしてハイパーテキストの実現がその大きな特徴であった。そして,Mosaic というブラウザの登場。これがインターネットにおいて WWW がキラーアプリケーションとなるきっかけとなる。Internet Explorer はこの Mosaic に基づいているし,バージョン 4 以前の Netscape の開発コード Mozilla は“Mosaic を食う怪獣”を意味している。そして,この Mozilla の名は Netscape が生まれ変わった新生ブラウザの名に引き継がれている。

 そして,1995 年,HTML 2.0。新しいフィーチャーが導入され,WWW の表現力は豊かになっていく。その牽引役に,Mosaic とその好敵手である Netscape Navigator があった。この年に,Internet Explorer が登場する。そして,間もなく,Netscape と Internet Explorer の新機能投入合戦が,HTML と WWW を一気に“育てて”いく。

 1997 年に,HTML 3.2(HTML 3.0 は標準化されなかった)。HTML の提供する機能は拡大の一途をたどる。インターネットの個人利用者も増え,WWW はいっそう華やかになっていく。それでもなお,ブラウザの新機能投入合戦はやまず,一時は“特定のブラウザでないと閲覧できない”サイトが山のように存在した。

 HTML 4.0 が,1997 年末に勧告される(1998 年 4 月,HTML 4.01 として改訂される)。“現在わたしたちが知るような”HTML はここで完成される。魅力的なページ作りのテクニックも確立されてくる。一方で,新機能投入合戦の弊害が現れてくる。すなわち,そこにできたものは,“ブラウザに表示させるための HTML”だったのだ。インターネット利用者はさらに増えているのに,それでいてそこでの情報共有のプラットフォームは“ワークステーション・パソコンのブラウザ”だけ。また,HTML の仕様自体も,かなり大きくなってしまっていた(ちなみに,この頃,携帯電話端末で WWW ページを閲覧できる“i モード”のサービスが開始された)。

 そこで,HTML 4 からは,大きく 2 つのバリエーションが用意される。

厳格な(Strict)HTML
これまでの“新機能投入合戦”で多く付け加えられた,表示をコントロールする記述を極力廃し,メディアによらない記述を目指すもの。表示のコントロールは,スタイルシートという機構が負い,それが HTML の記述を(メディアごとに)適切に表現することになる。また,文法も,従来より若干厳しくなっている。
移行のための(Transitional)HTML
これまで追加されてきた記述を許すもの(ブラウザが投入してきた新機能の中には,HTML の仕様の中に採用されなかったものもあるが)。文法も厳格な HTML と比べると緩やか。スタイルシートも利用できる。しかしこの,“集大成”的 HTML は“移行のためのもの”と位置付けられ,XHTML 1.1 ではこれに相当するものは姿を消す。

 仕様では,HTML 4 にはもうひとつ,“フレームのための(Frameset)HTML”があり,本来は 3 のバリエーションから構成されるものである。だがこれは事実上,移行のための HTML にフレーム定義の要素を加えたものなので,ここでは“Strict”と“Transitional”に大別している。XHTML 1.0 についても同様である。

XML の登場と XHTML

 一方で,WWW にひとつの不満が持ち上がってくる。それは,“HTML が文書情報の交換を想定していること”である。インターネットの利用が多様化してきて,HTML では事足りなくなってきたのである。そこで,HTML より抽象性の高い,XML 1.0 が 1998 年 2 月に勧告される(2000 年 6 月に改訂されている)。XML は,端的には“HTML のようなマークアップ言語を作り出す規則”であり,特にインターネット上での利用を想定している。かくして,XML を使用して文書以外の,さまざまなデータを表し,交換する道が開けた。

 それで,HTML は,この XML とは記法に違いがある。すなわち,HTML は XML の規則に従って作られてはいない。XML がデータ交換形式の標準としての地位を確立するに従って,HTML の記法は“標準に従っていない”という足かせをはめられることになる。そこで,HTML 4 を,XML の記法で作り直した。これが,2000 年 1 月の XHTML 1.0 である(2002 年 8 月に改訂された)。XHTML 1.0 の中身は,HTML 4 のそれとほぼ同じである。ところで,XHTML 1.0 で書かれた文書は,HTML としては正しくない。ただし,少しの気配りで,従来の HTML ブラウザでも問題なく処理される。これは,おそらく最初の HTML 仕様書中の,

 WWW システムでは,ネットワークでやり取りするハイパーテキスト文書を表現するのに,マークアップ言語を用いる。このハイパーテキストマークアップ言語は SGML の書式である。WWW 処理系は知らないタグは無視をし,知っているタグでもその中の知らない属性は無視しなければならない

(強調引用者・訳者)の前文が拡大解釈されて,HTML ブラウザが誤りに寛容に作られている賜物であろう。HTML 4 と XHTML 1.0 の差異や,注意すべき記法についての詳細は,当サイトの“Passport to XHTML 1.0”で解説しているので,参照されたい。

 XHTML 1.0 も,大きく分けて“厳格な XHTML 1.0”と“移行的な XHTML 1.0”がある。

XHTML のモジュール化と XHTML 1.1

 大きくなった(X)HTML は,機能単位に分解される。これが,XHTML のモジュール化である。これによって,XHTML のサブセット(部分集合)言語または拡張言語を作り出すことができるようになった。本チュートリアルシリーズで扱っている XHTML 1.1 は,2001 年 5 月に W3C より勧告された,“最初の HTML”から HTML 4,XHTML 1.0 に続く HTML の“直系”のマークアップ言語である。XHTML 1.1 はこの“モジュール化された XHTML”からモジュールを組み合わせ,さらにルビモジュールを加えて作られたものである。このほかにも,比較的新しい携帯電話端末用の WWW ページ記述言語は,少ないモジュールの組み合わせで作られた XHTML Basic をもとにしている。

 XHTML の拡張・連携の例として,

  • 数式記述言語 MathML との連携
  • ベクトルグラフィクス記述言語 SVG との連携

(MathML,SVG ともに XML に基づいたデータ記述言語である)が目されている。

 そして 2005 年 5 月現在,XHTML 2.0 の仕様策定が進んでいる。また,2000 年 5 月には,ISO の HTML である ISO-HTML が規格化された。これは,HTML 4 のサブセット(部分集合)である。