個別記事

マークアップ言語(XHTMLまで)

2006年06月25日

ブログなどの制作で使われているマークアップ言語の一つである、XHTMLに至る今日までの過程を簡単に振り返ってみた。

XMLだのXHTMLだの、何がどうして、どこが問題なのか。ホームページやブログといわれるウェブサイト制作とはどう関わって来たのか、不明な点が多い。自分自身の理解のために調べてみた(間違っている場合、ご指摘頂けたら幸いです)。

結論(私の理解)として、文書や、様々な情報を特定のアプリケーションに頼ることなく、安全、長期に渡り、誰もが利用しやすく、カスタマイズしやすい、標準的な文法を作る努力がなされてきた(今だ進行形)。それが、SGML、HTML、XML、XHTMLなどの言語を生み出してきたといえる。

1986年ISO(国際標準化機構:International Organization for Standardization)は、SGML(標準汎用マークアップ言語:Standard Generalized Markup Language)という標準言語を規格化した。

それまでのMarkup Languageによる、共通マークアップ(マーク付)(注1)は、特定の処理システムに依存していない利点を持ってはいるが、文書(内容)とレイアウトなどの表示方法が混在し、論理的な構造を持ったデータとして記述されていなかったために混乱が生じていた。

この問題を解決するためには、文書構造の記述を、印刷や表示などの処理系から切り離し、独立した言語として定義する必要があった。このような状況で、論理構造を対象とし、処理系非依存の共通マークアップを行う文書記述言語として誕生したのがSGMLであった。

SGMLでは、文書情報を正確に伝えること、正確に保存すること、印刷や表示などの処理には関与しないことが特徴としてあげられる。さらにSGMLは、タグや属性情報などの記述方法を規定しているだけで、名前や属性を固定的に決めているわけではなく、使用者が定義(注2)すれば自由に設定できた。また、固有ソフトに依存しないテキスト形式で記述するため、保存した文書を長期間使用できるもので、まさしく汎用ツールとしての明確な理念を持った言語として構築されたのである。

そして1990年、主に電子データ交換のため、SGMLをベースにして、Web用としてHTML(Hyper Text Markup Language)が開発された。
HTMLはインターネット上での情報共有が目的であったため、DTDを自由に定義できないように固定し、記述を簡便にした。

HTMLは、「文書の構造化」という目的よりも、ページのレイアウトや装飾も含めた記述言語として使用されることが日常化し、IEやNNなどの各ブラウザも競って固有の拡張タグを採用した。また、文法的に厳格ではなかったために、多少のミスがあっても見栄えのいい情報ページ(ウェブサイト)を公開することができた。そのために、いわゆるインターネットを爆発的に普及させる要因となった。
しかしながら、本来の勧告から外れ、混乱を招いている状況から、HTMLを本来の目的である文書構造の記述言語に戻し、デザインやレイアウトは「スタイルシート」という別の文法に担わせようという方向で確認されていった。

また、HTMLの手軽さは、ユーザーがタグを設定できない、情報の意味を記述できないなどの問題があった。また、HTML文書を保存してもブラウザで見ることしかできないというデメリットがあり、Web上でSGMLを利用しようとしても様々な問題があった。
さらに、SGMLはその記法の自由度の高さから実装が煩雑で、実装・運用にコストがかかるという難点を抱えていた。そこで、SGMLをもっとスリム化し、データ交換を重視した共通マーク付けへの拡張したものとし、インターネット上の利用を前提にして思想で再構築されたものが、1998年2月10日、XML1.0(拡張可能マークアップ言語:Extensible Markup Language)として、W3C(World Wide Web Consortium)から勧告されたのである。

XMLはSGMLのサブセット(部分集合)であり(XML文書はSGML文書でありえる)、目標は以下である(抜粋)。
・インターネット上でそのまま利用可能。
・広範多様なアプリケーションをサポートする。
・SGMLと互換的であること。
・XML文書の記述の容易さ。

XMLは、その性質上、他のマークアップ言語の骨組みとして使用される位置にあり、XMLベースのマークアップ言語としては、リモート経由で他のコンピュータのサービスを呼び出すSOAPや、Web上で画像表現のためのSVGがあり、HTMLをXMLの仕様で再定義したものがXHTML(Extensible Hyper Text Markup Language)である。
XHTMLは、HTMLのタグ構造よりも厳格に定義する。そのため、形式的に扱うことが容易であり、ホームページの自動生成などは行い易くなる。

参考までに、大蔵省の財務報告書申請・公開,特許庁の特許申請など、政府機関の各省庁や、民間の電子文書化ではSGML/XMLが利用されてきている。

注1:文章中に「タグ」という先頭と終了を示す「マーク付け」を行い、それに挟まれた文章に属性を与えたり、修飾したりすること。例:<p class="date">2006年06月21日</p>など。

注2:DTD(Document Type Definition)と呼ばれ、「見出し」や「脚注」などといった要素は、SGMLの場合、記述する人が自由に定義できた。

参照資料
各種W3C勧告文書・日本語版(どら猫本舗)
SGML/XMLによる電子文書処理(日本印刷技術協会)
WWW講座総目次(杉浦のホームページにようこそ)
PDF資料(日本土木工業協会)
トラックバックURL
この記事へのトラックバックは下記のURLをコピーしてください。
この記事のトラックバックURL:
http://app.blog.livedoor.jp/ur8823/tb.cgi/50447306
この記事にコメントする
Name
E-Mail
URL