### [What is the Document Object Model?][1] > The Document Object Model (DOM) is an **application programming interface** (API) for valid HTML and well-formed XML documents. It defines the **logical structure** of documents and **the way a document is accessed and manipulated**. [...] Nevertheless, **XML presents this data as documents**, and the DOM may be used to manage this data. In other words, the DOM is not a string, but HTML/XML may represent the DOM as a string. ### DOM specs - [DOM Level 1][2] - [DOM Level 2 Core][3] - [DOM Level 2 Views][4] (Obsolete) - [DOM Level 2 Events][5] - [DOM Level 2 Style][6] - [DOM Level 2 Traversal and Range][7] - [DOM Level 2 HTML][8] - [DOM Level 3 Core][9] - [DOM Level 3 Load and Save][10] - [DOM Level 3 Validation][11] - [DOM Level 3 Events][12] - [DOM Level 3 XPath][13] - [DOM Level 4 Core][14] ### Useful references - [Quirks mode compatibility tables][15] - [MSXML DOM Reference][16] - [Gecko DOM Reference][17] - [The DOM in .NET][18] - [Document Object Model Wikipedia Article][19] [1]: http://www.w3.org/TR/DOM-Level-2-Core/introduction.html [2]: http://www.w3.org/TR/REC-DOM-Level-1/ [3]: http://www.w3.org/TR/DOM-Level-2-Core/ [4]: http://www.w3.org/TR/DOM-Level-2-Views/ [5]: http://www.w3.org/TR/DOM-Level-2-Events/ [6]: http://www.w3.org/TR/DOM-Level-2-Style/ [7]: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ [8]: http://www.w3.org/TR/DOM-Level-2-HTML/ [9]: http://www.w3.org/TR/DOM-Level-3-Core/ [10]: http://www.w3.org/TR/DOM-Level-3-LS/ [11]: http://www.w3.org/TR/DOM-Level-3-Val/ [12]: http://www.w3.org/TR/DOM-Level-3-Events/ [13]: http://www.w3.org/TR/DOM-Level-3-XPath/ [14]: http://www.w3.org/TR/domcore/ [15]: http://www.quirksmode.org/compatibility.html [16]: http://msdn.microsoft.com/en-us/library/ms766487.aspx [17]: https://developer.mozilla.org/en/gecko_dom_reference [18]: http://msdn.microsoft.com/en-us/library/hf9hbf87.aspx [19]: http://en.wikipedia.org/wiki/Document_Object_Model