The Document Object Model (DOM) is a platform, a language-neutral application programming interface (API) that allows programs to access and change the content, structure, and style of a document.
The Document Object Model (DOM) is a platform, a language-neutral application programming interface (API) that allows programs to access and change the content, structure, and style of a document.
DOM tutorial
To learn more about the DOM, read our HTML DOM tutorial and XML DOM tutorial.
DOM level 0
DOM level 0 is not a W3C specification. It is merely a definition of equivalent functionality in Netscape Navigator 3.0 and Microsoft Internet Explorer 3.0.
Key players in the development of DOM are: ArborText, IBM, Inso EPS, JavaSoft, Microsoft, Netscape, Novell, the Object Management Group, SoftQuad, Sun Microsystems and Texcel.
W3C’s DOM Level 1 builds on this functionality.
DOM level 1
DOM level 1 focuses on HTML and XML document models. It contains document navigation and processing functions.
DOM Level 1 became a W3C Recommendation on October 1, 1998.
Working draft of second version on September 29, 2000.
DOM level 2
DOM Level 2 adds the Style Sheet Object Model to DOM Level 1 and defines functionality for manipulating style information attached to a document.
DOM level 2 also defines an event model and provides support for XML namespaces.
As a W3C Recommendation, the DOM Level 2 specification was published on November 13, 2000:
DOM Level 2 Core
DOM Level 2 core specifies an API for accessing and changing the content and structure of documents. This API also includes interfaces for XML.
DOM Level 2 HTML
DOM Level 2 HTML specifies APIs for manipulating the structure and content of HTML documents. (This part of the specification is still a working draft)
DOM Level 2 Views
DOM Level 2 specifies APIs for accessing and changing document views. A view is a representation associated with the original document or some alternative representation.
DOM Level 2 Style
DOM Level 2 Style specifies an API for dynamically accessing and changing content style sheets.
DOM Level 2 Events
DOM Level 2 Events specifies an API for accessing document events.
DOM Level 2 Traversal-Range
DOM Level 2 Traversal-Range specifies an API for dynamically traversing and identifying content ranges in a document.
DOM level 3
DOM Level 3 specifies content models (DTDs and Schemas) and document validation. Document loading and saving, document viewing, document formatting and key events are also specified. DOM Level 3 builds on DOM Core Level 2.
DOM Level 3 Requirements
The DOM Requirements document has been updated for Level 3 requirements and published as a working draft on April 12, 2000.
The following DOM Level 3 working draft was published on September 1, 2000:
DOM Level 3 Core
DOM Level 3 Core specifies an API for accessing and changing the content, structure and style of documents.
DOM Level 3 Events
DOM Level 3 Events API extends the functionality of Level 2 Event API by adding new interfaces and new event sets.
DOM Level 3 Load and Save
DOM Level 3 Content Model specifies APIs for content loading and saving, content models (DTD and Schemas) and document validation support.
DOM Level 3 Views and Formatting
DOM Level 3 Views specifies APIs for accessing and changing document views. A view is a representation associated with the original document or some alternative representation.
W3C DOM specification and timeline
Norms |
Draft/Proposal |
Recommended |
DOM Level 1
October 1, 1998
DOM Level 1 (SE)
September 29, 2000
DOM Level 2 Core
November 13, 2000
DOM Level 2 HTML
January 9, 2003
DOM Level 2 Views
November 13, 2000
DOM Level 2 Style
November 13, 2000
DOM Level 2 Events
November 13, 2000
DOM Level 2 Traversal-Range
November 13, 2000
DOM Level 3 Requirements
February 26, 2004
DOM Level 3 Core
April 7, 2004
DOM Level 3 Events
December 21, 2007
DOM Level 3 Load and Save
April 7, 2004
DOM Level 3 Validation
January 27, 2004
DOM Level 3 XPath
February 26, 2004
DOM Level 3 Views
February 26, 2004
W3C Reference
W3C DOM Home Page