w3qc.org

w3qc.org

Qu'est-ce que le DOM W3C? – W3QCwiki

Contribution de Yan Morin, novembre 2005

Définition

Le DOM ou Document Object Model est une spécification qui décrit, en utilisant le modèle orienté objet, les éléments qui se retrouvent dans un document HTML ou XML.

À quoi ça sert?

Des langages de programmation peuvent utiliser et implémenter ce modèle pour manipuler des documents. On pense tout de suite au langage Javascript integré dans les navigateurs. Il existe toutefois des implémentations en Java ou PHP à titre d’exemple.

Chaque élément d’un document comme les commentaires, attributs, balises, liens, ainsi que le document lui-même sont représentés par un nom d’objet ou un nom d’attribut.

Le DOM décrit aussi certaines méthodes qui permettent d’accéder à des objets ou de modifier la structure du document. Par exemple, la méthode getElementById() de l’objet document permet de sélectionner un « Element » à l’aide d’un identifiant (attribut id). Après la sélection, on pourrait ajouter une balise à l’intérieur de cet élément avec la méthode appendChild().

Les interfaces, méthodes et attributs décrits dans le DOM sont donc utilisés dans des scripts pour modifier l’affichage ou le comportement normal d’un document.

  • Image des nœuds qui constitue un document
  • Schéma UML d’un objet du DOM
  • Affichage de l’élément HTMLImageElement

Pour apporter de l’eau au moulin du DOM

Il existe plusieurs normes pour le DOM définies par le W3C.

 * DomGecko (http://domgecko.no-ip.org:8080/index.php) * Document Object Model (DOM) Level 1 Specification (http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/) * DOM L2 Core - English (http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/Overview.html) * DOM Level 2 Core - Français (http://www.yoyodesign.org/doc/w3c/dom2/core/core.html) * DOM Level 2 HTML - English (http://www.w3.org/TR/DOM-Level-2-HTML) * DOM Level 2 HTML - Français (http://www.yoyodesign.org/doc/w3c/dom2/html/html.html) * DOM Level 3 Core - Recommandation (http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/)