Model d'Objectes del Document

De Viquipèdia
Dreceres ràpides: navegació, cerca

El Model d'Objectes del Document és una Interfície de Programació d’Aplicacions (API) per a documents HTML i XML, una convenció multiplataforma i independent del llenguatge de programació per a representar i interaccionar amb els objectes dels documents HTML, XHTML i XML. Proporciona una representació estructural del document, permetent al creador modificar el seu contingut i presentació visual. Essencialment, comunica les pàgines web amb els scripts o llenguatges de programació. La historia del Model d’Objecte de Document està estretament relacionada amb la història de la “Guerra de navegadors” de finals dels anys 1990 entre el Netscape Navigator i Microsoft Internet Explorer, i també amb la de JavaScript i JScript. Totes les propietats, mètodes i esdeveniments disponibles per a la manipulació i creació de pàgines web estan organitzats en els objectes (per exemple, l'objecte de document que representa el document en si, l'objecte de taula que representa un element de taula HTML, i així successivament). Aquests objectes són accessibles a través de llenguatge de script en la majoria dels últims navegadors web. El DOM s'utilitza molt sovint en combinació amb JavaScript. No obstant això, el DOM va ser dissenyat per ser independent de qualsevol llenguatge de programació en particular, proporcionant una representació estructural del document disponible a partir d'una única i consistent API. Les implementacions del DOM es poden construir per qualsevol idioma.

Jerarquia d'objectes en un exemple HTML DOM, Model d'Objectes del Document

Història[modifica | modifica el codi]

Llegat DOM[modifica | modifica el codi]

JavaScript va sortir de la mà de Netscape Communications Corporation el 1996 dins del Navegador de Netscape 2.0. El competidor de Netscape, Microsoft, va treure Internet Explorer 3.0 al mateix any en un port de JavaScript anomenat JScript. JavaScript i JScript van donar via lliure als desenvolupador de programari perquè creessin pàgines web amb interactivitat de Costat-client. Les facilitats limitades per descobrir esdeveniments generats per l’usuari i per modificar el document d’HTML en la primera generació d’aquestes llengües, aviat varen ser conegudes com a "DOM Level 0" o “Llegat DOM". Cap estàndard independent va ser desenvolupat per a DOM Level 0, però en part va ser descrit en l’especificació d’HTML 4. Llegat DOM va ser limitat en els tipus d'elements que es podia accedir. El formulari web, l’enllaç i els elements de la imatge van ser classificats amb un nom jeràrquic, d’aquesta manera l’objecte de document va començar a agafar forma. Un nom jeràrquic pot fer ús de qualsevol dels noms o l'índex seqüencial dels elements travessats. Per exemple, una caixa de text podria ser accessible com qualsevol "document.formName.inputName" o “document.forms.elements". El Llegat DOM va permetre la validació de formularis del costat del client i el popular efecte "rollover".

Intermedi DOM[modifica | modifica el codi]

El 1997, Netscape i Microsoft van llençar la versió 4.0 del Netscape Navigator i Internet Explorer respectivament, afegint suport per a Dynamic HTML (DHTML), la funcionalitat del qual permetia fer canvis a un document d’HTML un cop carregat. DHTML requereix unes extensions sobre l’objecte document rudimentari que estava disponible a les implementacions llegat DOM. Tot i que les implementacions del Llegat DOM eren en gran mesura compatibles des que JScript es basava en JavaScript, las extensions de DOM DHTML van ser desenvolupades paral·lelament per cada fabricant i seguirien sent incompatibles. Aquestes versions de DOM van ser conegudes com a " Intermediate DOM".

Estandardització[modifica | modifica el codi]

El World Wide Web Consortium (W3C), fundat el 1994 per promoure estàndards oberts per la World Wide Web, va ajuntar Netscape Communications y Microsoft amb altres empreses per desenvolupar un estàndard per navegadors d’escriptura de llenguatges, anomenat "ECMAScript." La primera versió de l’estàndard va ser publicada el 1997. Les següents versions de JavaScript y JSCRIPT implementarien l’estàndard ECMAScript per una major compatibilitat entre navegadors. Després de presentar ECMAScript, W3C va començar a treballar en un DOM estandarditzat. El primer estàndard DOM, conegut com a “DOM Level 1” va ser recomanat pel W3C a finals de 1998. Gairebé al mateix temps, Internet Explorer 5.0 es va embarcar en la creació d’un suport limitat per DOM Level 1. Aquest va proporcionar un model complet d’un document d’HTML o XML complet, incloent-hi els mitjans per canviar qualsevol part del document. Alguns navegadors com Internet Explorer 4.x i Netscape 4.x van ser molt usats fins a finals de l’any 2000. DOM Level 2 es va publicar a finals de l’any 2000. Això va introduir l’opció “getElementById" així com un model d'esdeveniments i el suport a espais de noms XML i CSS. DOM Level 3, la versió actual de l'especificació DOM, publicat a l’abril del 2004, afegeix suport per XPath i maneig d'esdeveniments de teclat, així com una interfície per serialització documents XML. DOM Level 4 s’està desenvolupant actualment. El projecte de la versió 6 va sortir al desembre de 2012.

Usos del DOM[modifica | modifica el codi]

Navegadors web[modifica | modifica el codi]

Per fer un document com una pàgina d’HTML, la major part de navegadors web utilitzen un model intern similar a DOM. Els nodes de tots els documents estan organitzats en una estructura arbòria, anomenat l'arbre DOM, amb el node superior anomenat "objecte Document". Quan una pàgina HTML que es representa als navegadors, el navegador descarrega el codi HTML a la memòria local i l’analitza automàticament per mostrar la pàgina a la pantalla. El DOM és també la forma en la que JavaScript transmet l'estat del navegador a pàgines HTML.

Implementacions[modifica | modifica el codi]

Motors de disseny[modifica | modifica el codi]

Els Navegadors web es basen en motors de disseny per analitzar HTML en un DOM. Alguns motors de disseny com Trident / MSHTML i Presto s'associen principalment o exclusivament amb un navegador com Internet Explorer i Opera, respectivament. D'altres, com WebKit i Gecko, són compartits per un nombre de navegadors, com Google Chrome, Firefox i Safari. Els diferents motors de disseny implementen els estàndards DOM variant els graus de compliment.

Biblioteques[modifica | modifica el codi]

DOM implementacions:

  • libxml2
  • MSXML
  • Xerces és un conjunt d’implementacions DOM escrit en C + +, Java i Perl
  • XML per <SCRIPT> és una implementació DOM basat en JavaScript API que exposen implementacions DOM:
  • JAXP (Java API for XML Processing) és una API per accedir als proveïdors de DOM

Referències[modifica | modifica el codi]

  • Flanagan, David (2006). JavaScript: The Definitive Guide. O'Reilly & Associates. pp. 312–313. ISBN 0-596-10199-6.
  • Koch, Peter-Paul (May 14, 2001). "The Document Object Model: an Introduction". Digital Web Magazine. Retrieved January 10, 2009.
  • Le Hégaret, Philippe (2002). "The W3C Document Object Model (DOM)". World Wide Web Consortium. Retrieved January 10, 2009.
  • Guisset, Fabian. "What does each DOM Level bring?". Mozilla Developer Center. Mozilla Project. Retrieved January 10, 2009.

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Model d'Objectes del Document Modifica l'enllaç a Wikidata