EH - Esposizione interattiva di xHTML etc.   Indici:   Pagine   Panoramica   Termini   Problemi   Esempi

Rapida introduzione a XML

Il linguaggio HTML è stato il cardine del Web nei primi anni del suo sviluppo (1991-1998); la vistosa crescita del Web però ha fatto nascere problemi che già intorno al 1997 hanno indotto a considerare HTML troppo limitato per il pieno sviluppo delle attuali potenzialità.

Gli sviluppatori di siti Web hanno dovuto gestire quantità crescenti di testi strutturati e ricchi di collegamenti, sono stati richiesti di utilizzare sempre più spesso oggetti multimediali e sono stati sollecitati a realizzare meccanismi per la gestione dinamica delle pagine e per il supporto ad applicazioni sofisticate. I loro committenti sono spinti, anche dal mercato, a dotarsi di siti Web sempre più attraenti, ricchi di prestazioni, adattabili al variare delle esigenze dei visitatori e complessivamente ben coordinati e controllabili. Gli organismi che mettono a disposizione degli utenti del Web strumenti di ricerca sentono la necessità di meccanismi di meta descrizione più efficienti di quelli attualmente usati dagli attuali motori-osservatori come Altavista, Hotbot o Lycos, giunti ormai al limite delle loro possibilità in quanto sommersi da centinaia di milioni di pagine spesso in lotta per conquistare la testa delle classifiche della popolarità.

In questo scenario, l'azione di guida dello sviluppo tecnologico e di mediazione tra i grandi interessi economici in gioco svolta dal Consorzio W3C da alcuni anni viene messa a dura prova. Sul versante degli standards per i testi strutturati XML (eXtensible Markup Language) costituisce uno dei successi più notevoli e più promettenti del Consorzio.

Per capire che cos'è XML, occorre parlare di SGML e più in generale di linguaggi a marcatori. SGML, Standard Generalized Markup Language, è uno standard ISO (International Organization for Standardization) finalizzato alla descrizione della struttura logica dei testi, molto ricco di possibilità ma non facile da utilizzare. Da SGML sono derivati i primi importanti linguaggi a marcatori dei documenti, compreso HTML, e lo stesso XML. SGML non è un linguaggio basato su tags (marcatori) definiti come accade ad HTML, ma è un metalinguaggio, linguaggio finalizzato alla definizione di linguaggi a marcatori, cioè in grado di stabilire complessi di regole riguardanti i sistemi di tags che permettono di organizzare determinati tipi di documenti. Nell'ambito di SGML gli umanisti hanno sviluppato la TEI (Text Encoding Initiative); in molte grandi aziende sono stati sviluppate procedure EDI (Electronic Document Interchange); i chimici molecolari hanno iniziato a sviluppare il Chemical Markup Language (CML), ed i matematici il Mathematical Markup Language (MathML).

XML è un metalinguaggio che si configura come sottoinsieme semplificato di SGML destinato all'ambiente WWW. Questo metalinguaggio standard mantiene la possibilità di SGML (estranea ad HTML) di definire nuovi marcatori a seconda delle specifiche esigenze. A differenza di HTML, infatti, XML è "extensible"; o piu` precisamente sono estensibili i linguaggi che da esso derivano. In pratica, XML consente di definire una ampia gamma di tipi di documenti anche molto elaborati servendosi di un sottoinsieme dei meccanismi disponibili con SGML relativamente semplice, adattabile e, soprattutto, utilizzabile in modo naturale sul Web. Su XML hanno puntato rapidamente organismi come Sun, IBM, NCSA, Adobe, SoftQuad e Microsoft; Netscape ha invece appoggiato questa tecnologia con qualche ritardo.

Per concretizzare le prospettive aperte dai linguaggi definiti con XML devono essere messi a punto svariati prodotti. Molti progetti di sviluppo dei prodotti sono stati avviati a partire dal 1998, dopo la definizione formale del metalinguaggio manifestata con la pubblicazione di una Raccomandazione di W3C, e nei primi mesi del 1999 iniziano ad essere disponibili dei prodotti piuttosto incisivi. Tra i primi strumenti ricordiamo alcuni interpreti, come Lark e NXP, sviluppati interamente in Java, e MSXML di Microsoft, incluso nel browser Internet Explorer 4.0.

