SGML 【Standard Generalized Markup Language】

概要

SGML(Standard Generalized Markup Language)とは、文書の構造やデータの意味などを記述するマークアップ言語を定義することができるメタ言語の一つ。

文書を文字(テキスト)形式で記述し、本文中に「<」と「>」で囲まれた「タグ」(tag)と呼ばれる文字列を埋め込むことで文書の構造やデータの意味などを記述する。このような本文中に制御データを埋め込む記述方式を「マークアップ」(markup)という。

例えば、文書中に「SGML入門 1500円」と書かれているだけでは、コンピュータはそれが何の情報か、要素間にどういう関係があるのか判断できないが、「<item type="book"><title>SGML入門</title><price>1500円</price></item>」のようにマークアップしてあれば、これらが書名と価格であると判断して処理に反映させることができる。

メタ言語としてのSGML

タグにどのような種類があり、それぞれどんな属性を持つのかなどといった仕様は「DTD」(Document Type Definition文書型定義)というテキスト形式データで記述する。DTDは「スキーマ言語」というSGML自体とは別の記法・構造を持つ専用の言語で記述する。

DTDが違えばタグの種類も違うため、DTDが異なる文書は同じSGMLで記述されていても別のマークアップ言語で記述された文書のようになる。つまり、SGMLはそれ自体が特定の目的や文書形式のためのマークアップ言語なわけではなく、特定用途のマークアップ言語を定義することができる「メタ言語」(言語のための言語)であると言える。

構造と見栄えの分離

文書の表示の仕方は「スタイルシート言語」と呼ばれる言語で文書本体とは別に定義することで、文書の構造の記述と見栄えの記述を分離している。標準規格として「DSSSL」(Document Style Semantics and Specification Language)という言語が定められている。

出力先によってスタイルシートを切り替えることで、同じ文書でもそれぞれに適した見栄えに整形することができる。例えば、ソフトウェアで画面上に表示する場合と、ページ単位で区切って印刷する場合に、文書本体を編集しなくてもそれぞれ読みやすい見た目に整形できる。この仕組みを応用して、元になるSGMLデータからWebページPDF文書など別の形式に変換するシステムも提供されている。

歴史

1979年、特定のソフトウェアデータ形式に依存せずに文書の電子化やコンピュータ上での管理をうために、米IBM社が原型となる「GML」(Generalized Markup Language)を考案した。これを元に、1986年に国際標準化機構ISO)が「SGML」の名称でISO 8879として仕様を標準化した。

初期にはIBM社の社内文書の電子管理や、米軍で航空機マニュアルの電子化をう際の標準データ形式として採用された。その後、大量の文書の作成・管理に悩む各国の軍や公的機関、研究機関、防衛産業、航空機産業、製薬産業などが文書管理の電子化を進めるために導入した。

Webページを記述するマークアップ言語である「HTML」(Hypertext Markup Language)は、当初はSGMLで定義されたマークアップ言語の一つだった。後に、SGMLの複雑で巨大な仕様を簡略化し、処理の困難な部分を改善したメタ言語として「XML」(Extensible Markup Language)が考案され、現在ではSGMLが構想していた用途にはXMLを用いるのが一般的となっている。

(2023.2.24更新)

他の辞典による解説 (外部サイト)

この記事を参照している文書など (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる