Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Parsing SAX e parsing DOM :: Indice Php

Parsing SAX e parsing DOM

Categoria: Php Inserito il: 04-01-2006 Stampa (8956 click)

I parser si distinguono tra loro per tipologia di rappresentazione dei dati, principalmente abbiamo due tipi di parser per XML:

  • SAX: acronimo di Simple API for XML.
  • DOM: acronimo di Document Object Model.
Per coloro che non avessero pratica dell'argomento, diremo che API è l'acronimo di Application Program(ming) Interface, con esso viene indicato un insieme di procedure disponibili per il lavoro dello sviluppatore; solitamente queste procedure vengono raggruppate in modo da creare un set di strumenti specifici per svolgere una certa mansione.
Le API consentono di evitare che un programmatore debba necessariamente scrivere le funzioni che gli servono da zero.

I parser SAX sono basati sulle "sequenze di eventi". Dato un file XML, essi lo scorrono per intero un carattere dopo l'altro; SAX non produce una rappresentazione di ciò che legge, ma memorizza soltanto gli eventi che lo sviluppatore decide di allocare ed esegue unicamenete le azioni relative a quell'evento.

Gli eventi di un parsing SAX sono fondamentalmente tre: l'incontro con un tag d'apertura (start element), l'incontro con un contenuto (text) e l'incontro con un tag di chiusura (end element); ad ognuno di essi potrà essere associato o meno un determinato evento.

I parser DOM sono stati concepiti secondo criteri completamente differenti rispetto a quelli utilizzati per SAX; se quest'ultimo "legge" un file isolandone i tag e gli eventi ad essi correlati, in DOM, invece, i documenti vengono letti come se fossero delle strutture gerarchiche ad albero.
Con DOM un file viene interamente caricato nella memoria, dopo di che sarà possibile effettuare le operazioni volute.

In un meccanismo del genere, ogni elemento del file si trasforma in un nodo che è la struttura di base del DOM, ogni altra struttura è ottenuta come specializzazione dell'interfaccia org.w3c.dom.Node e supporta tre tipi di operazioni: cessione di informazioni su un nodo, attraversamento della gerarchia e modifica dei nodi.
L'interfaccia mette a disposizione dei metodi per la lettura, la modifica della gerarchia e l'analisi delle proprietà di ciascun nodo.

Quindi, volendo rappresentare graficamente un albero gerachico di DOM potremmo immaginare una struttura del genere:
<?xml version="1.0" encoding="iso-8859-1"?>
<document>
<primogenito>
<secondo_figlio/>

</primogenito>
</document>
Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Funzioni PHP per Apache II
La funzione apache_lookup_uri() viene utilizzata per eseguire una richiesta parziale della URI specificata come parametro e ne restituisce le relative... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti