DOCUMENT OBJECT MODEL
(Redirected from 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.
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.
The World Wide Web Consortium (W3C) developed the ''W3C Document Object Model''[1] in response to the development of various proprietary models for HTML, particularly those used in Web browsers. The existing vendor-specific interfaces were dubbed ''intermediate DOMs''.
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.
''The W3C DOM'' specifications are divided into levels, each of which contains 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 don't 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 6 different specifications:
:# DOM Level 3 Core;
:# DOM Level 3 Load and Save;
:# DOM Level 3 XPath;
:# DOM Level 3 Views and Formatting;
:# DOM Level 3 Requirements; and
:# DOM Level 3 Validation, which further enhances the DOM
★ Document Object Model (DOM) Level 1 Specification
★ Level 2 Recommendations:
★
★ Document Object Model (DOM) Level 2 Core Specification
★
★ Document Object Model (DOM) Level 2 Views Specification
★
★ Document Object Model (DOM) Level 2 Events Specification
★
★ Document Object Model (DOM) Level 2 Style Specification
★
★ Document Object Model (DOM) Level 2 Traversal and Range Specification
★
★ Document Object Model (DOM) Level 2 HTML Specification
★ Level 3 Recommendations:
★
★ Document Object Model (DOM) Level 3 Core Specification
★
★ Document Object Model (DOM) Level 3 Load and Save Specification
★
★ Document Object Model (DOM) Level 3 Validation Specification
★ Level 3 Working Group Notes:
★
★ Document Object Model (DOM) Level 3 XPath Specification
★
★ Document Object Model (DOM) Level 3 Views and Formatting Specification
★
★ Document Object Model (DOM) Requirements
★ Working Draft
★
★ Window Object 1.0

Since each Web browser used to exclusively support 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 to greatly simplify 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, since non-conformant browsers such as Internet Explorer 4.x and Netscape 4.x were still widely used in 2000. As of 2005, large parts of W3C DOM are well-supported by common JavaScript-enabled Web browsers, including Microsoft Internet Explorer (version 5 (1999) and version 6 (2001)), Gecko-based browsers (like Mozilla and Firefox), Opera, Konqueror, and Safari. Web developers are starting to mostly or solely rely 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.
★ JAXP (Java API for XML Processing)
★ libxml2
★ MSXML
★ Xerces
★ DOM Events
★ getElementById - A special function that returns an element's reference.
★ 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.
★ Comparison of layout engines (DOM)
★ Ajax - A methodology employing DOM in combination with techniques for retrieving data without reloading a page.
★ ECMAScript
★ TinyXml - efficient lightweight platform-independent XML library for C++
★ W3.org on DOM
★ Technology Reports
★ Tutorials
★ What does your user agent claim to support?
★ What does each DOM Level bring?
★ About the W3C Document Object Model (MSDN)
★ W3C DOM scripts and compatibility tables (Quirksmode)
★ DevGuru XML DOM Quick Reference
★ Gecko DOM Reference (Mozilla Developer Center)
★ DOM Reference (Tellme)
★ IB DOM Utilities: Mapping JavaScript Objects to DOM Elements
★ Interfaces for ...
★
★ C++
★
★ Java - W3C Document Object Model Level 2
★
★ Lisp
★
★ Pascal (Kylix programming tool)
★
★ Perl
★
★ PHP
★
★ Python
★
★ Ruby
★
★ TCL
★
★ C
1. W3C Document Object Model (DOM)
The 'Document Object Model' ('DOM') is a platform- and language-independent standard object model for representing HTML or XML and related formats.
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.
| Contents |
| History |
| Levels |
| Specifications |
| Implementations |
| Web browsers |
| Other |
| See also |
| External links |
| References |
History
The World Wide Web Consortium (W3C) developed the ''W3C Document Object Model''[1] in response to the development of various proprietary models for HTML, particularly those used in Web browsers. The existing vendor-specific interfaces were dubbed ''intermediate DOMs''.
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 of which contains 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 don't 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 6 different specifications:
:# DOM Level 3 Core;
:# DOM Level 3 Load and Save;
:# DOM Level 3 XPath;
:# DOM Level 3 Views and Formatting;
:# DOM Level 3 Requirements; and
:# DOM Level 3 Validation, which further enhances the DOM
Specifications
★ Document Object Model (DOM) Level 1 Specification
★ Level 2 Recommendations:
★
★ Document Object Model (DOM) Level 2 Core Specification
★
★ Document Object Model (DOM) Level 2 Views Specification
★
★ Document Object Model (DOM) Level 2 Events Specification
★
★ Document Object Model (DOM) Level 2 Style Specification
★
★ Document Object Model (DOM) Level 2 Traversal and Range Specification
★
★ Document Object Model (DOM) Level 2 HTML Specification
★ Level 3 Recommendations:
★
★ Document Object Model (DOM) Level 3 Core Specification
★
★ Document Object Model (DOM) Level 3 Load and Save Specification
★
★ Document Object Model (DOM) Level 3 Validation Specification
★ Level 3 Working Group Notes:
★
★ Document Object Model (DOM) Level 3 XPath Specification
★
★ Document Object Model (DOM) Level 3 Views and Formatting Specification
★
★ Document Object Model (DOM) Requirements
★ Working Draft
★
★ Window Object 1.0
Implementations
Web browsers
DOM Inspector inspecting Wikipedia's main page
Since each Web browser used to exclusively support 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 to greatly simplify 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, since non-conformant browsers such as Internet Explorer 4.x and Netscape 4.x were still widely used in 2000. As of 2005, large parts of W3C DOM are well-supported by common JavaScript-enabled Web browsers, including Microsoft Internet Explorer (version 5 (1999) and version 6 (2001)), Gecko-based browsers (like Mozilla and Firefox), Opera, Konqueror, and Safari. Web developers are starting to mostly or solely rely 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
★ JAXP (Java API for XML Processing)
★ libxml2
★ MSXML
★ Xerces
See also
★ DOM Events
★ getElementById - A special function that returns an element's reference.
★ 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.
★ Comparison of layout engines (DOM)
★ Ajax - A methodology employing DOM in combination with techniques for retrieving data without reloading a page.
★ ECMAScript
★ TinyXml - efficient lightweight platform-independent XML library for C++
External links
★ W3.org on DOM
★ Technology Reports
★ Tutorials
★ What does your user agent claim to support?
★ What does each DOM Level bring?
★ About the W3C Document Object Model (MSDN)
★ W3C DOM scripts and compatibility tables (Quirksmode)
★ DevGuru XML DOM Quick Reference
★ Gecko DOM Reference (Mozilla Developer Center)
★ DOM Reference (Tellme)
★ IB DOM Utilities: Mapping JavaScript Objects to DOM Elements
★ Interfaces for ...
★
★ C++
★
★ Java - W3C Document Object Model Level 2
★
★ Lisp
★
★ Pascal (Kylix programming tool)
★
★ Perl
★
★ PHP
★
★ Python
★
★ Ruby
★
★ TCL
★
★ C
References
1. W3C Document Object Model (DOM)
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español