# DOMImplementationSource

public interface **DOMImplementationSource** This interface permits a DOM implementer to supply one or more
implementations, based upon requested features and versions, as specified
in . Each implemented `DOMImplementationSource` object is
listed in the binding-specific list of available sources so that its
`DOMImplementation` objects are made available.

See also the [Document Object Model (DOM) Level 3 Core Specification](http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407).

### Public Method Summary

|---|---|
| abstract [DOMImplementation](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementation.html) | [getDOMImplementation](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementationSource.html#getDOMImplementation(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) features) A method to request the first DOM implementation that supports the specified features. |
| abstract [DOMImplementationList](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementationList.html) | [getDOMImplementationList](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementationSource.html#getDOMImplementationList(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) features) A method to request a list of DOM implementations that support the specified features and versions, as specified in . |

## Public Methods

#### public abstract [DOMImplementation](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementation.html)
**getDOMImplementation**
([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) features)

A method to request the first DOM implementation that supports the
specified features.

##### Parameters

| features | A string that specifies which features and versions are required. This is a space separated list in which each feature is specified by its name optionally followed by a space and a version number. This method returns the first item of the list returned by `getDOMImplementationList`. As an example, the string `"XML 3.0 Traversal +Events 2.0"` will request a DOM implementation that supports the module "XML" for its 3.0 version, a module that support of the "Traversal" module for any version, and the module "Events" for its 2.0 version. The module "Events" must be accessible using the method `Node.getFeature()` and `DOMImplementation.getFeature()`. |
|---|---|

##### Returns

- The first DOM implementation that support the desired features, or `null` if this source has none.

#### public abstract [DOMImplementationList](https://developers.google.com/j2objc/javadoc/jre/reference/org/w3c/dom/DOMImplementationList.html)
**getDOMImplementationList**
([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) features)

A method to request a list of DOM implementations that support the
specified features and versions, as specified in .

##### Parameters

| features | A string that specifies which features and versions are required. This is a space separated list in which each feature is specified by its name optionally followed by a space and a version number. This is something like: "XML 3.0 Traversal +Events 2.0" |
|---|---|

##### Returns

- A list of DOM implementations that support the desired features.