コンピューターを使った組版の導入以来、企業や公共機関は、組織内にある異なるコンピューター・システム間で自由に文書を交換できないことに頭を悩ませていました。
電子組版された本やその他の出版物では、あるマシンで組版したものを、他のマシンで1からやり直さなければならなくなることがしばしばありました。時代遅れになってしまったコンピューター・システムで整形された古いマニュアルや文書を作り直すために、経費が多大に費やされたのです。
さまざまな異なるコンピューター・プラットフォーム間で、読み込みと認識が可能で、文書内容も同様に表示できるようなテキストを作る必要があることは明らかでした。
この必要性を満たす最初の試みの研究が1960年代後半に米国 IBM
社で行われました。その結果、チャールズ・ゴールドファーブ (Chales Goldfarb
)、エドワード・モシャー (Edward Mosher
)、レイモンド・ローリー (Raymond Lorie
) らの発案による「GML」
(一般化マークアップ言語) が開発されました。とくにゴールドファーブは GML
の開発と、そのアイデアの公式採用に向けて努力を続けました。彼は理想的な一般化マークアップ言語には次の2つの前提が必要であると提唱しました。
これら2つの簡単な規則によって、一般化マークアップ言語を開発するにあたっての有益な制約がいくつか課せられました。物理的なレイアウトではなく文書構造を重視するということは、編集者が他のコンピューター・システムに固有のレイアウト上の特性にとらわれなくてすむということを意味していました。
例えば、文書の物理的な構造は、文書内での改頁の挿入などのため、コンピューターのプリンタドライバの特性によって左右されます。
改頁など、特定のシステムに固有で文書テキストのレイアウトそのものには直接関係のない物理的要素は、ゴールドファーブの計画では省略されることになりました。マークアップがコンピューターにも人間にも読めるようにするということは、大半のコンピューターで既に使われている形式であり、人間にも読んで理解できるような形で表示されなければならない、ということです。
大半のコンピューター上で、英語文字のコンピューターにおける標準である ASCII を理解することができます。ASCII
は、この新しい一般化マークアップ言語形式の開発にあたって、多くの異なるタイプのコンピューターで読み込める基礎言語として即座に採用されました。
マークアップに用いられるコードを人間が読んで理解できるように、タグ構造が採用されました。この構造は、コンピューターによる最初のワードプロセッサ以来用いられてきたもので、一般的にはテキストに修飾するマーカーでテキストを囲むものです。開始タグは人間やコンピューターに特定のテキストの属性が、どこからはじまるものかを示すものであり、終了タグはそれがどこで終わるかを示します。
ゴールドファーブは一般化マークアップ言語の国際標準化を推進するためのチームのリーダーを務め、その結果として SGML(標準一般化マークアップ言語)ができ、1985年にはじめて発表されました。SGML
は最終的に、ISO 8879
(国際標準化機構) によって ISO 8879-1986 として規格化され、それ以降広く採用され、米国国防総省の国内税収業務局 (Internel Revenue Service
)、全米出版社協会、ヒューレットパッカード、コダック、その他多くの航空宇宙関連、自動車メーカー、医療品メーカーの間で、国際的な出版規格となりました。
また、SGML
はヨーロッパの原子力研究機関にも採用され、後にここで World Wide Web が開発されることになったのです。
SGML
の構造は、すでに HTML
をご存知の方には馴染み深いものでしょう。SGML
のタグは HTML
と同様かぎブラケット <〜>
で囲まれています。ここのタグがどのように機能するかは、そのタグについての文書型宣言 (DTD
)によって決められています。DTDとは各タグがどのように解釈され、表示されるか、またそのタグが他のタグとどのように相互作用するかを記述するものです。
次の例は、簡単な E-メールを記述するのに必要な SGML
構文を示したものです。
<EMAIL> <SENDER> <PERSON> <FIRSTNAME>Henry</FIRSTNAME> <LASTNAME>Wilson</LASTNAME> </PERSON> <BODY> Hi! How are you? I will back to home soon. <P> Mildred R. </P> </BODY> </EMAIL>
ここには見慣れたものがあります。<EMAIL> や <SENDER> などは HTML
を使っている人には見慣れないものですが、基本的な構造は理解できるでしょう。SGML
は HTML
に非常によく似ています。HTML
は SGML
のすべてではありませんが、多くの要素を取り入れているのです。
SGMLをさらに発展させるという提案もあり、完全に SGML
に準拠したWEBブラウザを World Wide Web に持ち込もうとする試みも真剣に行われています。HTML
を真剣に学ぼうとする人は誰でも、SGML
の構造と構成の恩恵を受けることになるのです。