同じ開始タグまたは空要素タグの中に2回以上現れてよい属性名はない。属性は宣言されていなければならない。値は、その属性について宣言された型のものでなくてはならない。属性値は、外部実体への直接または間接の実体参照を包含することができない。よってマークされなくてはならない。あれば、要素は、開始タグの直後に終了タグを続けたもの、または空要素タグによって表現されなければならない。いうキーワードを使って定義されているか否かを問わず、内容をもたない任意の要素を表わすために使ってよい。宣言されている要素については空要素タグを使わなくてはならず、また空要素タグを使うことができるのはその要素についてのみである。要素型宣言XML文書の要素構造は、解析の目的のために、要素型宣言と属性リスト宣言を使って制約してもよい。要素型宣言は、要素の内容を制約するものである。要素型宣言は、しばしば、どの要素型が要素の子として現れることができるかを制約する。ユーザの選択により、XMLプロセッサは、ある宣言が、宣言を与えられていない要素型に言及するときには警告を発行してもよいが、これはエラーではない。宣言されている要素型を与える。要素型宣言の一意性2度以上宣言してよい要素型はない。この場合、制約は、内容モデル、すなわち、子要素の許容される型とそれらが出現を許される順序とを支配する単純な文法を取り込む。内容パーティクルは、名前および内容パーティクルの選択リスト、内容パーティクルの順列リストからなる。子として現れてよい要素の型である。選択リスト内にある内容パーティクルは、文法中で選択リストが現れる位置の要素内容の中に現れてよい。順列リスト内に発生する内容パーティクルは各自、リスト内に与えられた順序で要素内容の中に現れなくてはならない。現れてよいか否かを支配する。した演算子が存在しないのは、要素や内容パーティクルがちょうど1回現れなくてはならないという意味である。この文法と意味はこの仕様書の生成規則で使われているものと同じである。要素の内容は、順列、選択、繰り返し演算子に従って、内容の中の各要素を内容モデル内の要素型と照合し、内容モデルを通じてパスを追跡できる場合には、またできる場合にのみ、内容モデルに合致する。互換性のため、文書内の要素が内容モデル内の1つの要素型の1回の出現を超えて合致できるならば、エラーである。グループ/PEの適切なネストパラメータ実体置換テキストは、括弧で括られたグループを用いて適切にネストされなければならない。パラメータ実体の置換テキストに包含されるならば、両方とも同じ置換テキストに包含されなければならないのである。,)であるべきではない。この場合、子要素の型は制約されることがあるが、その順序や出現数は制約されない。子として現れてよい要素の型を与える。単一の混在内容宣言の中に同じ名前は2度以上現れてはならない。名前-値の対を要素に結びつけるために使われる。属性指定が現れてよいのは、開始タグ、空要素タグの内部だけである。与えられた要素型に関する属性のセットを定義するこれらの属性のために型制約を設立する属性にデフォルト値を与えるために使ってよい。与えられた要素型と結び付けられる各属性の名前、データ型、(あれば)デフォルト値を指定する。ユーザの選択により、それ自身が宣言されていない要素型のために属性が宣言されれていれば、XMLプロセッサは警告を発行してもよいが、これはエラーではない。与えられているとき、与えられたすべてのものの内容が併合される。与えられた要素型の同じ属性に2つ以上の定義が与えられているときは、最初の宣言が拘束的であり、後の宣言は無視される。相互運用性のため、DTDのライターは、与えられた要素型について最大で1つの属性リスト宣言を、与えられた属性名について最大で1つの属性定義を、各属性宣言には少なくとも1つの属性定義を与えることを選んでもよい。これはエラーではない。属性型XML属性型は3種類、文字列型、トークン型のセット、列挙型である。文字列型は、任意のリテラル文字列を値としてとってよい。トークン化型は、注記されているように、変動する辞書的および意味的制約をもつ。生成規則に合致しなければならない。1つの名前がXML文書内に2回以上この型の値として現れてはならない。ID値は、それをもつ要素を一意的に識別しなければならないのである。1要素1ID2つ以上のID属性を指定してよい要素型はない。宣言されたデフォルトをもたなければならない。合致しなければならない。XML文書内のある要素上のID属性の値に合致しなければならない。値が何かのID属性の値に合致しなければならないのである。合致しなければならない。DTDに宣言されている解析されない実体の名前に合致しなければならない。合致しなければならない。宣言の中で与えられた値のリストの1つをとることができる。列挙型には2つの種類がある。表記法属性この型の値は、宣言に取り込まれている表記法の名前の1つに合致しなければならない。宣言内のすべての表記法名は宣言されなくてはならない。トークンの1つに合致しなければならない。2度以上発生するべきではない。属性デフォルト属性宣言は、その属性の存在が必須であるか否か、必須でない場合には宣言された属性が文書内にないときにXMLプロセッサがどのように反応すべきかについての情報を与える。デフォルト値が与えられないことを意味する。いうキーワードは、属性がつねにデフォルト値をもたなくてはならないことを宣明する。デフォルト値が宣言されていれば、XMLプロセッサが省略された属性に遭遇したとき、プロセッサはその属性が宣言されたデフォルト値つきで存在するかのように動作することになる。いうキーワードならば、属性リスト宣言内の型のすべての要素に属性が指定されなければならない。宣言されたデフォルト値は、宣言された属性型の辞書的制約に沿わなければならない。キーワードで宣言されたデフォルト値をもつならば、その属性の具体値(インスタンス)はデフォルト値に合致しなければならない。属性の値がアプリケーションに渡され、あるいは妥当性をチェックされる前に、XMLプロセッサは属性値を以下のように標準化しなければならない。キャラクタ参照は、参照されているキャラクタを属性値に追加することにより処理される。実体参照は、実体の置換テキストを再帰的に処理することにより処理される。追加することにより処理される。他のキャラクタは、標準化された値を追加することにより処理される。キャラクタで置き換えることにより標準化された属性値をさらに処理しなければならない。あるかのように扱われるべきである。それらを支配するキーワードに基づいてDTDの論理的構造に取り込まれあるいは排除される文書型宣言外部サブセットの一部分である。ネストされた条件的セクションに空白が混じったものを包含してよい。あれば、条件的セクションの内容はDTDの一部である。あれば、条件的セクションの内容は、論理的にはDTDの一部ではない。信頼できる解析のためには、ネストされた条件セクションを探知して最も外側の(無視される)条件的セクションの末尾が適切に探知されることを保証するため、無視される条件的セクションであっても内容が読まれなければならないことに注意すること。キーワードがついたより大きな条件的セクションの内部で発生するならば、条件的セクションは外側のものも内側のものも両方とも無視される。条件的セクションのキーワードがパラメータ実体参照であれば、パラメータ実体は、プロセッサがその条件的セクションを取り込むか無視するかを決定する前にその内容によって置換されなければならない。物理的構造XML文書は、1つまたは多数の記憶単位からなっていてもよい。