Accueil Ajax XUL JavaScript CSS HTML 5 FAQ-Forum

DOM - Document Object Model

Interfacer les langages de programmation avec les documents XML
en les associant avec un modèle orienté objet.
Ce document à été écrit à partir de la documentation W3C.

DOM est une spécification W3C finale qui peut être implémentée sans avoir à craindre de modifications ultérieures.

Sommaire

Le but de DOM

Selon le W3C: "DOM permet aux programmes et scripts d'accéder et de modifier dynamiquement le contenu, la structure et le style de documents XML ou HTML".

De quoi est constitué DOM?

Le programmeur dispose d'objets, qui ont des propriétés, des, méthodes et des évènements qui interfacent le document XML ou HTML.
En résumé:
- un ensemble d'objets,
- un modèle pour la façon dont ces objets peuvent être combinés,
- et une interface pour y accéder les manipuler.

DOM XML et HTML

Le coeur de DOM fournit:
1) les interfaces fondamentaux pour représenter tout document structuré.
2) des interfaces étendus qui représentent les documents xml.
La version XML doit implémenter à la fois l'interface xml et l'interface fondamentale.
La version HTML fournit:
1) l'interface fondamentale comme ci-dessus,
2) l'interface étendue pour les documents html.

Comment utiliser DOM?

A travers les objets et leurs attributs et méthodes.

Document

Document est un objet DOM correspondant à la page en cours. Toutefois certaines balises comme <iframe>, <browser> et <tabbrowser> peuvent introduire de nouveaux documents.

Méthodes statiques essentielles et attributs

Méthodes dynamiques essentielles

Exemple d'utilisation avec JavaScript

var anchorList = document.getElementsByTagName("a") ; 
for (var i = 0; i < anchorList.length ; i++)
{ 
 alert("href: " + anchorList[i].href + "\n"); 
}

Cet exemple parse une page web pour trouver des liens et les afficher.
- document est un objet défini dans le coeur de dom pour représenter le document.
- getElementsByTagName est une méthode de l'objet qui construit un tableau avec chaque balise correspondant au paramètre, "a" en l'occurrence.
- href est une propriété du DOM HTML.
- anchorList est une variable déclarée.

Termes relatifs à DOM

DOM implementation
Programme qui prend un document, XML or HTML, déja parsé, et le met à disposition de l'interface dom.

DOM application
Un programme qui peut accéder le document par l'interface DOM.
Un script à l'intérieur d'une page web est une application DOM.

IDL
(Interface Definition Language)
La définition de l'interface pour DOM est écrit dans un langage nommé Object Management Group Interface Definition Language (OMG IDL).
Des portages existent pour ECMAScript, Java, et peuvent être écrits pour tout langages.

DOM et SAX (Simple Api for XML)

DOM et sax sont deux moyens de parser un document xml et en utiliser le contenu. DOM est le plus simple, le plus intuitif. Sax est plus rapide et consomme moins de mémoire.
- DOM charge le document en mémoire sous forme d'arborescence et permet au programmeur d'appliquer des fonctions sur les éléments de l'arbre.
- Sax est orienté évènements. Il associe des méthodes aux balises, elles sont activées quand les balises sont atteintes lors de la lecture. Les éléments sont lus en séquence, une seule fois. Il faut fournir son propre modèle de document, alors qu'il en est fourni un avec DOM.
Si vous voulez traiter un document avec des scripts, dom est plus pratique.

Niveaux de DOM

Il y a plusieurs niveaux dans la spécification DOM

DOM 1

Il permet d'accéder au contenu d'un document XML ou HTML.

DOM 2

Le niveau 2 ajoute:

  • Des espaces de nom XML,
  • Des vues filtrées,
  • Des intervalles,
  • Des évènements,
  • etc.

    DOM 3

    Le niveau 3 est en cours...
    Une interface de requêtes est attendu ainsi que le chargement et la sauvegarde.
    Pour plus de détails de ce que va apporter le niveau 3, cliquer ici.


    Références