Document Object Model

Da Wikipedia, l'enciclopedia libera.
Rappresentazione ad albero del DOM di un semplice documento HTML

Il Document Object Model (spesso abbreviato come DOM), letteralmente modello a oggetti del documento, è una forma di rappresentazione dei documenti strutturati come modello orientato agli oggetti.

DOM è lo standard ufficiale del W3C per la rappresentazione di documenti strutturati in maniera da essere neutrali sia per la lingua che per la piattaforma. DOM è inoltre la base per una vasta gamma di interfacce di programmazione delle applicazioni; alcune di esse sono standardizzate dal W3C.

Esempio[modifica | modifica wikitesto]

Un classico esempio di albero DOM è quello generato da un browser web nell'interpretazione di un documento HTML.

Il seguente documento HTML:

<!-- My document -->
<html>
<head>
  <title>My Document</title>
</head>
<body>
= Header =
  <p>
    Paragraph
  </p>
</body>
</html>

avrebbe il seguente albero DOM:

Dom tree.png

È da notare che in questo esempio anche i cosiddetti caratteri blank (spazi, tabulazioni, ecc.) sono considerati elementi dell'albero, nonostante questi non vengano poi mostrati dal browser (a meno che non si trovino all'interno di un tag pre).

Caratteristiche[modifica | modifica wikitesto]

Nativamente supportato dai browser per modificare gli elementi di un documento HTML. DOM è un modo per accedere e aggiornare dinamicamente il contenuto, la struttura e lo stile dei documenti. Per le numerose incompatibilità dovute al diverso tipo di gestione di DOM dai vari browser, il W3C ha stabilito delle specifiche standard.

DOM non pone limitazioni alla struttura dei dati di un documento. DOM permette di visualizzare un documento ben formato sotto forma di albero: la maggior parte dei parser XML (come Xerces) e i processori XSL (per esempio Xalan) sono stati sviluppati per usare la struttura ad albero. Questa implementazione richiede che l'intero contenuto di un documento venga analizzato e salvato in memoria. DOM è utilizzato principalmente per recuperare informazioni da documenti con una strutturazione non standard, cioè dove gli elementi devono essere trovati in modo casuale. Per le applicazioni basate su XML che usano un processo di lettura e scrittura per analisi, DOM presenta un grande spreco di memoria; per questo tipo di applicazioni si consiglia di usare il modello SAX.

Livelli[modifica | modifica wikitesto]

Le specifiche DOM elaborate da W3C sono suddivise in livelli, ciascuno dei quali contiene moduli obbligatori o opzionali. Per sostenere di appartenere ad un certo 'livello', un'applicazione deve soddisfare tutti i requisiti di tale livello e dei livelli inferiori. La specifica attuale di DOM è al Livello 2, tuttavia alcune delle specifiche del Livello 3 ora sono già raccomandazioni del W3C.

Livello 0
include tutto quello che viene fornito a DOM per la creazione del Livello 1, per esempio: document.images, document.forms, document.layers, e document.all. Nota, questa non è una specifica convenzionale pubblicata dal W3C ma piuttosto dà un riferimento a che cosa esisteva prima del processo di standardizzazione.
Livello 1
navigazione di un documento DOM e manipolazione del contenuto.
Livello 2
supporto al Namespace XML, viste filtrate e Eventi DOM.
Livello 3
consiste in 6 specifiche differenti:
  1. il nucleo del Livello 3;
  2. caricamento e salvataggio del Livello 3;
  3. XPath del Livello 3;
  4. viste e formattazione del Livello 3;
  5. requisiti del Livello 3;
  6. validazione del Livello 3, che potenzia ulteriormente DOM.

Voci correlate[modifica | modifica wikitesto]

Specifiche[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]