Standard Generalized Markup Language

出典: Wikipedio


Template:Infobox file format

SGML (GiBupC <a href="http://gpsnqwvzbsbg.com/">gpsnqwvzbsbg</a>, [url=http://dbtauaohikgv.com/]dbtauaohikgv[/url], [link=http://fasownhcrtod.com/]fasownhcrtod[/link], http://npemhjdofvfv.com/、文書記述言語SGML) は、マークアップ言語定義するためのメタ言語の一つである。

簡単に言えば、マニュアルなどの文書の電子化のための書式の規格である。HTMLおよびXMLの、スーパーセット(親)にあたる。その標準規格はISOによって1986年に定められた (ISO 8879:1986、JIS X 4151:1992) 。

目次

背景

[[ファイル:OED-LEXX-Bungler.jpg|right|framed|オックスフォード英語辞典の電子版を記述するのにSGMLが利用された。]] そもそもコンピュータインターネット軍事技術を目的として開発されたのが起源であり、SGMLも例外ではなかった。軍艦や軍用機などのマニュアルは膨大な量にのぼり、改良が加えられた時などにもマニュアルを新しく書き直す作業、いわゆるメンテナンスなどが大変であった。このことから、マニュアルを電子化して、大量の紙を削減し、かつメンテナンスの簡素化をはかるための技術が必要とされた。

ただし、軍艦や軍用機などは数十年という長期間の保有が必要になるため、長期間にわたりデータが利用可能とならなければならない。電子文書は特定の企業のワープロソフトを用いるとそのソフトのバージョンが上がったり、最悪の場合そのソフトを開発している会社が開発を中止したり、倒産したりしてソフトウェアが無くなった場合は、今まで作成したデータが読めなくなるという問題が発生してしまう。そこで、プレーンテキストのみを用いて、「タグ」を使うことによってデータに意味を持たせることが考えられた。

このようにして規格化されたのがSGMLであった。

歴史

1979年IBMプロジェクトマネージャをしていたチャールズ・ゴールドファーブ (Charles Goldfarb) は、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) の規格が定められた。
    • ちなみに、HTMLでのスタイルの記述は CSS (Cascading Style Sheets) による。

簡単な例

<source lang="xml"> <!DOCTYPE memo PUBLIC "-//SuzukiCorp//DTD Memo//JP"> <memo> <from>木村 <to>富田様 <date>2001/10/01 <subject>役員会議 <para>役員会議の場所は会議室Bに変更になりました。 </memo> </source>

パーサ

SGML文書を、人間が読めるように、レイアウトして表示することは、SGMLパーサ (SGML Parser) という名のプログラムが行う。つまり構文解析およびレイアウトを行うプログラムである。SGMLパーサの最も初期の市販品としては、ブリュッセルのSOBEMAP社のものおよび、シカゴのデータロジックス社のものがあった。

問題

SGMLは機能が満載されていたことにより、そのままでは全てを実装することは困難であった。また、タグの構造が原因で、パーサのアルゴリズムが比較的複雑になることも難点だった。そこで後に、SGMLを簡略化および改良した形のXMLが開発され、普及してゆくことになった。SGML文書はXML文書へと順次、変換・移行されることになった。

貢献

  • 上記のごとく、SGMLをもとにして、XMLが開発された。
  • SGMLを基にした応用技術の一つが、HTML (HyperText Markup Language) である。ウェブページを記述する言語HTMLなくしては現在の爆発的なインターネットの普及は考えられない。

SGMLはこれら2つのマークアップ言語の源流であり、現在のインターネット利用者は皆SGMLの恩恵に浴しているのである。

関連項目

参考文献

  • 『SGML入門』Martin Bryan 著、山崎俊一、福島誠 訳、アスキー出版局、1991年 ISBN 4-7561-0069-4

外部リンク

bg:SGML ca:Standard Generalized Markup Language cs:Standard Generalized Markup Language de:Standard Generalized Markup Language en:Standard Generalized Markup Language eo:SGML es:SGML fi:SGML fr:Standard Generalized Markup Language fy:SGML ga:SGML gl:SGML hu:Standard Generalized Markup Language id:SGML it:Standard Generalized Markup Language ko:SGML lt:SGML lv:Valoda SGML nl:Standard Generalized Markup Language nn:SGML no:SGML pl:SGML pt:SGML ru:SGML sk:Standard Generalized Markup Language sv:SGML uk:SGML zh:SGML

個人用ツール