Document はそれぞれ doctype プロパティを持ち、その値は null または DocumentType オブジェクトのいずれかである。 DOM Core におけるDocumentType インターフェイスは、文書に定義された実体のリストに対するインターフェイスを提供する。他のものは殆ど提供しないが、それはこれを書いている時点では DTD 表現上の名前空間の効力と様々な XML スキーマの力が明らかではないからである。
DOMレベル2 は、 DocumentType ノードの編集をサポートしない。
entitiesNamedNodeMap型, 読取専用
NamedNodeMap。パラメータ実体は含まれない。重複するものは破棄される。例えば:
<!DOCTYPE ex SYSTEM "ex.dtd" [ <!ENTITY foo "foo"> <!ENTITY bar "bar"> <!ENTITY bar "bar2"> <!ENTITY % baz "baz"> ]> <ex/>
foo と 1つ目のbar 宣言へのアクセスを提供するが、2番目の bar または baz 宣言へのアクセスは提供しない。このマップ内のノードは全て Entity インターフェイスを実装する。entities を変更することはできない。internalSubsetDOMString型, 読取専用
Note: 返される実際の内容は、実装に対する利用可能な情報量に依存する。これは文書構築に用いるXMLプロセッサを含めた様々なパラメータによって変化してよい。
nameDOMString型, 読取専用
DOCTYPE キーワードの直後に続く名前。notationsNamedNodeMap型, 読取専用
NamedNodeMap。重複するものは破棄される。このマップ内のノードは全て Notation インターフェイスも実装する。notations を変更することはできない。publicIdDOMString型, 読取専用
systemIdDOMString型, 読取専用
interface DocumentType : Node {
readonly attribute DOMString name;
readonly attribute NamedNodeMap entities;
readonly attribute NamedNodeMap notations;
// Introduced in DOM Level 2:
readonly attribute DOMString publicId;
// Introduced in DOM Level 2:
readonly attribute DOMString systemId;
// Introduced in DOM Level 2:
readonly attribute DOMString internalSubset;
};