Introduction à DOM

Qu'est-ce que 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".

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é:

  1. Un ensemble d'objets,
  2. un modèle pour la façon dont ces objets peuvent être combinés,
  3. et une interface pour y accéder les manipuler.

Histoire de DOM

La première description de l'interface faisait partie de HTML 4 et on peut parler de DOM Level 0 et date de 1997.
L'apparition du HTML dynamique en 1997 sur Netscape et Internet Explorer on donné lieu à une définition DOM connue comme DOM intermédiaire.
Le W3C a été fondé en 1994 pour promouvoir les standards du Web. C'est en 1998 qu'il établit la première spécification de DOM dite Level 1.
DOM Level 2 est apparu en 2000.

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 HTML doit implémenter à la fois l'interface XML et une interface étendue pour les documents HTML.

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.

Objets et méthodes

L'objet Document

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

Les méthodes et attributs de document:

Les méthodes de modification essentielles:

Comment utiliser DOM avec JavaScript?

DOM est une API, un ensemble de fonctions reconnues par JavaScript et donc une interface faite d'objets avec leurs attributs et méthodes.
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.

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.

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
DOM Core Level 1 est la première spécification du standard.. Il permet d'accéder au contenu d'un document XML ou HTML.

DOM 2
DOM Level 2 ajoute de nombreuses méthodes aux interfaces déjà définies dans le niveau 1. Dont getElementById, très utilisée. Le niveau 2 ajoute: des espaces de nom XML, des vues filtrées, des intervalles, des évènements, etc.
HTMLDocument et XMLDocument sont des suppléments propres aux documents de type HTML et XML.

DOM 3
DOM Level 3 ajoute de nouvelles interfaces, de nouveaux types de données et des méthodes aux interfaces de DOM 2.
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 voir en références.

Références

© 2009-2012 Xul.fr