La futura diffusione di XML, che non sostituirà HTML ma lo affiancherà, dipende in parte dalla rapidità con la quale i browsers più utilizzati saranno in grado di incorporare dei parsers per questo nuovo linguaggio e in parte dalla disponibilità in rete dei documenti strutturati scritti in XML e quindi dalla disponibilità di adeguati Web editors.

Mentre sono stati avviati gli standard della famiglia XML l'evoluzione di HTML e` proseguita. La versione 4.0 non si e` limitata a sconsigliare alcune estensioni proprietarie ed a considerare "deprecato" un tag come font, oggetto in passato di non poche polemiche tra gli specialisti e gli amanuensi del settore, ma ha introdotto otto nuovi tags, tra i quali il Button, e non ha perso di vista i problemi relativi alla presentazione delle pagine, permettendo ad esempio di formattare meglio i dati di una tabella, di chiarirne il significato con intestazioni complessive, di riga e di colonna e permettendo di usare per l'allineamento i caratteri "punto" o "due punti", una possibilita` molto utile per rendere più leggibili delle colonne di numeri decimali.

I Forms, che hanno costituito una delle novità più importanti introdotte nel Web intorno al 1995??, in HTML4 sono diventati molto più potenti, ed hanno [ermesso di includere controlli interattivi che hanno sempre meno da invidiare a quanto realizzabile con il codice disponibile l'input e l'output dei dati con un Data Base Management System tradizionale. Se in HTML 3.2 i bottoni di un form potevano disporre solo delle proprieta` come submit o come reset" e il contenuto dei campi doveva per forza essere controllato dal server, con 4.0 si possono definire dei campi non modificabili e soprattutto associare al form una routine di controllo o delle tabelle predefinite con gli estremi dei valori accettabili.

Gli sforzi di HTML di mantenersi aggiornato comportano in qualche caso la cessione di alcune funzioni ad altri standard. Sul versante dello stile e dei formati da applicare a un documento, sono nati i fogli di stile a cascata (CSS, Cascading Style Sheets), uno strumento che consente di associare ad una pagina o a un gruppo di pagine un'unica definizione di tutti gli stili utilizzati, analogamente a quanto accade nel caso dei fogli di stile associati ai documenti di Word.

In Internet, la separazione dello stile dal contenuto consente tra l'altro di rendere più veloce la trasmissione delle pagine, anche perché i CSS, di cui è stata formalizzato nel marzo 1998 da parte di W3C con una apposita Raccomandazione il livello 2, utilizzano i caratteri ISO 10646 ed includono simboli che finora potevano essere inseriti solo come elementi grafici. I CSS2 permettono inoltre di preparare documenti leggibili anche da destra a sinistra, rendendo il Web potenzialmente più internazionale e aperto a lingue che fino al 1998-99 erano rimaste ancora poco diffuse. Le specifiche sui CSS2 comprendono infine il nuovo standard Aural Cascading Style Sheets (ACSS) volto a facilitare la lettura del formato da parte degli screen readers e di altri dispositivi per utenti disabili.

Sempre per questioni di stile, se ad HTML si affiancano i CSS2, per XML Microsoft ha proposto XSL, eXtensible Style Language, in corso di avanzata discussione presso W3C (nel dicembre 1998 è stato pubblicato un secondo working draft e nel gennaio 1999 si è reso disponibile XSLP, un processore di XSL piuttosto completo scritto interamente in Java e quindi ampiamente portabile). Un altro standard in fase di studio è XHL??, Extensible Hyper Linkage, un semplicissimo set di istruzioni da inserire in qualsiasi documento SGML o XML per definire dei links con funzioni non molto diverse da quelle dei links di HTML.

Un altro distacco da HTML è stato dettato dall'esigenza di rendere le pagine Web più reattive e dinamiche, con il tentativo di diffondere un DHTML, un Dynamic HyperText Markup Language
(v. ehproc.htm).

XML fu designato per essere più semplice da usare rispetto a SGML. Come scrive Richard Light nel suo libro Presentando XML : XML offre l'80% dei benefici di SGML con il 20% della sua complessità. In effetti la specifica di XML ha bisogno di circa 30 pagine, contro le 500 richieste per SGML.

