Importare dati da Xml con Ajax (I Parte)
Pagina 1 di 3
Nei precedenti articoli abbiamo detto che una dellecaratteristiche peculiari delle tecnologie note come AJAX,è quella di spostare l’interazione tral’utente ed il server, dal lato dell’utente.Tutto ciò che convenzionalmente doveva essere fattocon una interazione client-server, e quindi con unricaricamento completo della pagina, adesso può esserein buona parte eseguito direttamente dal browserdell’utente.
Nel precedente articolo avevamo visto come modificare intempo reale il contenuto di una parte della pagina, eseguendotutte le varie fasi dell’aggiornamento direttamente nelbrowser dell’utente: un clic su un collegamento facevaeseguire al browser una richiesta di dati tramitel’oggetto XMLHTTPREQUEST, il browser stesso riceveva inrisposta i dati richiesti e si occupava di inserirliall’interno della pagina senza che nessun ricaricamentofosse necessario. Il metodo convenzionale di eseguire questaoperazione sarebbe stato richiedere al web server ilricaricamento dell’intera pagina, con all’internoi dati desiderati.
Nell’esempio del precedente articolo, i dati arrivavanoal browser sottoforma di codice HTML già formattatoper essere inserito all’interno di un blocco DIV, percui non c’era molto spazio per un utilizzo piùflessibile e versatile dei dati in esso contenuti. In questoesempio vedremo invece come ricevere i dati sottoforma difile XML, quindi per definizione privi di qualsiasiformattazione, che dovrà quindi essere inserita dalloscript che andremo a mostrare.
Il formato XML
Parlare di formato XML potrebbe sembrare una complicazioneinutile, tuttavia non è un caso la presenza della Xall’interno dell’acronimo AJAX, infatti ècon dati in formato XML che si ottiene il massimo da questatecnologia.
Nonostante una leggera complicazione addizionale nel gestirei dati in questo formato, l’utilizzo di XML porta moltivantaggi, ma soprattutto permette di fare cose che altrimentinon sarebbero possibili, se non a costo di implementarecomplesse soluzioni personalizzate. Ciò che si devecomprendere è che il formato XML è un modo dirappresentare dati in forma strutturata: in altre parole inun file XML sono presenti sia i dati, che le regole secondocui è possibile identificarli e distinguerli.
Quanto detto sopra è molto più semplice ecomprensibile con un esempio pratico. Si supponga di dovertrasmettere con un file di testo, un insieme di articoli,composti da un titolo, un corpo del testo, un collegamento adun’immagine e il nome della sezione di cui fa parte. Ilmetodo più istintivo di farlo sarebbe scrivereciascuno di tali elementi su un rigo, uno dietroall’altro, così da avere una sequenza di dati diquesto tipo:
- Articolo
- Sezione
- Titolo
- Corpo
- Immagine
- Articolo
- Sezione
- Titolo
- Corpo
- Immagine
In un file di testo di questo tipo, ci si affidaimplicitamente al concetto di nuova riga per distinguere ivari elementi, però se sostituiamo alle paroleSezione, Titolo, etc … il relativo contenutodell’articolo, ci si accorge ben presto che nonriusciamo ad identificare con facilità quale riga siail titolo o la sezione. Se poi pensiamo ad una sequenza moltopiù complessa ed eterogenea dei dati, allora il caosdiviene praticamente ingestibile.
Il problema della suddetta rappresentazione, è che nelfile di testo manca la struttura dei dati. Unarappresentazione in formato XML ci consente invece dirappresentare allo stesso tempo la struttura ed il contenutodei dati, così che un programma (nel nostro caso unoscript), possa accedere in modo semplice ed univoco al datonecessario. Vediamo come si presenta la rappresentazione XMLdi una serie di 4 articoli:
<?xml version="1.0" ?><root> <articolo sezione="EDITORIALE" titolo="Le molte reti dell'Africa" immagine="anziana_masai.jpg">Un'antica leggenda comune in molte zone dell'Africa asserisce che le streghe si radunano di notte sui grandi alberi isolati in mezzo ai campi. E' inutile pero' tentare di spiarle perche' sono riparate da una grande ragnatela con la quale ogni notte avvolgono la terra: un capo lo tengono in mano e gli altri passano su tutti gli alberi del mondo. Ecco perche' la mattina si possono talvolta trovare brandelli di ragnatele penzolanti dai rami o dai pali delle staccionate. </articolo> <articolo sezione="ARCHITETTURA" titolo="Citta'. Architettura e societa'" immagine="piano_rogers.jpg">Renzo Piano conferisce il Leone d'oro alla carriera a Richard Rogers: un evento forte e decisamente emozionante per aprire questa edizione della Biennale. Il mio primo viaggio “autonomo” fuori degli italici confini ha attraversato Parigi e proprio nel Centre Pompidou è nata contemporaneamente la mia fervente passione per l’architettura e l’arte contemporanea. </articolo> <articolo sezione="ARTE" titolo="Studio Azzurro ha fatto splash" immagine="pozzanghera_pic.jpg">Dal 21 Ottobre al 30 Novembre a Palazzo dell'Arengario a Monza Studio Azzurro presenta una installazione dedicata ai piu' piccoli e concepita per divenire itinerante. Il micropaesaggio interattivo per bambini, nato dalla collaborazione di Studio Azzurro con l'Assessorato alla Cultura del Comune di Monza e Babygella - marchio del gruppo farmaceutico Rottapharm -e' il risultato di un esperimento volto al dialogo con i piu' piccoli per consentire loro un approccio ludico e creativo all'arte.</articolo> <articolo sezione="ARTE E SOCIETA" titolo="La metafora indelebile del digitale" immagine="linz06_pic.jpg">Oltre ad essere innegabilmente divertente, l'installazione-workshop Random screen di Aram Bartholl mi pare sintetizzare almeno uno degli aspetti salienti della presente edizione del Festival di Arte. Tecnologia e Societa', dedicata al tema della Semplicita'. Il quadro di 4x4 pixels visualizzati nello stato 'on-off in modalita' random' denuncia il pregiudizio sempre piu' imperversante del 'digitale' nella Societa' dell'Informazione e della Conoscenza. </articolo></root>
Si nota subito che il formato XML consente di identificarefacilmente i vari articoli, perché racchiusiall’interno di una coppia di marcatori<articolo></articolo>.
Il nome della SEZIONE, il TITOLO, ed il collegamentoall’IMMAGINE sono gestiti come attributidell’elemento ARTICOLO. Mentre il corpodell’articolo stesso è gestito come testodelimitato dai due marcatori di inizio e fine. Ovviamente nonc’è un unico metodo per la rappresentazione dicerti dati, il formato è flessibile al punto dalasciare all’utente la scelta di come organizzare ipropri dati. Per esempio avremmo potuto rappresentare lasezione, il titolo e l’immagine come elementiall’interno di ARTICOLO, avendo quindi una oggetto diquesto tipo: <titolo>mio titolo</titolo>.
Poiché non sono oggetto di questo articolo, sitralasciano tutti i vari discorsi che dovrebbero essere fattisul formato XML e sulle metodologie di rappresentazione deidati. Per l’esempio che andremo a vedere, utilizzeremoil file XML sopra riportato, che non è sicuramente lascelta ottimale, ma si presta più che bene allo scopodell’articolo.
Dando una rapida scorsa al testo XML, è facileconvincersi che esso contiene sia i dati che ci servono, siala loro struttura. Per ora basti sapere che il vantaggio diusare un formato standard come XML, è che per estrarrei dati dalla struttura, ci vengono fornite funzioni standardmolto semplici da utilizzare.
- Articolo precedente Script per ridimensionare le immagini sul sito web da parte degli utenti in tempo reale
- Articolo successivo Effetti grafici su foto online: creare riflessi in modo automatico per qualsiasi immagine, regolandone anche l'opacità
