分12HTML5という新しい仕様がでてきましたが,既存の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」を推進し続けることは,現実的ではありません。12著者プロフィール矢倉眞隆(やくらまさたか)株式会社ミツエーリンクスにて、品質向上に関する業務やWeb標準の啓蒙などに取り組む。HTMLやCSS,WebAppsなどWeb技術の最新動向を追いかけ,「Web標準Blog」にて情報を公開中。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。