Document Type Definition
Document Type Definition（文書型定義、DTD）とは、マークアップ言語のSGMLおよびXMLにおいて、文書構造（文書型）を定義するためのスキーマ言語の一つである。
DTDでは、SGMLやXMLの文書内に記述することができる要素やその発生順序、発生回数、要素がもつ属性、属性の型などを記述することができる。
他のスキーマ言語と同様に、DTDにおいても、文書構造を厳密に定義することによって、SGMLやXMLの技術を利用する際の、処理の正確性や安全性を高めることができる。SGMLやXMLの文書処理を支援するライブラリの多くは、SGMLやXMLの文書がDTDによる文書構造に従っているかどうかを検証する機能を備えている。
もともとはSGMLのスキーマ言語として開発され、SGMLから派生したXMLにおいても、スキーマ言語として採用されている。例えば、SGMLの応用技術であるHTMLや、XMLの応用技術である XHTMLでは、DTDによって文書構造が定義されている。
現在では、XML技術を利用する場合には、スキーマ言語としてDTDを採用するケースは少なくなる傾向にある。XMLが勧告された後、DTDに対してはいくつかの欠点（XMLの文法とは異なる文法を採用していることや、XML名前空間に対応していないことなど）が問題として指摘されてきたためである。そのため、XML技術は広く普及したものの、DTDの欠点が XML技術を柔軟に活用する際の障害の一つとなっていた。
この問題を解決するために、新たなスキーマ言語としてRELAX NGやW3C XML Schemaなどが開発され、それらを採用する事例が増えている。