thumb|upright=1.2|Hierarchia obiektów w przykładowym HTML DOM Obiektowy model dokumentu (, ) – sposób reprezentacji złożonych dokumentów XML i HTML w postaci modelu obiektowego. Model ten jest niezależny od platformy i języka programowania.
Standard W3C DOM definiuje zespół klas i interfejsów, pozwalających na dostęp do struktury dokumentów oraz jej modyfikację poprzez tworzenie, usuwanie i modyfikację tzw. „węzłów” (ang. ).
Dla większości języków programowania istnieją biblioteki obsługujące DOM dla plików XML. Najbardziej zaawansowane z nich to Apache Xerces (http://xml.apache.org/) i MS XML. Standard W3C definiuje interfejsy DOM tylko dla języków JavaScript i Java.
Standaryzacja Pierwotnie nie istniał standardowy DOM. Twórcy najpopularniejszych przeglądarek internetowych (Netscape i Microsoft) tworzyli własne niezgodne ze sobą modele o interfejsie programistycznym opartym na kolekcjach odpowiednio: document.layers i document.all.
Organizacja W3C przygotowała ujednolicony standard obiektowego modelu dokumentu, wewnętrznie podobny do wersji Microsoftu, choć o innym interfejsie programistycznym – dostęp do elementów dokumentu możliwy jest tu poprzez wywołanie odpowiedniej metody – np. document.getElementById.
Poziomy DOM thumb|upright=1.5|WHATWG DOM Istnieje kilka tzw. poziomów DOM:
nieoficjalny „poziom zerowy” () – model DOM z przeglądarki Netscape Navigator 3.0, skopiowany przez Microsoft i zaimplementowany we wszystkich przeglądarkach internetowych, mimo że nie stanowi oficjalnego standardu W3C. Zapewnia prosty dostęp głównie do elementów formularzy i obrazków.
poziom pierwszy () – dostępny z poziomu JavaScriptu w przeglądarkach internetowych oraz w wielu innych językach programowania. Poziom ten odpowiada za dostęp do treści dokumentu poprzez tworzenie, modyfikowanie i dołączanie węzłów i atrybutów.
poziom drugi () – dostępny w większości współczesnych przeglądarek internetowych oraz w wielu językach programowania. Poziom ten odpowiada m.in. za obsługę zdarzeń i przestrzeni nazw.
poziom trzeci () – składa się na niego sześć specyfikacji:
Przypisy
Linki zewnętrzne W3C DOM
Kategoria:XML Kategoria:HTML