SGML 文書には、それがどのような形式であるかを示す文書型(DTD:DocumentType Definition)宣言が必要です。文書に型なんてあるのかと思われるかもしれません。SGML における文書型とは、次の2つの概念から成り立っています。
- 文書に含まれ得る要素
- 各要素間の関係
この2つを形式的に定義したものがDTD です。文書に含まれ得る要素とは、本書を例に取ると章や節、段落、あるいは脚注などを指します。これらの要素は無秩序に文書に現れるのではなく、要素間に何らかの関係を伴っています。たとえば今挙げた例であれば、章は節を含むことができますが、節は章を含むことはできません。このような要素間の関係によって、文書の論理構造が決定されます。
DTD 宣言は、文書の最初に次のような形式で記述します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
あるいは、組織内などで作成したプライベートなDTD を利用するのなら次のような形式になります。
<!DOCTYPE book SYSTEM "book.dtd">