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を用いるのが一般的となっている。
関連用語
関連リンク (外部サイト)
他の辞典による解説 (外部サイト)
この記事を参照している文書など (外部サイト)
- 中小企業金融公庫 総合研究所「中小印刷業における新たな事業展開の方向性」(PDFファイル)にて引用 (2006年4月)
- 専修大学 大学院社会知性開発センター 言語・文化研究センター「ことばの普遍と変容」Vol.1「デジタルアーカイブのWeb公開に向けて -デジタルアーカイブに関連する各種情報技術の概観-」(PDFファイル)にて引用 (2006年3月)