Što je
Document Object Model ?
Document Object Model (DOM) su API
(application programming Interface) funkcije za HTML i XML
dokumente. On definira logičku strukturu dokumenta i način na koji
se pristupa dokumentu i manipulira s njim.
Sa DOM-om programer može stvarati dokumente i prolazeći kroz njegovu
strukturu mijenjati, dodavati te brisati njegove elemente i njegov
sadržaj. Svemu što se može naći u XML ili HTML dokumentu se
može pristupiti, mijenjati brisati upotrebljavajući Document Object
Model. Snaga DOM-a leži u tome što je on standard World Wide
Web Consortium-a. To će mu na kraju krajeva osigurati podržavanje
različitih platformi i preglednika. Razvoj DOM-a se poklapa sa
trendom interaktivnog sadržaja na webu. Jedini način da se to
ostvari je da se omogući dinamičko manipuliranje HTML-a odnosno
XML-a što Document Object Model svakako uvelike olakšava.
W3C specifikacije nam omogućuju
standardna programska sućelja koja možemo upotrebljavati u
različitim programskim okolinama i aplkacijama. DOM je dizajniran za
svaki programski jezik. Da osigura precizne specifikacije DOM
sućelja, neovisne o programskom jeziku W3C ih definira u OMG IDL-u.
U DOM-u dokumenti imaju logičku
strukturu koja je vrlo slična stablu (tree), ili zapravo šumi koja
može sadržavati više stabala. Svaki čvor na stablu predstavlja jedan
tag (oznaku) HTML-a ili tekst unutar oznake HTML-a. Takva struktura
precizno označava cijeli HTML dokument uključujući odnose između
tagova i tekstualnih unosa na stranici. Odnosi mogu biti tipa
child (dijete, potomak), parent (roditelj) ili
sibiling (brat). Pomoću child,
parent ili sibiling odnosa možemo se kretati po dokumentu lijevo
,desno ili gore, dolje jednostavno i intuitivno. Međutim DOM ne
zahtijeva da dokumenti moraju biti implementirani kao stablo niti
kakve su veze među objektima samog dokumenta. Važno
svojstvo DOM-a je strukturni izomorfizam , što znači da ako
su bilo koje dvije DOM implementacije upotrebljene za
reprezentaciju istog dokumenta one će imati jednaku strukturu sa
precizno jednakim objektima i vezama među njima.
Ime Document Object Model je izabrano
jer se radi o objektnom modelu u tradicionalno objektno
orijentiranom smislu: dokumenti se modeliraju upotrebom objekata.
Drugim riječima, čvorovi na gornjem dijagramu ne predstavljaju
podatke, nego objekte koji imaju svoj identitet i funkcije. Kao
objektni model DOM sadržava:
·sućelja i objekte koji se
upotrebljavaju za predstavljanje i manipuliranje objekata
·semantiku tih sućelja i objekata -
uključujući ponašanje i atribute
·odnose između tih sućelja i
objekata