DOM - Obiektowy Model Dokumentu


Z Wikipedii, wolnej encyklopedii.

Obiektowy model dokumentu (Document Object Model, DOM) to sposób reprezentacji złożonych dokumentów XML i HTML w postaci modelu zorientowanego obiektowo.
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. nodes).
Pierwotnie nie istniał standardowy model DOM. Twórcy przeglądarek internetowych (wówczas praktycznie tylko Netscape i Microsoft) tworzyły 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().

Istnieje kilka tzw. poziomów DOM:
* nieoficjalny "poziom zerowy" ("DOM Level 0") - 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 wyłącznie do elementów formularzy.
* poziom pierwszy (DOM Level 1) - dostępny z poziomu JavaScriptu w przeglądarkach internetowych oraz w wielu językach programowania, a także w innych językach. Poziom ten odpowiada za dostęp do treści dokumentu poprzez tworzenie, modyfikowanie i dołączanie węzłów i atrybutów.
* poziom drugi (DOM Level 2) - dostępny we wszystkich współczesnych przeglądarkach internetowych oprócz Internet Explorera oraz w wielu językach programowania. Poziom ten odpowiada m. in. za obsługę zdarzeń i przestrzeni nazw.

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 i MS XML.
Standard W3C definiuje interfejsy DOMu tylko dla języków JavaScript i Java.
Przeglądarki internetowe często oprócz standardowego modelu DOM implementują także przestarzałe wersje Microsoftu lub Netscape.

do góry