Document Object Model (DOM) to specyfikacja interfejsu do dostępu do dokumentów HTML lub XML. Jest ona zdefiniowana przez konsorcjum World Wide Web.
Wdrożenie zgodne z niniejszą specyfikacją składa się z zestawu klas wraz z ich metodami i atrybutami w zakresie programowania obiektywnego. Pozwala programom komputerowym dynamicznie zmieniać zawartość, strukturę i układ dokumentu.
Wyznaczenie
Termin „Document Object Model“ jest rzeczywiście błędnym mianownikiem, ponieważ DOM nie jest zdefiniowany jako model, ale jako interfejs dla określonego dostępu do danych i jest również oznaczany przez W3C. Z drugiej strony sformułowanie nazwy podkreśla dobrze zdefiniowany model obiektu, na którym opiera się interfejs, którego ważność jest warunkiem ważności interfejsu zbudowanego na nim. Na wyższym poziomie abstrakcji interfejs jest również modelem, a mianowicie sposobem dostępu do obiektów lub danych.
Historia
DOM został pierwotnie stworzony pod wpływem co najmniej dwóch wydarzeń, które znacząco ukształtowały świat komputerów w niedawnej przeszłości. Oba są oparte na konieczności uzyskania dostępu do ustrukturyzowanych danych w dokumentach HTML i XML w prosty i jednolity sposób.
W połowie lat dziewięćdziesiątych XX wieku, kiedy World Wide Web stał się coraz bardziej popularny, wynaleziono język skryptowy JavaScript, a popularne przeglądarki internetowe od tego czasu zawierają tłumaczy, którzy prowadzą takie skrypty. JavaScript zdefiniował podstawowe sposoby dostępu do dokumentu HTML i obsługi zdarzeń. Później, różni producenci przeglądarek wynalazli różne dynamiczne modele HTML (DHTML), które pozwoliły na bardziej kompleksową zmianę struktury i wyglądu dokumentu, podczas gdy dokument jest wyświetlany w przeglądarce. Pierwsze standardy DOM W3C to więc próby połączenia, standaryzacji i ostatecznie zastąpienia różnych technik JavaScript i DHTML, które pojawiły się w czasie wojen przeglądarki. Udało się to, więc DOM obecnie odgrywa kluczową rolę w programowaniu JavaScript.
Jednocześnie XML pojawił się jako ogólny format wymiany dla czytelnej dla człowieka reprezentacji uporządkowanych danych, po sukcesie HTML. Przetwarzanie dokumentów XML wymagało zrozumiałego, potężnego i krzyżowego interfejsu programowania. DOM oferuje to, a także określa dodatkowe interfejsy dla wygodnej obsługi dokumentów XML.
Podstawy DOM oparte na przykładzie
Poniższy kod HTML definiuje tabelę z elementem tabeli i różnymi podelementami:
< tabela >
< głowa >
< tr >
< th > Imię < / th >
< th > Nazwa < / th >
< / tr >
< / głowa >
< tbody >
< tr >
< td > Donald < / td >
< td > Kaczka < / td >
< / tr >
< / tbody >
< / tabela >
Przetwarzanie dokumentu
W pierwszym kroku istniejący dokument jest odczytywany przez program i generowany jest obiekt dokumentu. Na podstawie tego obiektu można uzyskać dostęp do treści, struktury i prezentacji przy użyciu metod API.
W szczególności, DOM pozwala
nawigacja między poszczególnymi węzłami dokumentu,
generowanie, przemieszczanie i usuwanie węzłów; oraz
czytaj, modyfikuj i usuwaj zawartość tekstu.
Po zakończeniu przetwarzania nowy dokument XML lub HTML może być wygenerowany z obiektu dokumentu przez tzw. serializację.
Normalizacja DOM
DOM jest standardem W3C od 1998 roku i był wielokrotnie aktualizowany i rozszerzany. Istnieje kilka wersji (poziomów) każdy z różnych modułów:
DOM Poziom 0
Poziom ten nigdy nie został formalnie określony. Poziom 0 odnosi się do technik JavaScript- przydatnych do dostępu do dokumentów HTML. Zostały one wprowadzone przez przeglądarki internetowe, takie jak Internet Explorer i Netscape Navigator przed normalizacją DOM.
DOM Poziom 1
DOM Rdzeń definiuje ruch w drzewie DOM, manipulowanie węzłami, w tym wstawianie nowych elementów i ustawianie atrybutów.
DOM HTML to rozszerzenie dostępu do dokumentów HTML. Standaryzuje i uzupełnia już powszechną praktykę w oparciu o specyfikacje JavaScript Netscape i Microsoft JScript.
DOM Poziom 2
DOM Core: obejmuje rozszerzenie obsługi przestrzeni nazw XML
DOM HTML: Rozszerzenie na dokumenty XHTML, dostosowanie do DOM 2 Core
DOM Styl i DOM CSS umożliwiają dynamiczne czytanie, dodawanie i zmianę formatowania lub układu dokumentu poprzez arkusze stylów, w szczególności arkusze stylu Cascading (CSS).
DOM Przeglądy umożliwiają dostęp do informacji z określonych rodzajów powielania dokumentu (na przykład graficzna reprezentacja w przeglądarce internetowej). Jest to wykorzystywane głównie wraz z DOM CSS, aby dowiedzieć się, rzeczywiste wartości właściwości CSS niektórych elementów (na przykład, „Jaki kolor tła jest ten nagłówek?“).
DOM Wydarzenia standaryzuje przetwarzanie zdarzeń w dokumencie, takich jak działania użytkowników. Używane głównie w połączeniu z JavaScript podczas wyświetlania dokumentów HTML w przeglądarkach internetowych. Na podstawie modeli obsługi zdarzeń Netscape Navigator i Internet Explorer dokumentów HTML.
DOM Traversation and DOM Range: Uruchom przez drzewo węzłów przy użyciu określonych kryteriów wyboru, pracy z obszarami w dokumencie, które zawierają pewne elementy i węzły tekstowe
DOM Poziom 3
DOM 3 Baza: Kompleksowe udoskonalenie, w tym usprawnienie obsługi i obsługi kodów znaków
DOM 3 Load and Save umożliwia serializację dokumentów lub części dokumentów, jak również parsowanie dokumentów XML w łańcuchach do obiektów dokumentów. Ponadto dokumenty XML można wysyłać i pobierać za pośrednictwem HTTP, jak to możliwe przy użyciu bardziej znanej technologii XMLHttpRequest.
DOM 3 XPath umożliwia wybór węzłów na podstawie wyrażeń XPath.
DOM 3 Wydarzenia rozszerzają DOM 2 zdarzenia, w tym zdarzenia klawiszowe.
DOM 3 Walidacja pozwala sprawdzić, czy dokument DOM pozostaje ważny po zmianie dynamicznej (dodać lub usunąć węzły).
DOM 3 widoki i formatowanie pozwala na dynamiczny dostęp i zmianę treści, struktury i stylu.
DOM 3 Systemy abstrakcyjne
