HTMLに関する用語で「SGML」という言葉を聞きましたが,これはどのような規格なのですか。
SGMLとは,「Standard Generalized Markup Language」の略で,その特徴は,文書の表示イメージではなく物理的な構造を記述するようになっていることです。つまり,文字や文章の大きさなどではなくその意味づけ,例えば「表題」などという要素で文書を作成します。このようにSGMLは,文書の論理的な意味つけだけを指定することで見た目は各ブラウザに任せることができるため,さまざまな環境での運用が可能になっています。
なお,Webで使われているHTMLはこのSGMLの精神を基にして作られたもので,そのためHTMLにおいては文字の大きさやフォントの種類などという指定はあまりなく,<H1></H1>タグによるマークアップで「章題」を指定したり,<P></P>タグによって「段落」を指定するようになっています。
もっとも,HTMLでは見た目に関する要求が大きかったため,最近では<FONT></FONT>などのフォント指定をしたりするタグも増えてきています。ただし,HTMLの本質を考えると,「ボールド体」を意味する<B></B>のような物理的なタグを使うよりも,「強調」を意味する<EM></EM>のような論理的なタグを使うほうがいいとされています。
また,現在インターネット上にあるHTMLの仕様は,そのほとんどがSGMLを利用したDTD(Document Type Definition)と呼ばれるフォーマットで定義されています。つまり,HTMLでは文書構造もSGMLによって定義されているというわけです。
Internet Explorerなどで独自に実装されているタグに関してもDTDが公開されており,SGMLで書かれたこのDTDを見ることで,タグの正確な意味を知ることができるのです(なお,残念ながらネットスケープ・コミュニケーションズはDTDを公開していません)。
(恣岡 悄)