互換性に重きにおいた、新しいWebのプラットフォーム仕様HTMLか、XHTMLかHTML5という新しい仕様がでてきましたが、既存のHTMLやXHTMLとはどのような関係があるのでしょうか。簡単にHTMLとXHTMLの歴史を振りかえりながら、両者が抱えた問題や、HTML5の目的について説明しようと思います。Berners-Leeにより生み出されました。「⁠シンプルなハイパーテキストを記述する」という目的があったため、定義されている要素は見出しやリスト、リンクなど、文書構造や文章の意味を記すものに限られていました。ところが、Webが普及するにつれ、視覚表現をコントロールする要素(いわゆる「タグ⁠」⁠)がブラウザーベンダーにより追加されていき、語彙が膨れ上がってしまいました。要素の意図とは異なった使われ方をされる例(blockquoteやtableなど)が増えていきました。した問題に対処するため、HTMLの標準化が幾度かにわたり行われました。文書の構造や文章の意味を表す要素を中心に、広く使われている要素を取り込むといった形で、現実との乖離を抑えるように設計されました。いえ、装飾的な要素や、要素の誤用は避けなければいけません。このため、fontやuなど装飾的な要素については「利用を推奨しない」としたうえで、スタイルシートの利用を促すようにしました。これ以降、W3CはXHTMLの策定へ注力していきました。XMLとしての価値を追求するフォーマットXHTMLは、HTMLをXMLの構文に則って定義したものです。XMLベースになることにより、XMLの拡張性や、他のXML技術を利用できるといった利点があります。XMLは構文の制約が強いため、実装の非互換を生み出しにくいといった性質もあります。HTMLはSGMLという言語をベースに標準化が行われました。SGMLの実装はとても複雑であったことと、初期のHTMLがSGMLベースではなかったことなどから、ブラウザーのHTML解釈がSGMLの仕様に沿わない独自のものになってしまった経緯があります。HTMLと同じように、XHTMLにもいくつかバージョンが存在します。HTMLからXHTMLへの移行を促すべく作られたフォーマットで、新しい要素の追加などはありません。1.0では充分に発揮できません。1.1は、HTMLの語彙を機能ごとに分割し定義した「モジュール」から構成されています。ニーズに合わせ、他のXML語彙を取り入れることが可能であり、ベクター画像のSVGや、数式のMathMLと組み合わせたプロファイルも作成されています。XHTMLの普及と、新たに生じた問題XHTMLは、2002年頃からの「ブログ」ブームや、「⁠Web標準」な制作手法の広がりとともに普及しました。1.0になっているようです。1.1やその先の「XMLを利用したWeb」については、未だ広まっていないというのが現状です。MathMLなどのXML関連技術を、全てのブラウザーが同じ水準でサポートしていないことが挙げられます。XMLの機能は、HTMLの処理系であるtext/htmlでは基本的に動作しませんから、新しい機能を使おうにもできない状態が続いたのです。一つは、現在公開されているXHTMLを採用した文書や、ブラウザーとの互換性です。1.0が主流のフォーマットになっている今ですが、先述した理由もあり、ほとんどすべてがtext/htmlで公開されています。text/htmlはXMLが求める、厳しいエラー処理を備えていません。ユーザー体験を低下させることの無いよう、HTML仕様的にエラーであるものについても柔軟に処理しています。この結果、XHTMLを採用していながら、XML文書として処理できないものがWeb上にはびこる状態になってしまいました。1.0を利用しているもののなかで、W3CのValidatorを通ったものは13%ほどしかありませんでした。「仕様に沿っていない文書が公開されているのは制作者が悪い」ということも言えるでしょう。XMLとして処理できない文書が蔓延する現状で、このまま「XMLなWeb」を推進し続けることは、現実的ではありません。「拡張はXHTMLで」という仕組みが機能しない一方で、機能の追加に関する要望は増えていきました。した流れを受け、HTMLの拡張を行うのが「HTML5」になります。HTML5の策定は、今から5年前の2004年に、ブラウザーベンダーを中心に始まりました。1.0」という仕様を策定していました。WGを設立してから、WHATWGはW3Cと合同でHTML5の策定にあたっています。Note:その名前からか、「⁠アンチXML/XHTML」として見られることもあるHTML5ですが、決してそうではありません。ややこしいのですが、HTML5はXML構文を利用して記述することも可能です(便宜上、XHTML5と呼ばれています⁠)⁠。XHTML5な文書をtext/htmlで公開することはできません。XHTML5は、application/xhtml+xmlなど、XMLとしての公開が前提なのです。機能拡張も一つのテーマではあるのですが、HTML5が重きを置いているのは「互換性」です。ブラウザーの実装同士の互換性、現在のWebとの互換性など、さまざまな面から互換性の確保・向上を目指し、仕様を定義しています。WGの作業計画では2010年の第三四半期に勧告という予定になっています。これはまず起こりえないでしょう。第一回目の最終草案は2009年の10月と予想されていますが、それからの実装や互換性の確保、仕様の修正などを考えると、勧告までには年単位の時間がかかるからです。いって何年もHTML5が使えないわけではありません。2.1のように勧告でなくても広く使われる状態になるのではないかと予想しています。HTMLか、XHTMLかHTML5という「HTML再開」の動きが出てきたことで、「⁠HTMLか、XHTMLか」という議論が少しずつですが見られるようになってきました。中にはXHTMLで公開していたブログやWebサイトを、HTMLとして書き直したという例も見かけます。今後XHTMLが廃止されることやブラウザーのサポートがなくなるわけではありません。今後の移行を見越してHTMLに書き直すといった作業を行う必要はありません。「XHTMLに慣れていたので書きづらい」という方がいるかもしれません。先ほども書いたように、HTML5ではXHTMLとして書くことができます。/>といったXML由来の構文も利用できるようになりました。「XSLTを使いたい」「⁠XMLでの書き方に慣れている」などの理由があれば、XHTMLを使うことの意義は当然存在します。XMLであることに利点を見出せなければ、HTMLを使うことも問題は全くありません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。