# Titanium.XML.DOMImplementation

> The [Titanium.XML.DOMImplementation](https://titaniumsdk.com/docs/sdk/Titanium.XML.DOMImplementation.md) interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.Implements the [DOM Level 2 API](https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490) on Android and iOS.

- Source: https://titaniumsdk.com/docs/sdk/13.3.0/Titanium.XML.DOMImplementation
- Titanium SDK version: 13.3.0
- Kind: proxy
- Platforms: Android, iPhone, iPad, macOS
- Since: Titanium SDK Android 1.8.0, iPhone 1.8.0, iPad 1.8.0, macOS 9.2.0
- Extends: Titanium.Proxy
- Inheritance: Titanium.Proxy

## Methods

### createDocument

- Platforms: Android, iPhone, iPad, macOS

Creates an [Titanium.XML.Document](https://titaniumsdk.com/docs/sdk/Titanium.XML.Document.md) object of the specified type with its document element. Raises an exception if qualifiedName is malformed, contains an illegal character, or is inconsistent with namespaceURI. Also raises an exception if doctype has already been used with a different document.

Parameters:

- `namespaceURI` (String): The namespace URI of the document element to create.
- `qualifiedName` (String): The qualified name of the document element to be created.
- `doctype` (Titanium.XML.DocumentType): 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: Titanium.XML.Document - A new [Titanium.XML.Document](https://titaniumsdk.com/docs/sdk/Titanium.XML.Document.md) object

### createDocumentType

- Platforms: Android, iPhone, iPad, macOS

Creates an empty [Titanium.XML.DocumentType](https://titaniumsdk.com/docs/sdk/Titanium.XML.DocumentType.md) node. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur. Raises an exception if qualifiedName is malformed or contains an illegal character.

Parameters:

- `qualifiedName` (String): The qualified name of the document type to be created.
- `publicId` (String): The external subset public identifier.
- `systemId` (String): The external subset system identifier.

Returns: Titanium.XML.DocumentType - A new [Titanium.XML.DocumentType](https://titaniumsdk.com/docs/sdk/Titanium.XML.DocumentType.md) node with Node.ownerDocument set to null.

### hasFeature

- Platforms: Android, iPhone, iPad, macOS

Test if the [Titanium.XML.DOMImplementation](https://titaniumsdk.com/docs/sdk/Titanium.XML.DOMImplementation.md) implements a specific feature.

Parameters:

- `feature` (String): 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 Conformance 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` (String): 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: Boolean - true if the feature is implemented in the specified version, false otherwise.

## Inherited members

7 members are inherited. Each is documented on the type that declares it.

- [Titanium.Proxy](https://titaniumsdk.com/docs/sdk/13.3.0/Titanium.Proxy.md): `addEventListener`, `apiName`, `applyProperties`, `bubbleParent`, `fireEvent`, `lifecycleContainer`, `removeEventListener`

---

- This corpus documents Titanium SDK 13.4.1. Anything here that does not name a version describes 13.4.1.
- Titanium is maintained by TiDev. The Appcelerator toolchain is retired: there is no `appc` CLI, no Appcelerator Studio and no hosted build service. The supported CLI is `titanium` on npm, invoked as `ti`.

