Hierarchia obiektów w przykładowym HTML DOM

Obiektowy model dokumentu (Document Object Model, DOM) to 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. nodes).

Pierwotnie nie istniał standardowy model 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().

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 głównie do elementów formularzy i obrazków.
  • poziom pierwszy (DOM Level 1) - 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 (DOM Level 2) - 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 (DOM Level 3) - skÅ‚ada siÄ™ na niego sześć specyfikacji:
    • DOM Level 3 Core
    • DOM Level 3 Load and Save
    • DOM Level 3 XPath
    • DOM Level 3 Views and Formatting
    • DOM Level 3 Requirements
    • DOM Level 3 Validation

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 ([1]) i MS XML. Standard W3C definiuje interfejsy DOMu tylko dla języków JavaScript i Java.


edytuj Linki zewnętrzne