# Titanium.XML.DocumentType

> Each [Titanium.XML.Document](https://titaniumsdk.com/docs/sdk/Titanium.XML.Document.md) has a `doctype` attribute whose value is either 'null' or a [Titanium.XML.DocumentType](https://titaniumsdk.com/docs/sdk/Titanium.XML.DocumentType.md) object.

- Source: https://titaniumsdk.com/docs/sdk/13.1.0/Titanium.XML.DocumentType
- Titanium SDK version: 13.1.0
- Kind: proxy
- Platforms: Android, iPhone, iPad, macOS
- Since: Titanium SDK Android 0.9, iPhone 0.9, iPad 0.9, macOS 9.2.0
- Extends: Titanium.XML.Node
- Inheritance: Titanium.XML.Node > Titanium.Proxy

This provides an interface to the list of entities that are defined for the document. Implements the
[DOM Level 2 API](https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-412266927) on Android and iOS.

As of version 3.1, Android still does not truly support DTDs.  A document with a DTD can be
parsed, however it is not validated, none of its default attributes will automatically be put
into the tree, etc.  [Google is aware of the issue](http://code.google.com/p/android/issues/detail?id=7395).

## Properties

### entities

- Type: Titanium.XML.NamedNodeMap
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

A [Titanium.XML.NamedNodeMap](https://titaniumsdk.com/docs/sdk/Titanium.XML.NamedNodeMap.md) containing the general entities, both external and internal, declared in the DTD. Parameter entities are not contained. Duplicates are discarded.

### internalSubset

- Type: String
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

The internal subset as a string.

### name

- Type: String
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

The name of DTD; i.e., the name immediately following the `DOCTYPE` keyword.

### notations

- Type: Titanium.XML.NamedNodeMap
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

A [Titanium.XML.NamedNodeMap](https://titaniumsdk.com/docs/sdk/Titanium.XML.NamedNodeMap.md) containing the notations declared in the DTD. Duplicates are discarded. Every node in this map also implements the [Titanium.XML.Notation](https://titaniumsdk.com/docs/sdk/Titanium.XML.Notation.md) interface.

### publicId

- Type: String
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

The public identifier of the external subset.

### systemId

- Type: String
- Platforms: Android, iPhone, iPad, macOS
- Permission: read-only

The system identifier of the external subset.

## Inherited members

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

- [Titanium.Proxy](https://titaniumsdk.com/docs/sdk/13.1.0/Titanium.Proxy.md): `addEventListener`, `apiName`, `applyProperties`, `bubbleParent`, `fireEvent`, `lifecycleContainer`, `removeEventListener`
- [Titanium.XML.Node](https://titaniumsdk.com/docs/sdk/13.1.0/Titanium.XML.Node.md): `ATTRIBUTE_NODE`, `CDATA_SECTION_NODE`, `COMMENT_NODE`, `DOCUMENT_FRAGMENT_NODE`, `DOCUMENT_NODE`, `DOCUMENT_TYPE_NODE`, `ELEMENT_NODE`, `ENTITY_NODE`, `ENTITY_REFERENCE_NODE`, `NOTATION_NODE`, `PROCESSING_INSTRUCTION_NODE`, `TEXT_NODE`, `appendChild`, `attributes`, `childNodes`, `cloneNode`, `firstChild`, `hasAttributes`, `hasChildNodes`, `insertBefore`, `isSupported`, `lastChild`, `localName`, `namespaceURI`, `nextSibling`, `nodeName`, `nodeType`, `nodeValue`, `normalize`, `ownerDocument`, `parentNode`, `prefix`, `previousSibling`, `removeChild`, `replaceChild`, `text`, `textContent`

---

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