XML permette di andare ben oltre il confine dell'insieme dei tags disponibili per HTML, lasciando la possibilità di definire un numero illimitato di tags per descrivere ogni elemento in ogni documento; questi elementi devono essere nidificati in gerarchie di informazioni.
Dichiarando questi tags e queste gerarchie, si riduce la quantità dei codici procedurali che uno sviluppatore deve scrivere per creare un'applicazione strutturata. Gli sviluppatori non possono incastonare ogni tag XML in qualche ordine nei documenti. Perchè il documento della famiglia XML sia valido, ogni nuovo tag deve essere incluso in un DTD che può essere tenuto in un file separato. In caso contrario il documento verrà dichiarato non valido. Tutti questi controlli sono più laboriosi di HTML, ma permettono prestazioni complessive molto superiori.
Infine XML ha introdotto concetti che agevoleranno la manutenzione e renderanno più stabili le applicazioniWeb, ad es. collegamenti bi-direzionali e externally stored.

Sebbene XML abbia molte parti, sono tre quelle che è necessario conoscere per capire come lavora: DTD (Document Type Definition), XSL (eXtensible Style Language) e XLink (eXtensible Link Language). Accenniamo alle loro caratteristiche principali:

DTD - Specifica la struttura logica di un tipo di documenti e permette di definirne la grammatica: definisce ogni elemento delle pagine e le relazioni tra questi elementi ed loro possibili attributi. Gli sviluppatori di semplici applicazioni non hanno bisogno di costruire delle proprie DTD, ma possono utilizzare delle pubbliche DTDs predefinite o nessuno dei due. Spesso, se un DTD esiste già, l'analizzatore può scegliere di non controllarlo per la validità del documento, perchè il server può aver già fatto tale controllo: in tal modo si risparmiano tempo ed ampiezza di banda.

XSL - È i linguaggio usato per specificare lo stile dei fogli per documenti XML. Abilita i browsers a cambiare la presentazione di un documento senza interagire con il server. Per fogli dallo stile mutante, lo stesso documento può essere mostrato in stampa o in Braille. Si puo` naturalmente immagini un manuale tecnico che si adatta alla possibilità di imparare dell'utente e che ha uno stile per principianti ed uno per "lettori avanzati", entrambi generati dallo stesso testo base. XSL può maneggiare un numero illimitato di tags, ciascuno utilizzabile in una grande varieta` di modi, grazie alla sua estendibilità.

XLink - Comincia a supportare semplici collegamenti che esistono sul Web oggi, ma permettera` anche di implementare i collegamenti estesi, includendo links indiretti che contribuiranno a metter fine ai collegamenti "morti" e a rimpiazzare il connettivo `` | '' che comporta il recupero da parte del server della sola parte rilevante di un elemento. Nel sistema ipertestuale ideale prospettato dai promotori di XML, saranno supportati tutti i meccanismi previsti dai teorici degli ipertesti: assegnazione di nomi indipendente dalla locazione, collegamenti bidirezionali, collegamenti che possono essere specificati e gestiti all'esterno dei documenti a cui appartengono, collegamenti 1 a n (anelli, finestre multiple), collegamenti aggregati (sorgenti multiple), trasclusioni (il documento del link bersaglio compare come parte del documento del link sorgente), attributi associati ai collegamenti (e quindi tipologia differenziata dei links). XLink è nato come sottoinsieme di HyTime, cioè dello standard ISO 10744 chiamato Hypermedia/Time-based Structuring Language.

Dalle discussioni iniziali del settembre1996, XML ha acquistato stabilità e credibilità. Gli attuali browsers di maggior peso, Internet Explorer 6.5, NetScape 7.1, Mozilla 1.4 ed Opera 7 (oltre ad Amaya 8.1.b) supportano XML. Tutte le piu` importanti compagnie che sviluppano sistemi per Internet, a cominciare da Adobe, Sun, IBM, Microsoft, Oracle ed Apple, sviluppano prodotti per il suo supporto. E` ormai estremamente probabile che XML si imponga come la sintassi di base per la maggior parte dei documenti che circoleranno sul Web, rimpiazzando anche in buona parte i documenti finora basati su SGML.


Indice pagine - inizio pagina