Changes
- Arnaud Le Hors
  IBM
- Philippe Le Hégaret
  W3C
Changes between DOM Level 1 Core and DOM Level 2 Core
OMG IDL

The DOM Level 2 specifications are now using Corba 2.3.1 instead of Corba 2.2.

Type `DOMString`

The definition of `DOMString` in IDL is now a `valuetype`.

Changes to DOM Level 1 Core interfaces and exceptions
Interface `Attr`

The `Attr` interface has one new attribute: `ownerElement`.

Interface `Document`

The `Document` interface has five new methods: `importNode`, `createElementNS`, `createAttributeNS`, `getElementsByTagNameNS` and `getElementById`.

Interface `NamedNodeMap`

The `NamedNodeMap` interface has three new methods: `getNamedItemNS`, `setNamedItemNS`, `removeNamedItemNS`.

Interface `Node`

The `Node` interface has two new methods: `isSupported` and `hasAttributes`.

`normalize`, previously in the `Element` interface, has been moved in the `Node` interface.

The `Node` interface has three new attributes: `namespaceURI`, `prefix` and `localName`.

The `ownerDocument` attribute was specified to be `null` when the node is a `Document`. It now is also `null` when the node is a `DocumentType` which is not used with any `Document` yet.

Interface `DocumentType`

The `DocumentType` interface has three attributes: `publicId`, `systemId` and `internalSubset`.

Interface `DOMImplementation`

The `DOMImplementation` interface has two new methods: `createDocumentType` and `createDocument`.

Interface `Element`

The `Element` interface has eight new methods: `getAttributeNS`, `setAttributeNS`, `removeAttributeNS`, `getAttributeNodeNS`, `setAttributeNodeNS`, `getElementsByTagNameNS`, `hasAttribute` and `hasAttributeNS`.

The method `normalize` is now inherited from the `Node` interface where it was moved.

Exception `DOMException`

The `DOMException` has five new exception codes: `INVALID_STATE_ERR`, `SYNTAX_ERR`, `INVALID_MODIFICATION_ERR`, `NAMESPACE_ERR` and `INVALID_ACCESS_ERR`.

New features
New types
DOMTimeStamp

The `DOMTimeStamp` type was added to the Core module.