org.w3c.dom

## Interface DOMImplementation

All Known Implementing Classes:
  XDBDomImplementation, XMLDOMImplementation

    public interface DOMImplementation

The `DOMImplementation` interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

See also the Document Object Model (DOM) Level 2 Core Specification.

### Method Summary

All Methods Instance Methods Abstract Methods
`Document` `createDocument(java.lang.String namespaceURI, java.lang.String qualifiedName, DocumentType doctype)` Creates an XML `Document` object of the specified type with its document element.
`DocumentType` `createDocumentType(java.lang.String qualifiedName, java.lang.String publicId, java.lang.String systemId)` Creates an empty `DocumentType` node.
`boolean` `hasFeature(java.lang.String feature, java.lang.String version)` Test if the DOM implementation implements a specific feature.

### Method Detail

#### hasFeature

    boolean hasFeature(java.lang.String feature,
                       java.lang.String version)

Test if the DOM implementation implements a specific feature.

Parameters:
  `feature` - The name of the feature to test (case-insensitive). The values used by DOM features are defined throughout the DOM Level 2 specifications and listed in the section. The name must be an XML name. To avoid possible conflicts, as a convention, names referring to features defined outside the DOM specification should be made unique by reversing the name of the Internet domain name of the person (or the organization that the person belongs to) who defines the feature, component by component, and using this as a prefix. For instance, the W3C SVG Working Group defines the feature "org.w3c.dom.svg".
  `version` - This is the version number of the feature to test. In Level 2, the string can be either "2.0" or "1.0". If the version is not specified, supporting any version of the feature causes the method to return `true`.
Returns:
  `true` if the feature is implemented in the specified version, `false` otherwise.

#### createDocumentType

    DocumentType createDocumentType(java.lang.String qualifiedName,
                                    java.lang.String publicId,
                                    java.lang.String systemId)
                             throws DOMException

Creates an empty `DocumentType` node. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur. It is expected that a future version of the DOM will provide a way for populating a `DocumentType`.
HTML-only DOM implementations do not need to implement this method.

Parameters:
  `qualifiedName` - The qualified name of the document type to be created.
  `publicId` - The external subset public identifier.
  `systemId` - The external subset system identifier.
Returns:
  A new `DocumentType` node with `Node.ownerDocument` set to `null`.
Throws:
  `DOMException` - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
  NAMESPACE_ERR: Raised if the `qualifiedName` is malformed.
Since:
  DOM Level 2

#### createDocument

    Document createDocument(java.lang.String namespaceURI,
                            java.lang.String qualifiedName,
                            DocumentType doctype)
                     throws DOMException

Creates an XML `Document` object of the specified type with its document element. HTML-only DOM implementations do not need to implement this method.

Parameters:
  `namespaceURI` - The namespace URI of the document element to create.
  `qualifiedName` - The qualified name of the document element to be created.
  `doctype` - The type of document to be created or `null`. When `doctype` is not `null`, its `Node.ownerDocument` attribute is set to the document being created.
Returns:
  A new `Document` object.
Throws:
  `DOMException` - INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
  NAMESPACE_ERR: Raised if the `qualifiedName` is malformed, if the `qualifiedName` has a prefix and the `namespaceURI` is `null`, or if the `qualifiedName` has a prefix that is "xml" and the `namespaceURI` is different from " http://www.w3.org/XML/1998/namespace" .
  WRONG_DOCUMENT_ERR: Raised if `doctype` has already been used with a different document or was created from a different implementation.
Since:
  DOM Level 2

Copyright © 2000 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a W3C Recommendation.