XMLLe organizzazioni indipendenti che gestiscono l'evoluzione della rete svolgono una continua attività di ricerca e di definizione di nuovi standard. Tra questi il più importante è senza dubbio lo Extensible Markup Language (XML), il nuovo linguaggio di markup definito recentemente dal W3 Consortium, che promette di cambiare sostanzialmente l'architettura del Web |
Lo sviluppo di XML rappresenta la risposta a due esigenze: in primo luogo il potenziamento delle funzionalità di gestione editoriale e grafica dei documenti su Web; in secondo luogo la certificazione e il controllo del contenuto dei siti.
Sebbene la formalizzazione di HTML 4.0 abbia rappresentato una importante evoluzione, tuttavia essa non rappresenta una soluzione adeguata per ovviare ad alcuni importanti limiti di cui l'attuale architettura del Web soffre. La causa di tali limiti infatti risiede nel linguaggio HTML stesso.
Possiamo suddividere i problemi determinati da HTML in due categorie:
La prima categoria è relativa al modo in cui vengono rappresentati i documenti. La rappresentazione e la codifica dei dati sono il fondamento di un sistema di gestione dell'informazione. Da questo punto vista HTML impone notevoli restrizioni: in primo luogo si tratta di un linguaggio di rappresentazione chiuso e non modificabile; l'autore di un documento può soltanto scegliere tra un insieme prefissato di elementi, anche se la struttura del suo documento richiederebbe di esplicitarne altri, o di qualificarli in modo diverso. In secondo luogo si tratta di un linguaggio scarsamente strutturato e con una sintassi poco potente, che non consente di rappresentare esplicitamente informazioni altamente organizzate come ad esempio una descrizione bibliografica, un record di database o un sonetto petrarchesco; conseguentemente non può essere usato come sistema di interscambio per informazioni complesse. A questo si aggiunge la confusione determinata dalla presenza di istruzioni che hanno una funzione stilistica piuttosto che strutturale.
Un'ulteriore limitazione riguarda la definizione dei link ipertestuali. Si potrebbe dire che questo linguaggio di codifica usurpa il suo nome. Infatti è dotato di un solo tipo di collegamento ipertestuale, unidirezionale, che richiede che sia l'origine sia la destinazione siano esplicitate nei rispettivi documenti. La ricerca teorica e applicata sui sistemi ipertestuali, invece, ha individuato sin dagli anni settanta una complessa casistica di collegamenti ipertestuali, che corrispondono a diverse relazioni semantiche.
Da quelli rappresentazionali discendono i limiti operativi, che riguardano il modo in cui autori e lettori interagiscono con il sistema. In primo luogo il controllo sull'aspetto di un documento è assai limitato e rigido. Una pagina Web deve essere progettata per uno schermo dotato di determinate caratteristiche, con il rischio di avere risultati impredicibili su altri dispositivi di visualizzazione o nella stampa su carta. Inoltre HTML non consente di generare dinamicamente visualizzazioni differenziate di un medesimo documento in base alle esigenze del lettore. Questo permetterebbe, ad esempio, di ottenere diverse versioni linguistiche a partire da un unico documento multilingua; oppure, in un'applicazione di insegnamento a distanza, di mostrare o nascondere porzioni di un documento a seconda del livello di apprendimento dell'utente.
E ancora, la scarsa consistenza strutturale impedisce la generazione automatica e dinamica di indici e sommari. E per lo stesso motivo si riduce notevolmente l'efficienza della ricerca di informazioni su Web. I motori di ricerca, infatti, sono sostanzialmente sistemi di ricerca full-text, che non tengono conto della struttura del documento e restituiscono riferimenti solo a documenti interi.
Per superare questi limiti è stato proposto un vero e proprio salto di paradigma: la generalizzazione del supporto su Web allo Standard Generalized Markup Language (SGML). L'idea di base è molto semplice: HTML è una particolare applicazione SGML, che risponde ad alcune esigenze; perché non modificare l'architettura del Web per consentire di usare anche altre applicazioni SGML?
La possibilità di distribuire documenti elettronici in formato SGML garantirebbe ai fornitori di contenuti un notevole potere di controllo sulla qualità e sulla struttura delle informazioni pubblicate. Ogni editore elettronico potrebbe utilizzare il linguaggio di codifica che maggiormente risponde alle sue esigenze, a cui associare poi uno o più fogli di stile al fine di controllare la presentazione dei documenti pubblicati.
L'attuazione di questa rivoluzione, tuttavia, non è indolore:
Per superare questi ostacoli il W3C ha deciso di sviluppare un sottoinsieme semplificato di SGML, pensato appositamente per la creazione di documenti su Web: Extensible Markup Language (XML).
Il progetto XML ha avuto inizio alla fine del 1996, nell'ambito della SGML Activity del W3C, ma l'interesse che ha attirato sin dall'inizio (testimoniato da centinaia di articoli sulle maggiori riviste del settore) ha portato il W3C a creare un apposito gruppo di lavoro (XML Working Group), composto da oltre ottanta esperti mondiali delle tecnologie SGML, e una commissione (XML Editorial Review Board) deputata alla redazione delle specifiche. Dopo oltre un anno di lavoro, nel febbraio del 1998 le specifiche sono divenute una raccomandazione ufficiale, con il titolo Extensible Markup Language (XML) 1.0.
Come di consueto tutti i materiali relativi al progetto, documenti ufficiali, informazioni e aggiornamenti, sono pubblicati sul sito del consorzio.
La principale innovazione è l'introduzione del concetto formale di documento 'ben formato'. Un documento XML, di norma deve essere associato ad una DTD che ne specifichi la grammatica: se ne rispetta i vincoli esso è un documento 'valido'. Tuttavia, a differenza di SGML, XML ammette la distribuzione anche di documenti privi di DTD. Questi documenti, che sono appunto definiti 'ben formati', debbono sottostare ad alcuni vincoli ulteriori rispetto a quelli imposti alla sintassi di un documento SGML o XML valido (e dunque anche di un documento HTML): ad esempio è sempre obbligatorio inserire i marcatori di chiusura negli elementi non vuoti, gli elementi vuoti hanno una sintassi leggermente modificata, e sono vietati alcuni costrutti. Ciò riduce notevolmente la complessità di implementazione di un browser XML, e facilita l'apprendimento del linguaggio (le specifiche constano di venticinque pagine contro le cinquecento di SGML nello standard ISO). La semplificazione tuttavia non comporta incompatibilità: un documento XML valido è sempre un documento SGML valido (naturalmente non vale l'inverso). La trasformazione di un'applicazione o di un documento SGML in uno XML è (nella maggior parte dei casi) una procedura automatica.
L'interesse che la comunità degli sviluppatori di applicazioni e servizi Web ha dimostrato verso XML è stato decisamente superiore alle stesse aspettative del W3C, che si attendeva un periodo di transizione assai lungo verso la nuova architettura. In breve tempo le applicazioni XML si sono diffuse in ogni settore: dalla ricerca umanistica (la TEI sta approntando una versione XML compatibile della sua DTD), a quella chimica (con il Chemical Markup Language, un linguaggio orientato alla descrizione di strutture molecolari); dal commercio elettronico, alla realizzazione di applicazioni distribuite su Internet; dall'editoria on-line alle transazioni finanziarie. Ma soprattutto sin dall'inizio è stata resa disponibile una grande quantità di software (in gran parte gratuito) in grado di elaborare documenti XML: analizzatori sintattici (parser), editor, browser, motori di ricerca. Gran parte dell'interesse è dovuto al fatto che XML, oltre che come formato di rappresentazione dei dati da presentare agli utenti, può essere utilizzato come formato di scambio dati tra programmi in applicazioni middleware, trovando applicazione nell'area del commercio elettronico e del lavoro collaborativo. Si colloca in questo settore una applicazione sviluppata dalla Microsoft, insieme a Marimba, e sottoposta al W3C, Open Software Description (OSD), che permette di descrivere oggetti software scambiati in rete. OSD potrebbe aprire la strada alla manutenzione software distribuita.
Tra le tante applicazioni XML, una menzione particolare merita XHTML 1. Si tratta della ridefinizione in XML di HTML 4.0 realizzata dal W3C. Rispetto alla versione standard, essa si distingue per l'aderenza ai vincoli di well-formedness di XML, ma al contempo può essere estesa senza problemi. Lo scopo di questa versione infatti è proprio quello di facilitare la transizione degli sviluppatori di risorse Web da HTML a XML con un passaggio intermedio rappresentato da XHTML.
Un contributo non indifferente al successo di XML è dovuto all'interesse che questa tecnologia ha suscitato nelle maggiori protagoniste dell'arena Internet, Microsoft e Netscape.
La Microsoft ha mostrato una notevole attenzione sin dall'inizio, partecipando con un suo esponente, Jean Pauli, alla definizione del nuovo linguaggio (si veda ), e basando su di esso il suo Channel Definition Format (CDF), il linguaggio utilizzato nel sistema push integrato in Explorer sin dalla versione 4. Tale versione di Explorer (rilasciata a fine 1998) è stata la prima ad integrare un supporto generico a XML, ed è in grado di interpretare e visualizzare (mediante fogli di stile) documenti XML.
Anche Netscape, che inizialmente non aveva dimostrato molto interesse verso XML, sembra essere ritornata sui suoi passi. La versione 5 del suo browser, attualmente in fase di beta nell'ambito del progetto Mozilla, supporta in maniera piena e molto efficiente il nuovo standard, grazie a un ottimo parser scritto da James Clark (uno dei guru della comunità SGML).