Search: in
Document Object Model
Document Object Model Encyclopedia
  Tutorials     Encyclopedia     Dictionary     Directory  
Document Object Model Email this to a friend      Document Object Model

Document Object Model

Hierarchy of objects in an example HTML DOM - Document Object Model
Hierarchy of objects in an example HTML DOM - Document Object Model
The Document Object Model (DOM) is a platform- and language-independent standard object model for representing HTML or XML and related formats.

A web browser is not obliged to use DOM in order to render an HTML document. However, the DOM is required by JavaScript scripts that wish to inspect or modify a web page dynamically. In other words, the Document Object Model is the way JavaScript sees its containing HTML page and browser state.

Because the DOM supports navigation in any direction (e.g., parent and previous sibling) and allows for arbitrary modifications, an implementation must at least buffer the document that has been read so far (or some parsed form of it). Hence the DOM is likely to be best suited for applications where the document must be accessed repeatedly or out of sequence order. If the application is strictly sequential and one-pass, the SAX model is likely to be faster and use less memory. In addition, non-extractive XML parsing models, such as VTD-XML, provide a new memory-efficient option.

Contents


History

W3C began development of the DOM in the mid-1990s. Although the W3C never produced a specification for DOM 0, it was nonetheless a partially documented model and was included in the specification of HTML 4. By October 1998, the first specification of DOM (DOM 1) was released. DOM 2 was issued in November 2000, with specifics on the style sheet object model and style information manipulation. DOM 3 was released in April 2004 and is the current release of the DOM specification.

Levels

The W3C DOM specifications are divided into levels, each containing required and optional modules. To claim to support a level, an application must implement all the requirements of the claimed level and the levels below it. An application may also support vendor-specific extensions which do not conflict with the W3C standards. As of 2005, Level 1, Level 2, and some modules of Level 3 are W3C Recommendations which means they have reached their final form.

Level 0
The application supports an intermediate DOM, which existed before the creation of DOM Level 1. Examples include the DHTML Object Model or the Netscape intermediate DOM. Level 0 is not a formal specification published by the W3C but rather a shorthand that refers to what existed before the standardization process.
Level 1
Navigation of DOM (HTML and XML) document (tree structure) and content manipulation (includes adding elements). HTML-specific elements are included as well.
Level 2
XML namespace support, filtered views and events.
Level 3
Consists of six different specifications:
  1. DOM Level 3 Core;
  1. DOM Level 3 Load and Save;
  1. DOM Level 3 XPath;
  1. DOM Level 3 Views and Formatting;
  1. DOM Level 3 Requirements; and
  1. DOM Level 3 Validation, which further enhances the DOM

Implementations

Web browsers

Firefox's DOM Inspector inspecting Wikipedia's main page
Firefox's DOM Inspector inspecting Wikipedia's main page
Earlier, when each Web browser exclusively supported its own intermediate DOM, interoperability problems were numerous. In order to be cross-browser compatible, that is, support multiple browsers, large parts of Dynamic HTML code had to be rewritten for each browser to be supported. A common DOM promised substantial simplification of the development of complex Web applications.

W3C DOM Level 1 has been a recommendation since 1 October 1998. The standardization effort did not bring forth an immediate change, because non-conformant browsers such as Internet Explorer 4.x and Netscape 4.x were still widely used in 2000. By 2005, large parts of W3C DOM were well-supported by common JavaScript-enabled Web browsers, including Microsoft Internet Explorer (version 5 (1999) and version 6 (2001)), Gecko-based browsers (like Mozilla, Firefox and Camino), Konqueror, Opera, and Safari. Web developers are starting to rely mostly or solely on W3C DOM, since it allows browser compatibility with a large audience .

The article Comparison of layout engines (DOM) shows which methods and attributes may be used safely given certain browser requirements.

Other

References

See also

  • DOM Events
  • DOM scripting
  • VTD-XML - A non-extractive XML processing model supporting random access and XPath
  • SAX - A set of APIs for accessing and manipulating XML documents in a sequential manner.
  • JDOM - A Java-based document object model for XML that integrates with DOM and SAX and uses parsers to build the document.
  • SXML - a model for representing XML and HTML in the form of S-expressions
  • Comparison of layout engines (DOM)
  • Ajax - A methodology employing DOM in combination with techniques for retrieving data without reloading a page.
  • ECMAScript
  • TinyXml - efficient platform-independent XML library for C++

External links

Specifications

af:Document Object Model ca:Model d'Objectes del Document cs:Document Object Model de:Document Object Model es:Document Object Model fa:??? ??????? ??? fr:Document Object Model ko:?? ?? ?? id:Document Object Model it:Document Object Model he:Document Object Model hu:Document Object Model mk:DOM nl:Document Object Model ja:Document Object Model no:Document Object Model pl:Obiektowy model dokumentu pt:Modelo de Objeto de Documentos ru:DOM fi:Document Object Model sv:Document Object Model th:Document Object Model vi:DOM tr:Document Object Model tk:DOM uk:??'????? ?????? ????????? zh:??????





Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article



Related Links in Document Object Model

Search for Document Object Model in Tutorials
Search for Document Object Model in Encyclopedia
Search for Document Object Model in Dictionary
Search for Document Object Model in Open Directory
Search for Document Object Model in Store
Search for Document Object Model in PriceGig


Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor

Advertisement

Advertisement



Document Object Model
Document Object Model top Document Object Model

Home - Add TutorGig to Your Site - Disclaimer

©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement