SGML(Standard Generalized Markup Language)は、様々なアプリケーション間でのデータ交換を目指して開発された国際標準規格で、HTMLやXMLの元となっているものです。
以前は異なるメーカのワープロ間では組み上がったページデータを交換することはできませんでした。これは各メーカーごとにワープロ内部での約束事が異なったためです。不便極まりないので、文書交換ができる共通のタグ付けが考えられたのです。
SGMLでは、まず文書の構造と含まれる全ての要素と要素の属性を定義します。これを文書型定義(DTD)といいます。次に要素名をタグ名としてテキスト(文書)中に付けます。全て要素タグが付けられたテキストを文書インスタンスといいます。構造定義も要素・属性の定義もとても難しく、約束ごとの数もHTMLの比ではありません。
特徴としては、HTMLでは文字の大きさとか書体といった見せ方だけしか定義できませんが、SGMLでは、これは住所だ、これは著者名だ、この数字は年齢を意味している…というように意味が分かります。要素名でタグを付けるからです。システム上で人名の「渋谷」と住所の「渋谷」は確実に区別され、この点が決定的な相違点です。
SGMLインスタンスは、スタイルや体裁情報を排除して全てタグ付きのテキストデータで記述されますので、データの交換を容易にし、検索性やアプリケーションに依存しないデータの資産性に優れています。