Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Document Object Model
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Implementations== Because the DOM supports navigation in any direction (e.g., parent and previous sibling) and allows for arbitrary modifications, implementations typically buffer the document.<ref>{{Cite book|url=https://books.google.com/books?id=HuSQGrRY7F4C|title=Ajax Black Book, New Edition (With Cd)|last=Kogent Solutions Inc.|publisher=Dreamtech Press|year=2008|isbn=978-8177228380|pages=40}}</ref> However, a DOM need not originate in a serialized document at all, but can be created in place with the DOM API. And even before the idea of the DOM originated, there were implementations of equivalent structure with persistent disk representation and rapid access, for example [[DynaText]]'s model disclosed in <ref>{{cite patent| country = USA| number = 5557722A| invent1 = Steven DeRose| invent2 = Jeffrey Vogel| status = Expired| title = Data processing system and method for representing, generating a representation of and random access rendering of electronic documents | pubdate = 1996-09-17}}</ref> and various database approaches. ===Layout engines=== Web browsers rely on [[web browser engine|layout engine]]s to parse HTML into a DOM. Some layout engines, such as [[Trident (layout engine)|Trident/MSHTML]], are associated primarily or exclusively with a particular browser, such as Internet Explorer. Others, including [[Blink (layout engine)|Blink]], [[WebKit]], and [[Gecko (layout engine)|Gecko]], are shared by a number of browsers, such as [[Google Chrome]], [[Opera (web browser)|Opera]], [[Safari (web browser)|Safari]], and [[Firefox]]. The different layout engines implement the DOM standards to varying degrees of compliance. ===Libraries=== DOM implementations: * [[libxml2]] * [[MSXML]] * [[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 <SCRIPT> is a JavaScript-based DOM implementation<ref>{{cite web|url=http://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. * [https://github.com/wooly905/SimpleHtmlDom/ SimpleHtmlDom] is a simple HTML document object model in C#, which can generate HTML string programmatically. APIs that expose DOM implementations: * [[Java API for XML Processing|JAXP]] (Java API for XML Processing) is an API for accessing DOM providers * [[Lazarus (IDE)|Lazarus]] ([[Free Pascal]] IDE) contains two variants of the DOM - with UTF-8 and ANSI format Inspection tools: * [[DOM Inspector]] is a web developer tool
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Document Object Model
(section)
Add topic