[1]
The [DFN@en[DOM XML Document Type Definition]] module
is a set of DOM interfaces, via which DOM applications
can access to document type definitions attached
to XML documents, for both reading and writing.

[2]
The DOM XML Document Type Definition module,
version 3.0, consists of three interfaces:
- [CODE(DOMi)@en[[[DocumentTypeDefinition]]]]
- [CODE(DOMi)@en[[[ElementTypeDefinition]]]]
- [CODE(DOMi)@en[[[AttributeDefinition]]]]

@@ In addition, it adds methods and attributes
to interfaces [CODE(DOMi)@en[[[Entity]]]], 
[CODE(DOMi)@en[[[EntityReference]]]], and
[CODE(DOMi)@en[[[Notation]]]] and
modifies semantics of some methods and attributes
of [CODE(DOMi)@en[[[ProcessingInstruction]]]]
objects.

[3]
In a DOM implementation that supports version 3.0 of
the DOM XML Document Type Definition module,
the [CODE(DOMm)@en[[[hasFeature]]]] method
of a [CODE(DOMi)@en[[[DOMImplementation]]]] object
[['''MUST''']] return [CODE(IDL)@en[[[true]]]]
when parameters are set to
[CODE(URI)@en[[[http://suika.fam.cx/www/2006/feature/XDoctype]]]]
and [CODE(DOM)@en[[[3.0]]]]. 
In such an implementation, the [CODE(DOMm)@en[[[getFeature]]]]
method of a [CODE(DOMi)@en[[[Document]]]] object
[['''MUST''']] return the same object with
[CODE(DOMi)@en[[[DocumentXDoctype]]]] interface
when parameters are set to
[CODE(URI)@en[[[http://suika.fam.cx/www/2006/feature/XDoctype]]]]
and [CODE(DOM)@en[[[3.0]]]]. 
Likewise, any method that takes one or more feature
names with or without version number,
including [CODE(DOMm)@en[[[hasFeature]]]] and
[CODE(DOMm)@en[[[getFeature]]]], [['''MUST''']]
behave in a manner consistent with the abovementioned
cases.


