Definition)は、独立したファイルでも、インラインでも記述できます。SudioでXMLファイルを作成している様子です。「哺乳類」をルートとするドキュメントを定義しています。キーインすると入力補助の選択肢が現れます。選択肢には、「哺乳類」が含まれています。DTDの定義はエディタやブラウザで、1)入力支援、2)バリデーション、3)ドキュメント(ノードリスト)の生成に使われています。XmlReaderは、DTDを読み込んで、XMLを読み込む用意をします。XmlReaderでDTDをドキュメントとして扱うことはできないようです。<!ELMENT>などの記述は、<!DOCTYPE>内にないとエラーになります。DTDの宣言部分は概ね以下のようなものです。繰り返し]ELEMENT、ATTLISTこれは、XMLが、「要素」と「属性」、「コンテンツ」の3つを扱っていて、階層構造を持つのが要素と属性であることに対応しています。要素は、要素間に階層構造を持ち、要素はいくつかの属性を持ちます。#IMPLIED>]>この定義は、ルートが「哺乳類」要素であり、「哺乳類」は、「ネコ」か「ヒト」要素の繰り返しであると定義しています。「ネコ」要素は、「瞳」属性と「しっぽ」属性を持ちます。エディタで試すと、以下のように入力支援が行われます。宣言は、子となりうる要素を列挙するものです。合わせて、必須であるかどうかと言った条件を与えます。