Model de obiect document

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Reprezentarea în arbore a DOM-ului unui document HTML simplu

În informatică , Document Object Model (adesea prescurtat ca DOM ), literalmente model obiect al documentului , este o formă de reprezentare a documentelor structurate ca un model orientat obiect . Este standardul oficial W3C pentru reprezentarea documentelor structurate pentru a fi neutre atât pentru limbă, cât și pentru platformă . Este, de asemenea, baza pentru o gamă largă de interfețe de programare a aplicațiilor , unele dintre ele standardizate de W3C.

Istorie

Istoria Modelului de obiecte document este împletită cu istoria „războaielor browserului” de la sfârșitul anilor 1990 între Netscape Navigator și Microsoft Internet Explorer , precum și cu cea a JavaScript și JScript , primele limbaje de scriptare care au fost implementate pe scară largă în motoarele JavaScript ale browserului web.

JavaScript a fost lansat de Netscape Communications în 1995 în cadrul Netscape Navigator 2.0. Concurentul Microsoft Netscape a lansat Internet Explorer 3.0 anul următor, cu o reimplementare a JavaScript numită JScript. JavaScript și JScript permit dezvoltatorilor web să creeze pagini web cu interactivitate client . Funcționalitatea limitată pentru detectarea evenimentelor generate de utilizatori și editarea documentului HTML în prima generație a acestor limbaje a devenit cunoscută sub numele de „DOM Level 0” sau „Legacy DOM”. Nu a fost dezvoltat niciun standard independent pentru nivelul DOM 0, dar a fost parțial descris în specificația pentru HTML 4.

DOM-ul vechi era limitat în tipurile de articole pe care le putea accesa. Puteți face referire la elemente de formă, link și imagine cu un nume ierarhic care începe cu obiectul document principal. Un nume ierarhic ar putea folosi numele sau indexul secvențial al elementelor parcurse. De exemplu, puteți accesa un element de introducere a formularului, cum ar fi document.formName.inputName sau document.forms[0].elements[0] .

DOM-ul vechi a permis validarea formularului în partea clientului și efectul popular „rollover”.

În 1997, Netscape și Microsoft au lansat versiunea 4.0 a Netscape Navigator și, respectiv, Internet Explorer, adăugând suport pentru funcția Dynamic HTML (DHTML) care permite modificarea unui document HTML încărcat. DHTML a necesitat extensii la obiectul document rudimentar care era disponibil în implementările DOM vechi. Deși implementările DOM vechi erau în mare parte compatibile, deoarece JScript se baza pe JavaScript, extensiile DOM DHTML au fost dezvoltate în paralel de fiecare producător de browser și au rămas incompatibile. Aceste versiuni ale DOM au devenit cunoscute sub numele de „DOM intermediar”.

După standardizarea ECMAScript , grupul de lucru W3C DOM a început să elaboreze o specificație standard DOM. Specificația completă, cunoscută sub numele de „DOM Level 1”, a devenit o recomandare W3C la sfârșitul anului 1998. În 2005, o mare parte din W3C DOM a fost bine susținută de browsere comune ECMAScript, inclusiv Microsoft Internet Explorer versiunea 6 (din 2001), Opera , Safari și Gecko (cum ar fi Mozilla, Firefox, SeaMonkey și Camino).

Descriere

Susținut în mod nativ de browsere pentru a modifica elementele unui document HTML , DOM este o modalitate de a accesa și actualiza dinamic conținutul, structura și stilul documentelor. Pentru numeroasele incompatibilități datorate tipului diferit de gestionare a DOM de către diferitele browsere, W3C a stabilit specificații standard.

DOM nu pune limitări asupra structurii datelor unui document. DOM vă permite să vizualizați un document bine format sub forma unui arbore: majoritatea analizelor XML (cum ar fi Xerces ) și procesoarele XSL (cum ar fi Xalan ) au fost dezvoltate pentru a utiliza structura arborelui. Această implementare necesită ca întregul conținut al unui document să fie analizat și salvat în memorie. DOM este utilizat în principal pentru a extrage informații din documente cu o structură nestandardizată, adică unde elementele trebuie găsite aleatoriu. Pentru aplicațiile bazate pe XML care utilizează un proces de citire și scriere pentru analiză, DOM prezintă o mare pierdere de memorie; pentru acest tip de aplicații se recomandă utilizarea modelului SAX .

Nivele

Specificațiile DOM dezvoltate de W3C sunt împărțite în niveluri, fiecare dintre ele conținând module obligatorii sau opționale. Pentru a pretinde că aparține unui anumit „nivel”, o aplicație trebuie să îndeplinească toate cerințele de la acel nivel și mai jos. Specificația DOM actuală este de nivelul 2 , cu toate acestea unele dintre specificațiile de nivel 3 sunt acum recomandări W3C.

Nivelul 0
include tot ce este furnizat DOM pentru crearea nivelului 1, de exemplu: document.images , document.forms , document.layers și document.all . Rețineți, aceasta nu este o specificație convențională publicată de W3C, ci oferă mai degrabă o referință la ceea ce exista înainte de procesul de standardizare.
Nivelul 1
navigarea unui document DOM și manipularea conținutului.
Nivelul 2
Suport XML pentru spațiul de nume , vizualizări filtrate și evenimente DOM .
Nivelul 3
constă din 6 specificații diferite:
  1. nucleul nivelului 3;
  2. încărcarea și salvarea nivelului 3;
  3. XPath de nivelul 3;
  4. Vizualizări și formatare de nivel 3;
  5. Cerințe de nivel 3;
  6. Validarea nivelului 3, care îmbunătățește și mai mult DOM.

Exemplu

Un exemplu clasic de arbore DOM este cel generat de un browser web în interpretarea unui document HTML .

Următorul document HTML:

 <! - Documentul meu ->
< HTML >
< CAP >
  < TITLE > Documentul meu </ TITLE >
</ HEAD >
< CORP >
  < H1 > Antet </ H1 >
  < P >
    Paragraf
  </ P >
  < P >
    Paragraf
  </ P >
</ BODY >
</ HTML >

ar avea următorul arbore DOM:

DOMExample.png

Trebuie remarcat faptul că, în acest exemplu, așa-numitele caractere goale (spații, file etc.) sunt considerate elemente ale arborelui, deși acestea nu sunt apoi afișate de browser (cu excepția cazului în care se află într-o etichetă prealabilă ).

Elemente conexe

Specificații

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh2006005140 · GND (DE) 4680714-7
Internet Portal internet : accesați intrările Wikipedia care se ocupă de internet