w3qc.org

w3qc.org

Qu'est-ce que le DOM? – W3QCwiki

par Yan Morin

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. 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/)