DTD
DTD(Document Type Definition)は XML 1.0 の構造定義機構である。XSD より簡素だが能力は限られ、特殊な(XML ではない)構文で記述される。
目的
XML に基本的な構造検証を提供し、許容される要素・属性・階層を定義する。
メカニズム
<!ELEMENT name (content)> は要素とその子を、<!ATTLIST> は属性を、<!ENTITY> は実体を宣言する。型システムはなく(文字列のみ)、名前空間もない。HTML5 以前の HTML は DTD を使っていた。
ユースケース
- HTML 4.01 と XHTML 1.0 の DTD
- レガシー XML 文書の検証
- SVG 1.1 の DTD
- 教育用のサンプル
例
- 入力
<!ELEMENT name (#PCDATA)>OutputThe name element contains text onlyElement declaration
よくあるエラー
- A DTD cannot express modern constraints (types, namespaces)
- Migrate to XSD or JSON Schema