マークアップではなくキャラクタデータとして認識される。始まってよく、また始まるべきである。下記は完全なXML文書であり整形式であるが、妥当ではない。world!</greeting>また、これもそうである。いうバージョン番号が使われるべきである。いう値を使うことはエラーである。以外の番号を与えることがXMLワーキンググループの意図ではあるが、この意図は、将来のバージョンのXMLを作成することや、作成されたとしても特定の番号づけスキームを使うことのコミットメントを示すものではない。将来のバージョンは排除されていないので、もし自動バージョン認識が必要になればそのの可能性を与える手段として、この構造が提供されている。プロセッサがサポートしないバージョンのラベルがついた文書を受け取った場合、プロセッサはエラーを発信してもよい。XML文書におけるマークアップの機能は、その記憶や論理的構造を記述し、属性と値の対をその論理的構造に結びつけることである。XMLは、論理的構造の制約を定義し、定義済みの記憶単位の利用をサポートするため、文書型宣言という機構を提供する。XML文書は、結び付けられた文書型宣言を有し、かつ文書が文書型宣言の中に表わされた制約に準拠すれば、妥当である。文書型宣言は、文書内で最初の要素の前に現れなければならない。SXML文書型宣言は、文書のクラスに文法を提供するマークアップ宣言を包含し、またはそれを指し示す。この文法は文書型定義またはDTDとして知られている。文書型宣言は、外部サブセット(特殊な種類の外部実体)を指し示し、あるいは内部サブセットの中に直接にマークアップ宣言を包含することができ、その両方をすることもできる。文書のためのDTDは、両方のサブセットを一つにまとめたものからなる。これらの宣言は、下記の整形式性制約および妥当性制約に記述されているように、全部または一部がパラメータ実体の内部に包含される。]マークアップ宣言は、全部または一部がパラメータ実体の置換テキストからなる場合がある。)を表わす後出の生成規則は、パラメータ実体がすべて取り込まれた後で宣言を記述する。ルート要素の要素型に合致しなければならない。適切な宣言/PEのネストパラメータ実体置換テキストは、マークアップ宣言を用いて適切にネストされなければならない。両方とも同じ置換テキストに包含されていなければならない。内部サブセット内のPE内部DTDサブセットの中では、パラメータ実体参照は、マークアップ宣言の内部ではなく、マークアップ宣言が発生できる場所でしか発生できない。(これは、外部パラメータ実体の中で発生する参照や、外部サブセットには適用されない。よって認められた型の完全なマークアップ宣言に空白やパラメータ実体参照が混じったものの連なりで構成されていなければならない。構造を使うことにより、条件によって無視される場合がある。これは内部サブセットの中では認められない。)*外部サブセットや外部パラメータ実体は、その中ではマークアップ宣言の間だけでなくマークアップ宣言の内部ででもパラメータ実体参照が許されるという点でも、内部サブセットと異なる。この例のように、宣言はローカルに与えることもできる。world!</greeting>外部サブセットと内部サブセットの両方が使われていれば、内部サブセットが外部サブセットの前に発生したものとみなされる。このことは、内部サブセット内の実体宣言や属性宣言が、外部サブセット内のものに優先するという効果を有する。スタンドアローン文書宣言マークアップ宣言は、XMLプロセッサからアプリケーションに渡されるときに、文書の内容に影響を及ぼすことができる。例は、属性デフォルトや実体の宣言である。スタンドアローン文書宣言はXML宣言の構成部分として現れてよいが、これは文書実体にとって外部的に見えるそうした宣言の有無を発信するものである。(DTD外部サブセット内か、内部サブセットから参照される外部パラメータ実体内かのいずれかに)ないことを示す。いう値は、そうした外部マークアップ宣言があり、またはあるかもしれないことを示す。スタンドアローン文書宣言は外部宣言の存在を示すだけであることに注意すること。外部実体が内部的に宣言されるとき、そうした実体への参照が文書内に存在しても、文書のスタンドアローン状態を変化させない。外部マークアップ宣言がなければ、スタンドアローン文書宣言は無意味である。いう値があるものとされる。当てはまるXML文書は、アルゴリズム的にスタンドアローン文書に変換できる。スタンドアローン文書は、いくつかのネットワーク配信アプリケーションにとって望ましい場合がある。いう値をもたなければならない。よって示されている)を使うことが便利であることがよくある。した空白は大概、文書の配信版の中に組み込まれることは意図されていない。他方、たとえば詩歌やソースコードなどにおいては、配信版でも保存されるべき「重要な」空白が一般的である。XMLプロセッサは、マークアップでない文書中のすべてのキャラクタを、つねにそのままアプリケーションへ渡さなければならない。妥当性を検証するXMLプロセッサは、これらのキャラクタのどれが要素内容内に現れている空白を構成するかもアプリケーションに知らせなくてはならない。いう名前の特殊な属性を要素に添付してもよい。妥当な文書では、他と同様に、この属性が使われるならば宣言されなければならない。して与えられなくてはならない。いう値は、アプリケーションのデフォルトの空白処理モードがこの要素にとって受付可能であることを知らせる。いう値は、アプリケーションが空白をすべて保存することの意図を示す。属性の他のインスタンスで上書きされない限り、それが指定されている要素の内容の内部にある要素すべてに適用されるものとみなされる。どの文書のルート要素も、この属性の値が与えられるか、または属性がデフォルト値で宣言されるかしない限り、アプリケーション空白処理に関して何の意図も知らせなかったものとみなされる。行末の処理XML解析される実体は、編集の便宜上複数行に組織されたコンピュータファイルに保存されることがよくある。キャラクタの組み合わせによって分離される。いう単一のキャラクタを渡さなければならない。標準化することにより、簡便に生み出すことができる。文書処理において、内容を書いている自然的または形式的言語を識別することが便利なことがよくある。いう名前の特殊な属性を文書に挿入してもよい。宣言されなければならない。定義されている言語識別子である。以下のどれであってもよい。登録されている言語識別子。"i-")というプレフィックスで始まる。ユーザによって割り当てられ、あるいは私的利用において仲間の間で合意された言語識別子。いうプレフィックスで始まらなければならない。セグメントは何個あってもよい。よる国別コードでなくてはならない。登録されたサブコードでなければならない。言語コードは小文字で、また国コードは(あれば)大文字で与えるのが慣例である。これらの値はXML文書内の他の名前と違って大文字小文字の区別がないことに注意すること。それが指定されている要素の属性および内容のすべてに適用されるものとみなされる。いうような形をとることになるが、もしそれが適切ならば特定のデフォルト値も与えられてよい。属性はこのように宣言されることになるだろう。よって区切られている。もち、また1セットの属性指定をもつ場合もある。]この仕様書は、要素型および属性の意味や使用法、(文法論を超えた)命名法を包含しない。合致するもので始まる名前は、この仕様書のこのバージョンまたは将来のバージョンにおける標準化のために予約される。開始タグの要素型と合致しなければならない。合致する宣言があり、以下の1つが当てはまるならば、妥当である。合致し、要素が内容をもたない。合致するキャラクタ)がある内容モデルの中の正規の表現によって生成された言語に属する。合致し、内容が、その型が内容モデル内の名前に合致するキャラクタデータと子要素とからなる。宣言がどれかに合致し、どの子要素の型も宣言されている。