エス‐ジー‐エム‐エル【SGML】
SGML
SGML 【Standard Generalized Markup Language】
SGML
読み方:エスジーエムエル
SGMLとは、マークアップ言語のひとつで、他のマークアップ言語の源流に位置し、1989年にISOに8879として標準化された規格のことである。
大量の文書や電子出版物などを処理するために、文書の論理構造からレイアウト、装飾までを、タグ付けによって記述することができるようにされた。同時に、ハードウェアやソフトウェアの種類にかかわらず読み書きができるように配慮されてある。しかし記述様式は複雑であった。これを簡略化し、Webページの作成に当って扱いやすくされたものが、HTMLやXMLとなる。
.sgml
Standard Generalized Markup Language
この記事には独自研究が含まれているおそれがあります。 |
出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 |
MIMEタイプ | application/sgml, text/sgml |
---|---|
UTI | public.xml |
開発者 | ISO |
種別 | メタ言語 |
派生元 | GML |
拡張 | HTML, XML |
国際標準 | ISO 8879 |
Standard Generalized Markup Language(スタンダード ジェネラライズド マークアップ ランゲージ、略:SGML)は、マニュアルなどの文書のためのマークアップ言語である。
背景
1980年代、軍艦や軍用機などの際限のない高度化は、マニュアルの際限のない膨張という結果をもたらした。改良が加えられた時などにもマニュアルを書き直す作業が発生して業務の負担となっていた。このことから、マニュアルを電子化して容易に書き換えられるようにし、印刷用紙を大幅に削減することで、メンテナンスの簡素化をはかるための技術が必要とされた。
ただし、軍艦や軍用機などは数十年という長期間の保有が必要になるため、長期間にわたりデータが利用可能とならなければならない。電子文書は特定の企業のワープロソフトを用いるとそのソフトのバージョンが上がったり、最悪の場合そのソフトを開発している会社が開発を中止したり、倒産したりしてソフトウェアが無くなった場合は、今まで作成したデータが読めなくなるという問題が発生してしまう。そこで、専用のソフトウェアでなくとも編集可能なプレーンテキストを元に、タグを使うことによってデータに意味を持たせることが考えられた。
歴史
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が開発された[注 4]。
- SGMLを基にした応用技術の一つが、HTMLである[注 5]。ウェブページを記述する言語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
- ^ SGMLとXMLの対応(比較)については、ジェームズ・クラークによる「Comparison of SGML and XML」というタイトルの、1997年12月15日に議論のためにまとめられた(何らかの公式のものではない)ノートがあり、それによればSGML (ISO 8879) とXMLの関係はスーパーセットともサブセットとも結論付けられてはいない。XML 1.0のAppendix CではNon-Normative(参考)として、XMLはSGMLのサブセットとなるべく設計され(designed to be)、全てのXML文書は同時にSGMLにもconforming(準拠)でもあるべき(should)と書かれており、前述のノートを参照せよとされている。国際標準は ISO 8879:1986 であり、対応するJISとして JIS X 4151:1992 が存在する。
- ^ HTML4までのHTMLはSGML応用系とされていたが、HTML5以降はSGML応用系ではない。
出典
関連項目
- Document Type Definition (DTD)
- Document Style Semantics and Specification Language (DSSSL)
- Extensible Markup Language (XML)
- HyperText Markup Language (HTML)
- マークアップ言語
- SGML実体
外部リンク
SGML
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 01:17 UTC 版)
詳細は「Standard Generalized Markup Language」を参照 構造と視覚表現を明確に区別した最初の言語はブライアン・リードが開発し、1980年に彼の博士論文で述べているScribe(スクライブ)であった。Scribeは多くの点で画期的であり、マークアップされた文書からスタイルを分離するというアイデアだけではなく、意味要素の使用を統制する文法(一種のスキーマ)をも持っていた。ScribeはGML(後のSGML)の開発に影響を与え、またHTMLやLaTeXの直接の祖先ともなった。 1980年代の初期に、マークアップは文書の構造面に専念し、視覚的な表現に関しては処理系に任せるべきだ、という思想によってSGMLが誕生した。この言語はゴールドファーブが議長を務める委員会によって策定され、複数の研究・プロジェクト(GenCode など)から成果を取り込んでいた。シャロン・アドラーやアンデルス・ベルクルント、ジェームズ・D・メイソンも委員会の主要メンバーであった。 SGMLは文書にマークアップを含める構文や、どんなタグがどこで使えるのかなどを記述する構文(DTD)を規定していた。これによって、文書作成者は望むマークアップを、最も意図に近いものや母語で名前が付いているものなど、何でも作成し、利用することができた。それゆえ、SGMLは正しくはメタ言語であり、多くの具体的なマークアップ言語がそれから派生していった。1980年代から現在に至るまで、ほとんどの新しいマークアップ言語はSGMLに基づいたものであった。TEIやDocBookなどがその例である。SGMLは1986年にISO 8879として国際標準になった。 SGMLは非常に大きな規模の文書を扱う現場で広く受け入れられ、利用された。しかしながら、一般的には覚えるのが煩わしくて難しいとみなされている。これは多彩すぎる機能と高すぎる柔軟性を実現した副作用である。複雑な仕様の例として、SGMLでは終了タグ(または開始タグかその両方)が文脈によって省略可能となっているが、これは過労気味の入力作業員がマークアップを手動で行うような場合にキーストロークの節約が望まれている、との配慮によるものである。
※この「SGML」の解説は、「マークアップ言語」の解説の一部です。
「SGML」を含む「マークアップ言語」の記事については、「マークアップ言語」の概要を参照ください。
- .sgmlのページへのリンク