SGML(エスジーエムエル)とは | 意味や読み方など丁寧でわかりやすい用語解説
SGML(エスジーエムエル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
標準汎用マークアップ言語 (ヒョウジュンハンヨウマークアップゲンゴ)
英語表記
SGML (エスジーエムエル)
用語解説
SGML、つまりStandard Generalized Markup Languageは、文書の構造を記述するための国際標準として開発されたメタ言語である。メタ言語とは、特定のプログラミング言語やマークアップ言語そのものではなく、それらの言語を定義するための言語を指す。SGMLの主な目的は、文書の内容と構造を分離し、データの一貫性を保ちながら、様々なシステム間での情報交換や再利用を可能にすることにあった。今日広く利用されているXML(Extensible Markup Language)は、このSGMLの思想と技術を継承し、Webでの利用に特化して簡素化されたものであるため、SGMLを理解することは、現代のデータ構造化技術の基盤を理解することにつながる。
SGMLは1986年にISO(国際標準化機構)によって標準化された。その背景には、1980年代にコンピュータを用いた電子文書の作成が普及し始めたことにある。当時は、ワープロソフトやDTP(DeskTop Publishing)ソフトがそれぞれ独自のファイル形式を採用しており、異なるソフトウェアやシステム間で文書を共有したり、再利用したりすることが極めて困難だった。例えば、あるワープロソフトで作成した文書を別のソフトで開くと、レイアウトが崩れたり、内容が正確に表示されなかったりといった問題が頻繁に発生した。このような状況では、情報の長期的な保存や、異なるメディアへの展開も難しいという課題があった。SGMLは、特定のソフトウェアやプラットフォームに依存しない、普遍的な文書形式を実現することで、これらの問題を解決しようと試みた。文書の「見た目」ではなく、「構造」や「意味」に着目し、それらを明確に定義することで、情報の価値を高め、活用範囲を広げることが目指されたのである。
SGMLの最も重要な概念の一つに「文書型定義(DTD: Document Type Definition)」がある。DTDは、特定の種類のSGML文書がどのような要素で構成され、それらの要素がどのように順序付けられ、どのような属性を持つかを厳密にルール化するスキーマ言語である。例えば、論文の文書型であれば、タイトル、著者、抄録、本文、参考文献といった要素がどのような順番で出現し、それぞれがどのような内容を持つべきかをDTDで定義できる。これにより、すべての論文が定義された統一された構造を持つことが保証され、その構造に適合しているかを機械的に検証することが可能になる。データがDTDに適合していれば、その文書は「妥当(valid)」であると判断され、データの信頼性と一貫性が向上する。
実際のSGML文書では、このDTDで定義された要素や属性を使って、文書の内容にマークアップを行う。マークアップとは、文書のテキスト部分にタグと呼ばれる目印を付加することで、そのテキストの役割や意味を示す行為である。例えば、段落であれば<p>これは段落です。</p>、見出しであれば<h1>これは見出しです。</h1>のように、開始タグと終了タグでテキストを囲むことで、その部分が何であるかを明示する。このマークアップによって、文書の内容そのもの(テキスト)と、その内容が持つ構造や意味(タグ)が明確に分離される。この分離は、SGMLの大きな強みの一つである。なぜなら、内容に手を加えることなく、タグの解釈方法を変えるだけで、文書の表示形式を自由に変更できるからだ。例えば、同じSGML文書から、Webブラウザ用のHTML、印刷用のPDF、データベースへの入力データなど、多様な形式へ変換することが容易になる。
SGMLがもたらした利点は多岐にわたる。第一に、データの一貫性と品質向上である。DTDによって文書の構造が厳密に定義され、それに従った文書作成が求められるため、データの整合性が高まり、品質が保証される。第二に、情報共有と再利用性の向上である。構造化されたデータは、異なるシステムやアプリケーション間で交換しやすく、また、文書の一部を別の文書に流用するといった再利用も容易になる。第三に、長期保存性である。SGML文書は、特定のソフトウェアに依存しないプレーンテキスト形式で構造が定義されているため、将来の技術でもその内容と構造を解釈しやすく、情報の永続的な利用が可能となる。
しかし、SGML自体は非常に強力で柔軟性があった反面、その仕様が広範かつ複雑すぎたという課題も抱えていた。全ての機能を使いこなすには高度な知識が必要であり、SGMLパーサ(SGML文書を解析するソフトウェア)の実装も困難を伴ったため、一般のユーザーや開発者にとっては学習コストが高すぎた。特にWebの急速な普及期においては、よりシンプルで手軽に利用できるマークアップ言語が求められた。
このような背景から、SGMLの思想を受け継ぎつつ、Webでの利用に特化し、その複雑な機能を大幅に削減して簡素化されたXMLが1998年に登場した。XMLはSGMLのサブセットであり、SGMLの持つ構造定義の強力なメカニズムを受け継ぎながら、その複雑な部分を取り除くことで、より多くの開発者やシステムで利用しやすいものとなった。結果として、SGMLは直接目にすることは減ったものの、その基本的な理念と技術はXMLを通じて、今日のWeb技術、データ交換、設定ファイル、オフィス文書フォーマット(例: OOXML)など、ITシステムの様々な分野で広く生き続けている。SGMLは、現代の構造化データ技術の礎を築いた、まさに「メタ言語の親」と呼べる存在なのである。