###
8.6.2.1 DOMImplementation Objects

The `DOMImplementation` interface provides a way for applications to determine the availability of particular features in the DOM they are using. DOM Level 2 added the ability to create new `Document` and `DocumentType` objects using the `DOMImplementation` as well.

`hasFeature`( | feature, version)

  Return true if the feature identified by the pair of strings feature and version is implemented.

`createDocument`( | namespaceUri, qualifiedName, doctype)

  Return a new `Document` object (the root of the DOM), with a child `Element` object having the given namespaceUri and qualifiedName. The doctype must be a `DocumentType` object created by `createDocumentType()`, or `None`. In the Python DOM API, the first two arguments can also be `None` in order to indicate that no `Element` child is to be created.

`createDocumentType`( | qualifiedName, publicId, systemId)

  Return a new `DocumentType` object that encapsulates the given qualifiedName, publicId, and systemId strings, representing the information contained in an XML document type declaration.