崇TweetHTMLとXHTMLの違い往々にしてWebについて勉強する際、知識や仕組みを丸暗記するのは非常に大変です。Webの歴史を学ぶと、Webの散在する知識がつながりをもち、面白く論理的に覚えることができます。結果的にしっかりと知識を自分のものにできます。Language)の歴史をひもときたいと思います。HTMLとXHTML、名前が似ているので、よくHTMLがバージョンアップをしてXHTMLになったと考えてる方がいますが、これは正しくありません。Language)という言語を元にして生まれたマークアップ言語です。一方でXHTMLは、XMLを元にして生まれたマークアップ言語です。今回は、HTML、XHTMLと順を追って歴史をひもといていきましょう。SGML、HTML、XHTMLの歴史や流れSGMLは、1970年にIBM(米)で軍事産業の大量のマニュアル文書を電子化するために開発され、米国のペンタゴン(アメリカ国防総省)や航空機メーカーのエアバス社(仏)が採用していました。SGMLの特徴は4つあります。1つ目は、ルールが厳密に決められていること。Language)がSGMLにもあること。Definition)もSGMLが元であること。4つ目はSGMLは構造的が非常に複雑なことです。パーサ(構文解析のためのプログラム)の仕組みが複雑になるというのはデメリットであるため、後にSGMLを簡素にし、改良されてXMLが開発されました。HTMLはSGMLの開発から約20年後の1992年に、ティム・バーナーズ・リーがWebを作ったのと同時に、Webのマークアップ言語として開発がスタートしました。1992年当時、W3C(1994年設立)はまだ設立されておらず、HTMLの議論は有識者のメーリングリストなどの限定的な場所で行われ、流動的に作成されました。このように流動的に作成された経緯もあり、意外にも現在のW3Cが勧告するような正式なHTML1.0というバージョンはありません。当時のHTMLには、元になったSGMLに存在していたDTDは存在していません。その後、HTMLは「2.0」「i18n」「3.2」「4.0」「4.01」と、年を追うごとに徐々にバージョンアップをし、DTDは加えられました。HTMLは問題をかかえていました。Webは化学式、数式と多様なことを表現する必要ありますが、それを表現することができませんでした。あとからHTMLにそのような機能をつければ良いのですが、HTMLは拡張性が乏しくできません。Language)を利用して、Web上で化学式、数式を表現することを検討しはじめました。XMLの大きなメリットは、HTMLができない化学式や数式を表現することができることです。XMLはこのままWebサイトを作る言語として採用されたのでしょうか。それではなぜ、採用されなかったのでしょうか。実はすでに大量のHTML文書がWeb上にあることと、XMLにすべてのブラウザが対応できていないことが大きな理由です。WebデザイナーがXMLを新たに覚えてWebを作るとなると、敷居はグッと高いものになってしまいます。そこで、W3CはXMLを元にHTML4.01に非常によく似たXHTML1.0を2000年に開発しました。XHTMLはXMLを元にしているので、化学式/数式を表現することができます。要素はHTML4.01とほぼ同じなので、ブラウザにもWebの作成者にも全くもって負担はかかりません。最近ではSVGというオープンな画像フォーマットと組み合わせることも考えられています。このように流れを追ってみると、1970年代のSGMLから現在のXHTMLまでとどまることなく開発は行われていることがわかります。現在はHTML5が草案の段階ですが、歴史を押さえておけばHTML4.01の後にHTML5が登場するということは当然の流れであると理解できると思います。この著者の記事一覧ActLink株式会社(http://www.actlink.co.jp/)にてプロデューサー、allWebクリエイター塾(http://all-web.org/modules/tinyd5/)では、XHTML+CSS、Microformatsの講師。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。誠にありがとうございます。下記日程にて、メンテナンスを行います。ご理解いただけますよう、お願い申し上げます。状況により前後する場合がございます。※上記以外の会員機能(サイトへのログインなど)はご利用いただけます。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。