Document Object Model: Difference between revisions

Content deleted Content added
rv, unexplained deletion
Bender the Bot (talk | contribs)
m Libraries: HTTP to HTTPS for SourceForge
 
(11 intermediate revisions by 10 users not shown)
Line 20:
}}
{{HTML}}
The '''Document Object Model''' ('''DOM''') is a [[cross-platform]]<ref name=":0" /> and [[Language-independent specification|language-independent]] interface[[API]] that treats an [[HTML]] or [[XML]] document as a [[tree structure]] wherein each [[Node (computer science)|node]] is an [[Object (computer science)|object]] representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document.<ref name=":0">{{Cite web |title=Document Object Model (DOM): definition, structure and example |url=https://www.ionos.com/digitalguide/websites/web-development/an-introduction-to-the-document-object-model-dom/ |access-date=2022-04-21 |website=IONOS Digitalguide |language=en}}</ref> Nodes can have [[event handler]]s (also known as event listeners) attached to them. Once an event is triggered, the event handlers get executed.<ref name="Introduction">{{cite web
| access-date = 2012-01-12
| publisher = W3C
Line 29:
The principal standardization of the DOM was handled by the [[World Wide Web Consortium]] (W3C), which last developed a recommendation in 2004. [[WHATWG]] took over the development of the standard, publishing it as a [[living document]]. The W3C now publishes stable snapshots of the WHATWG standard.
 
In HTML DOM (Document Object Model), every element is a node{{Clarification needed|reason=Clarify what this means, or, if it's simply a statement of nomenclature, then rewrite to make that explicit (e.g. is "called" a node)|date=August 2025}}:<ref>{{cite web | url=https://www.w3schools.com/js/js_htmldom.asp | title=JavaScript HTML DOM }}</ref>
 
* A document is a document node.
Line 149:
* [[Apache Xerces|Xerces]] is a collection of DOM implementations written in C++, Java and Perl
* [https://docs.python.org/3/library/xml.dom.html xml.dom] for [[Python (programming language)|Python]]
* XML for &lt;SCRIPT&gt; is a JavaScript-based DOM implementation<ref>{{cite web|url=httphttps://xmljs.sourceforge.net/|title=XML for <SCRIPT> Cross Platform XML Parser in JavaScript|access-date=23 September 2016}}</ref>
* [https://github.com/PhpGt/Dom PHP.Gt DOM] is a server-side DOM implementation based on [[libxml2]] and brings DOM level 4 compatibility<ref>{{cite web|url=https://php.gt/dom#features-at-a-glance|title=The modern DOM API for PHP 7 projects|date=5 December 2021}}</ref> to the [[PHP]] programming language
* [https://github.com/fgnass/domino/ Domino] is a Server-side (Node.js) DOM implementation based on Mozilla's dom.js. Domino is used in the [[MediaWiki]] stack with Visual Editor.