Standard Generalized Markup Language
テンプレート:Infobox file format Standard Generalized Markup Language(スタンダード ジェネラライズド マークアップ ランゲージ、略:SGML)、文書記述言語SGMLは、マークアップ言語を定義するためのメタ言語の一つである。
簡単に言えば、マニュアルなどの文書の電子化のための書式の規格である。HTMLおよびXMLの、スーパーセット(親)にあたる。その標準規格はISOによって1986年に定められた (ISO 8879:1986、JIS X 4151:1992) 。
背景
そもそもコンピュータやインターネットは軍事技術を目的として開発されたのが起源であり、SGMLも例外ではなかった。軍艦や軍用機などのマニュアルは膨大な量にのぼり、改良が加えられた時などにもマニュアルを新しく書き直す作業、いわゆるメンテナンスなどが大変であった。このことから、マニュアルを電子化して、大量の紙を削減し、かつメンテナンスの簡素化をはかるための技術が必要とされた。
ただし、軍艦や軍用機などは数十年という長期間の保有が必要になるため、長期間にわたりデータが利用可能とならなければならない。電子文書は特定の企業のワープロソフトを用いるとそのソフトのバージョンが上がったり、最悪の場合そのソフトを開発している会社が開発を中止したり、倒産したりしてソフトウェアが無くなった場合は、今まで作成したデータが読めなくなるという問題が発生してしまう。そこで、プレーンテキストのみを用いて、「タグ」を使うことによってデータに意味を持たせることが考えられた。
このようにして規格化されたのがSGMLであった。
歴史
1979年、IBMでプロジェクトマネージャをしていたテンプレート:仮リンク は、Edward MosherおよびRaymond Lorieらとともに、「GML」(Generalized Markup Language) を発表し、それは「DCF」(Document Composition Facility) の名で商業化された。この成功でゴールドファーブは有名になり、IBMを退職してGMLの後継言語であるSGMLを開発することになったのである。
ISOのSGML規約は1986年の出版後2ヶ月も経たないうちにベストセラーとなった(その10年前に発売されたFORTRANのISO規約の部数を2ヶ月で超えた)。
SGMLは、ISOから正式に承認される以前から、すでに、アメリカ国防総省やECの公式出版事務局など、数々の公的機関で使用され始めていた。ゴールドファーブの古巣のIBM社でも導入され、同社の文書システムに大変革をおこした。ヨーロッパでもCERN(欧州原子核研究機構)など、広く採用され、例えばフランスを例に挙げると、エアバス社、SNECMA(フランス国営の航空機エンジンメーカー)およびフランス軍などで採用されることになった。
日本においては、厚生省への新薬申請のデータ形式としてSGMLが採用された。それに伴い製薬会社やその関連企業においても導入された。他にも特許庁などでも導入された。航空機産業・防衛産業、自動車産業においても海外との共同開発や部品供給時の情報交換やマニュアル・報告書の電子化などに利用されることとなった。
特徴
- SGMLは「インスタンス」、「DTD」、「SGML宣言」の3つで構成されている。
- SGMLのデータ自体はプレーンテキストで作られている。
- レイアウト情報はスタイルシートを組み合わせて記述される。
- スタイルシートは「スタイルシート言語」で記述されている。
- 通常、人が読む時は、上記スタイルシートに沿って、レイアウトを整えられたうえで表示(出力)される。
- SGMLで使うことができるスタイルシート言語として、DSSSL (Document Style Semantics and Specification Language) の規格が定められた。[注 1]
簡単な例
<!DOCTYPE memo PUBLIC "-//SuzukiCorp//DTD Memo//JP">
<memo>
<from>木村
<to>富田様
<date>2001/10/01
<subject>役員会議
<para>役員会議の場所は会議室Bに変更になりました。
</memo>
パーサ
SGML文書を、人間が読めるように、レイアウトして表示することは、SGMLパーサという名のプログラムが行う。つまり構文解析およびレイアウトを行うプログラムである。SGMLパーサの最も初期の市販品としては、ブリュッセルのSOBEMAP社のものおよび、シカゴのDatalogics データロジックス社[注 2]のものがあった。[注 3]
問題
SGMLは機能が満載されていたことにより、そのままでは全てを実装することは困難であった。また、タグの構造が原因で、パーサのアルゴリズムが比較的複雑になることも難点だった。そこで後に、SGMLを簡略化および改良した形のXMLが開発され、普及してゆくことになった。SGML文書はXML文書へと順次、変換・移行されることになった。
貢献
- 上記のごとく、SGMLをもとにして、XMLが開発された。
- SGMLを基にした応用技術の一つが、HTML である。ウェブページを記述する言語HTMLなくしては現在の爆発的なインターネットの普及は考えられない。
SGMLはこれら2つのマークアップ言語の源流であり、現在のインターネット利用者は皆SGMLの恩恵に浴しているのである。
参考文献
- 『SGML入門』Martin Bryan 著、山崎俊一、福島誠 訳、アスキー出版局、1991年 ISBN 4-7561-0069-4
脚注
注
- ↑ ちなみに、HTMLでのスタイルの記述は CSS (Cascading Style Sheets) による。
- ↑ http://www.datalogics.com/
- ↑ 注:SGMLパーサは、SGML文書の文法が規則に適合しているか検証する機能も持っており、そうした機能のためにだけ使われることもある。出典 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/sgml/intro.html#h-19.1
出典
関連項目
- Document Type Definition (DTD)
- Document Style Semantics and Specification Language (DSSSL)
- Extensible Markup Language (XML)
- HyperText Markup Language (HTML)
- マークアップ言語
- SGML実体