ホーム > X-Plus > XML Square >  ビギナーズコーナー  >  SGML再入門

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

HTMLとSGML、HyTimeとSGML、XMLとSGMLの関係

2001年05月31日作成 

(株)日本ユニテック

目次

  1. PART1.SGMLとは?

  2. PART2.HTMLとSGML、HyTimeとSGML、XMLとSGMLの関係

HTMLとSGML


HTMLとは、ホームページを記述するための タグセットです。SGMLもタグセットです。では、HTMLとSGMLはどういう関係となるでしょうか?

HTMLは、SGMLによって定義された数あるタグセットのうちの1つです。たとえば、マニュアル用のタグセットや、社内文書用のタグセットを定義するのと同じように、ホームページ用のタグセットをSGMLのDTDによって定義したのがHTMLです。

HTMLのDTDはW3Cという組織が定義しています。

HTMLがSGMLと違うところ

HTMLは、SGMLと異なる面も持っています。次のような点がSGML(もしくはSGMLのポリシー)と異なっています。 ・レイアウト言語として使われている ・必ずしもDTDに従っているわけではない

「レイアウト言語として使われている」ことは、HTMLでホームページを作るときに、文書構造を表現しようとしてタグを記述する人はまずいないことに見ることが出来ます。
たとえば、表を書くためではなく、二段組にするためにtable タグを使ったりします。
HTMLを使った"裏ワザ"レイアウトテクはちまたにあふれています。

「必ずしもDTDに従っていない」ことは、HTMLのDTDというものが一応存在するものの、ブラウザがDTDとインスタンスの検証をするわけではないので、DTDに従っていなくてもHTML文書を書くことができる点に見ることで出来ます。
また、HTMLのDTDはあくまでも勧告であり、強制ではないので、各ブラウザ会社が独自のタグを開発して加えることもあります。この点が、DTDに厳密に従うことを求めるSGMLとHTMLとの大きく異なる点です。


HyTimeとSGML


HyTimeとは、文書構造を定義するためのメタDTDです。ハイパーメディアや時間依存情報などの文書を記述するためのDTDの書き方を提供しています。

では、HyTimeとSGMLはどのような関係になるでしょうか?

HyTimeはSGMLの拡張規格です。SGMLのDTDの書き方を決めているからです。
たとえば、SGMLでリンクのための要素を定義するとします。HyTimeがなければ、そのような要素や属性を独自に定義することになります。
しかし、HyTimeなら、リンク要素のDTDの書き方を決めているので、それに従って書くことができます。HyTimeでは、これらの要素がどんな役割を持つか、どのように使われるかを定義しています。

HyTimeがSGMLと違うところ


SGMLとの違いは、対象とする文書が広がったということです。SGMLは、主に紙に出力するスタティックな文書を対象としていました。しかし、HyTimeは、その対象をさらに広げてハイパーメディアやダイナミックな文書をもSGMLでマークアップすることを可能にしました。


XMLとSGML


XMLとは、タグを定義するためのメタ言語です。 あらゆる文書のタグセットを定義する方法を提供します。
では、XMLとSGMLはどのような関係になるでしょうか?
XMLはSGMLの簡易版と言えます。言い換えれば、文書を記述するためのSGMLのルールをもうすこし、軽くしたものです。SGMLに設定されていた、不必要と思われる機能をなくし、結果的に処理のパフォーマンスを良くすることを目的としています。このことによって、インターネットなどのネットワークでも使用しやすいマークアップ言語が実現しています。


XMLとSGMLが違うところ


XMLは、タグの省略を禁止することで、DTDとの検証を行う必要がなくなりました。
また、WWW上で用いることが意識されているため、リンクのための機能も充実しています。



この記事と関連の高い記事

関連キーワード:SGML


関連キーワード:XML




ページトップへ戻る