文書型宣言の一般的な構文は次のとおりである。
ここで外部サブセットとは、そのXML文書のDTDを構成する （要素の型の宣言、後述する実体の宣言などの） 宣言群のうち、別ファイルに記述された宣言群のことである。また内部サブセットとは、そのXML文書のDTDを構成する宣言群のうち、文書型宣言内に直接記述された宣言群のことである。
内部サブセットは必要に応じて記述する。
内部サブセットとして、DTDの一部分もしくはDTDの全体を記述することができる。
実体参照.
XML文書の内部に定義されたDTDを使って、置換文字列としての実体を宣言して、実体参照を使う例を次に示す。宣言された実体は、一つの文字であっても良いし、テキストの断片であっても良いし、他の実体への参照を含むテキストであっても良い。
XMLに準拠したブラウザを使うと、先のXML文書は次のように表示される。
ファイルの実体を参照するXML文書の例を示す。
XMLに準拠したブラウザでこのXML文書を表示すると、次のようになる。
 星新一はSF作家である。小松左京はSF作家である。筒井康隆はSF作家である。
文字参照.
処理命令.
次に処理命令の構文を示す。
擬似属性を使った処理命令の例を次に示す。
あるXML文書内に記述された特定の処理命令について、その処理命令をプログラマーが意図したとおりの処理を実行させるためには、そのXML文書を処理するアプリケーションソフトウェア側がその処理命令に対応する必要がある。
CDATAセクション.
XML文書 （およびSGML文書） においてCDATAセクションとは、文字列データのみで構成されておりマークアップされたデータは含まれていないと、XMLプロセサが解釈するようマークされた、要素の内容を構成する文字列データの一部である。CDATAセクションは、文字列データを表現するための単なる代替構文である。
CDATAセクションの構文と解釈.
CDATAセクションは次の記述で始まる。
そしてCDATAセクションの内容が続き、次の記述が最初に出現したところでCDATAセクションは終わる。
CDATAセクションの内容の文字列は全て文字列データとして解釈され、マークアップや実体参照や文字参照として解釈されることはない。
次の例で「送信者」の開始タグと終了タグはマークアップとして解釈される。