SGML|【統計学・統計解析コラム】
汎用マークアップ言語SGML(Standard Generalized Markup Language)は国際標準化機構において、1986年にISO8879として制定され、日本工業規格でも1992年にJIS X4151として制定されています。
SGMLは医薬品副作用被害救済・研究振興調査機構(医薬品機構)による医薬品情報提供システムを通じた添付文書情報の電子的配布のために用いられており、製薬企業は医薬品添付文書を医薬品添付文書DTD(文書型定義:Document Type Definition)に基づきSGML文書として提供することが義務付けられています。
また、厚生労働省への治験届提出にも用いられているほか、ICH E2Bガイドライン「個別症例安全性報告(ICSRs:Individual Case Safety Reports)を伝送するためのデータ項目」でも用いられており、これに基づき設定された「個別症例安全性報告を電子的に伝達するためのメッセージ仕様」としてICH M2 DTDが定義されています。
SGMLから派生したデータ記述言語としてはInternetで用いられているHTML(Hyper Text Markup Language)やXML(eXtensible Markup Language)が知られています。
マークアップとはテキストに対して見出しのような構造や、どこでその言葉が始まって終わるかというような印をつけるという意味です。
これによりデータを構造化して提示することができ、特定のデータベースに依存することなくデータ交換に利用することができます。
SGML文書はSGML宣言、DTD(文書型定義)、SGMLインスタンスという3つの要素から構成されます。
SGML宣言とは、使用する文字コードやタグの文字列長などを定義したもので、SGMLで実際に文書を記述する際には、文書の構造を表すタグと、それに続く文字列を用います。
送る側と受け取る側でタグの使用方法について合意されていれば、文書の構造と内容は共有化することができ、このタグの使用方法の定義を示したものがDTDです。
タグは基本的に最初に出てくる開始タグと後に出てくる終了タグをセットで用いることになっていて、たとえば、サンプルという文字列をレベル1として取り扱うのであれば、
<レベル1>サンプル</レベル1>
というように記述されます。タグは用途に合わせて名前を定義することができ、タグの階層構造やタグ内のデータに関するデータ型などを定義することができます。
このため、SGMLのスキーマを定義することはデータベース設計を行うこととほぼ同じであると考えることができます。
SGMLファイルがDTDに従っており、文法的な誤りがないかどうかを確認することをパースと呼び、このためにパーサ(parser)と呼ばれるプログラムが用意されています。
関連記事