## org.w3c.dom
Interface DOMImplementation

All Known Subinterfaces:
  HTMLDOMImplementation, WMLDOMImplementation

All Known Implementing Classes:
  CoreDOMImplementationImpl, DOMImplementationImpl

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
`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

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

  Test if the DOM implementation implements a specific feature.
  Parameters:
    `featureThe` - 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".
    `versionThis` - 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

    public 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:
    `qualifiedNameThe` - qualified name of the document type to be created.
    `publicIdThe` - external subset public identifier.
    `systemIdThe` - 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

    public 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:
    `namespaceURIThe` - namespace URI of the document element to create.
    `qualifiedNameThe` - qualified name of the document element to be created.
    `doctypeThe` - 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 © 1999-2001 Apache XML Project. All Rights Reserved.