DOM stands for Document Object Model. It is a programming API for HTML and XML documents. It is used to define the logical structure of documents and the way a document can be manipulated and accessed. In the DOM specification, the term "document" is used in the broad sense - XML is used as a way of representing many different kinds of information, and this information then can and may be stored in diverse systems. Rather then being seen as documents it would technically be seen instead as data, but XML presents the data given as documents. The DOM will then be used to manage all of the data given. With the Document Object Model, programmers can create and build documents, add, delete, or modify elements and its content, and navigate their structure without a hassle. Anything found in an HTML or XML document can be accessed, added, deleted, or changed using the Document Object Model, with a few exceptions- the DOM interfaces for the internal subset and external subset have not yet been specified. As a W3C specification, one huge important objective of the DOM is to provide a standard programming interface that can be used in a various applications and web designs.
In the Document Object Model, documents have a logical structure which is very much like a tree; to be more exact it is like a “forest” it has many trees that are there. The Document Object Model does not specify that documents be portrayed as a tree or a forest, it also does not specify how the relationships among objects can be implemented in any way. The object model specifies the logical model for the programming interface, and this logical model may be programed in any way that a particular implementation finds convenient. In this specification, we use the term “structure model” to describe the tree-like representation of a document; we specifically avoid terms like forest or tree, so we do not imply that things are set in stone...