Il linguaggio XML

Premessa

Questa pagina illustra l’utilizzo del linguaggio XML (Extensible Markup Language) come formato standard di dati e offre una panoramica sul linguaggio XML stesso, sul motivo del suo nascere e sulle ragioni per cui risulta essere una tecnologia assai utile e valida per la rappresentazione e lo scambio di dati.

Perché utilizzare il linguaggio XML

Il Web ha reso possibile comunicare con chiunque e in qualunque luogo. Degli standard accettati da tutti, fondamentali per sfruttare appieno tutto il potenziale del Web, consentono di comunicare a più livelli tecnologici interoperativi. Un importante livello è costituito dalle interfacce utente, esemplificate da standard attuali quali HTML, GIF e JavaScript. Tali standard consentono di creare una pagina e di visualizzarla in momenti diversi da parte di più riceventi.

Sebbene gli standard delle interfacce utente costituiscano un livello necessario, non sono sufficienti a rappresentare e gestire i dati. Oggigiorno Internet è un mero mezzo di accesso a immagini e testi. Non esistono standard per ricerche intelligenti, scambio di dati, presentazioni adattabili e personalizzazioni. Internet deve fare molto più che fornire accesso a informazioni e fissare standard di visualizzazione. Deve fissare uno standard per la comprensione delle informazioni, un modo comune di rappresentare i dati cosicché i programmi software siano in grado di eseguire meglio ricerche, spostarsi, visualizzare e manipolare informazioni nascoste nell’oscurità contestuale. Lo standard HTML non può fare tutto questo perché si limita a descrivere l’aspetto di una pagina Web, senza rappresentare i dati. Ad esempio, il linguaggio HTML non è in grado di:

  • fornire a un medico un modo standard di inviare una prescrizione a un farmacista;
  • consentire a un laboratorio medico di rendere pubbliche delle informazioni statistiche in un formato analizzabile da parte di qualsiasi ricevente;
  • descrivere un pagamento elettronico in una forma decodificabile ed elaborabile da parte di qualsiasi ricevente;
  • fornire un modo standard di ricercare nelle biblioteche giuridiche tutti i documenti processuali concernenti un determinato argomento;
  • specificare come è possibile trasmettere le informazioni contenute in un catalogo aziendale in modo che un commesso viaggiatore possa lavorare non in linea, mostrare il catalogo ai clienti, prendere ordini e caricare tali ordini in un formato standard.

In poche parole, sebbene il linguaggio HTML sia molto ricco dal punto di vista della visualizzazione, esso però non fornisce un modo standard di gestire i dati.

L’esistenza di uno standard per la rappresentazione dei dati consentirà ad Internet di espandersi allo stesso modo in cui ciò è stato possibile alcuni anni fa grazie allo standard HTML per la visualizzazione. Lo standard per i dati diventerà il veicolo delle transazioni aziendali, della pubblicazione dei profili personali, della collaborazione automatizzata e della condivisione dei database. Le diagnosi cliniche, i dati della ricerca farmaceutica, le schede sui semiconduttori e gli ordini di acquisto verranno scritti in questo formato. Ciò aprirà nuove prospettive d’utilizzo, tutte basate su una rappresentazione standard per lo spostamento di dati strutturati sul Web con la stessa facilità con cui oggi si spostano le pagine HTML. Questo standard è costituito dal linguaggio XML e dalle estensioni XML.

Cos’è il linguaggio XML

Per XML si intende un meta linguaggio di demarcazione che fornisce un formato per la descrizione di dati strutturati. Ciò consente di dichiarare con maggiore precisione il contenuto dei dati e di ottenere risultati più significativi nelle ricerche eseguite in più piattaforme. Inoltre, il linguaggio XML renderà possibile una nuova generazione di applicazioni Web per la visualizzazione e la manipolazione di dati.

Rappresentazione strutturale dei dati

Il linguaggio XML fornisce una rappresentazione strutturale dei dati che può essere ampiamente e facilmente implementata. Lo standard XML è costituito da un sottoinsieme di SGML ottimizzati per l’invio nel Web. Definito dal consorzio W3C (World Wide Web Consortium), il linguaggio XML assicura che i dati strutturati siano uniformi e indipendenti dalle applicazioni o dai produttori. L’interoperabilità che ne risulta costituisce un punto di partenza per la nascita di nuove applicazioni Web per le aziende e il commercio elettronico.

Il linguaggio XML, che fornisce uno standard per i dati in grado di codificare il contenuto, la semantica e gli schemi per una vasta gamma di casi dai più semplici ai più complessi, può essere utilizzato per contraddistinguere:

  • un semplice documento;
  • un record strutturato, come un appuntamento o un ordine di acquisto;
  • un oggetto dotato di dati e metodi, come la forma persistente di un oggetto Java o un controllo ActiveX;
  • un record di dati, come i risultati di un’interrogazione;
  • il meta-contenuto di un sito Web, come il formato CDF (Channel Definition Format);
  • una presentazione grafica, come l’interfaccia utente di un’applicazione;
  • entità e tipi di schemi standard;
  • tutti i collegamenti esistenti tra informazioni e persone sul Web.

Una volta che i dati si trovano sul desktop client, possono essere manipolati, modificati e presentati in più visualizzazioni, senza spostamenti da e verso il server. I server possono quindi diventare più scalabili grazie a minori carichi computazionali e di larghezza di banda. Inoltre, giacché i dati vengono scambiati nel formato XML, possono essere facilmente ricavati da più origini e successivamente uniti.

Il linguaggio XML è di enorme valore per Internet e per gli ambienti intranet delle grandi aziende, poiché fornisce interoperabilità mediante l’utilizzo di un formato flessibile, aperto e standardizzato, dotato di nuovi modi di accedere ai database e in grado di fornire dati ai client Web. Le applicazioni possono essere create in maniera più rapida, possono essere gestite più facilmente e infine possono fornire più visualizzazioni dei dati strutturati.

Documenti XML

Lo standard XML è un formato testuale, simile per molti aspetti al linguaggio HTML, ideato specificamente per memorizzare e trasmettere dati. Un’origine XML è costituita da elementi XML, ciascuno dei quali formato da una tag iniziale (<title>), una tag finale (</title>) e da informazioni, dette contenuto, comprese tra le due tag. Analogamente a un documento HTML, un documento XML contiene del testo annotato con tag. Tuttavia, diversamente dal linguaggio HTML, lo standard XML consente di includere una numero illimitato di tag, ciascuna indicante non l’aspetto, ma il significato di un elemento testuale. Ad esempio, un elemento XML può essere contrassegnato con una tag come prezzo, come numero d’ordine o come nome. È compito dell’autore del documento stabilire il tipo di dati da utilizzare e i nomi delle tag che meglio si adattano ad essi.

I documenti XML sono facili da creare. Se già si conosce il linguaggio HTML, è possibile apprendere rapidamente il linguaggio XML. In questo esempio, lo standard XML viene utilizzato per descrivere la classifica di una regata. Questo file può, ad esempio, essere salvato con l’estensione XML come Regate.xml.

<regata prova="1">
       <data>19/12/1999</data>
       <miglia>7.4</miglia>
       <concorrente id="VALIANT">
         <treale>2:41:30</treale>
         <tcompensato>2:38:32</tcompensato>
         <penalita> </penalita>
             <classifica tipo="overall">
                 <posizione>1</posizione>
                 <punti>23.25</punti>
             </classifica>
             <classifica tipo="overallc">
                 <posizione>1</posizione>
                 <punti>23.25</punti>
             </classifica>
             <classifica tipo="perclasse">
                 <posizione>1</posizione>
                 <punti>2.25</punti>
             </classifica>
       </concorrente>
       <concorrente id="ARIX">
         <treale>2:44:47</treale>
         <tcompensato>2:44:47</tcompensato>
         <penalita> </penalita>
             <classifica tipo="overall">
                 <posizione>2</posizione>
                 <punti>22</punti>
             </classifica>
             <classifica tipo="overallc">
                 <posizione>2</posizione>
                 <punti>22</punti>
             </classifica>
             <classifica tipo="perclasse">
                 <posizione>2</posizione>
                 <punti>1</punti>
             </classifica>
       </concorrente>
     </regata>

Anziché descrivere l’ordine e l’aspetto dei dati da visualizzare, le tag indicano il significato di ciascun elemento, ossia se si tratta di una data (<data>), di lunghezza (<miglia>) e così via. Chi riceve tali dati può quindi decodificare il documento utilizzandolo per scopi propri: un semplice utente può, ad esempio, utilizzarli per stilare una classifica, mentre un’associazione può inserirli nell’archivio storico.

Estensibilità

Con il linguaggio XML è possibile definire un numero illimitato di tag. Mentre le tag HTML possono essere utilizzate per visualizzare una parola in grassetto o in corsivo, il linguaggio XML consente di utilizzare tag per strutturare i dati. Un elemento XML è in grado di dichiarare se i dati ad esso associati indicano un prezzo al dettaglio, un’imposta sulle vendite, il titolo di un libro, la quantità di precipitazioni o qualsiasi altro elemento dati desiderato. Giacché le tag XML vengono adottate all’interno di un’intera società e da altre società attraverso Internet, è conseguentemente possibile ricercare e manipolare dati indipendentemente dalle applicazioni con cui vengono trovati. Una volta individuati i dati, questi ultimi possono essere inviati e presentati con un browser in vari modi oppure possono essere passati ad altre applicazioni per un’ulteriore elaborazione e visualizzazione.

Una tag rappresenta un dato. Spesso corrisponde a un campo di una tabella. Tuttavia, non è affatto necessario che sia così. La tag può essere il totale di una colonna (prezzo x quantità). Non vi è alcun motivo per cui aspettarsi che un file XML rappresenti dei dati di una tabella. Altrettanto spesso un file XML rappresenta i risultati di un’interrogazione che coinvolge più tabelle. A condizione che l’applicazione ricevente sia in grado di attribuire un significato ai dati XML, è indifferente da dove provengano i dati e come siano giunti nel file XML.

I dati sono presentati in un modo ed elaborati in un altro

La potenzialità e l’attrattiva del linguaggio XML stanno nel fatto che l’interfaccia utente è separata dai dati strutturati. Il linguaggio HTML specifica come visualizzare i dati in un browser, il linguaggio XML definisce il contenuto. Con il linguaggio HTML le tag vengono utilizzate per indicare al browser di visualizzare i dati in grassetto o in corsivo; con il linguaggio XML le tag vengono utilizzate solo per descrivere i dati, quali, ad esempio, il nome di una città, la temperatura e la pressione atmosferica. Il linguaggio XML consente di utilizzare fogli di stile quali XSL (Extensible Style Language) e CSS (Cascading Style Sheets) per presentare i dati in un browser. Il linguaggio XML separa i dati dallo loro rappresentazione ed elaborazione, consentendo la visualizzazione e l’elaborazione dei dati desiderate mediante l’impiego di fogli di stile e applicazioni differenti.

La separazione dei dati dalla loro presentazione consente una perfetta integrazione dei dati ottenuti da più origini. Le informazioni sui clienti, gli ordini di acquisto, i risultati delle ricerche, i pagamenti delle fatture, le cartelle cliniche, i dati dei cataloghi e di altre origini possono essere convertiti in formato XML, consentendo lo scambio in linea dei dati con la stessa facilità dei dati visualizzati nelle pagine HTML odierne. I dati codificati in formato XML possono quindi essere inviati tramite il Web ai desktop. Non è necessaria alcuna modifica delle informazioni archiviate nei documenti o nei database dei computer mainframe e, visto che per inviare i dati XML viene utilizzato il protocollo HTTP, non sono necessarie modifiche neppure per questa funzione.

Come rendere autodescrittivi i dati XML

Nel linguaggio XML un documento può essere accompagnato da file DTD (Document Type Definition), i quali in sostanza ne definiscono le regole, quali l’indicazione degli elementi presenti e la relazione strutturale intercorrente tra di essi. I file DTD aiutano a convalidare i dati quando l’applicazione ricevente non dispone di una descrizione incorporata dei dati in arrivo. In ogni caso, tali file sono facoltativi con l’XML.

I dati inviati insieme con un file DTD sono dati XML validi (valid XML). In tal caso, un parser XML controlla i dati in arrivo sulla base delle regole definite nel file DTD al fine di accertare la corretta strutturazione dei dati. I dati inviati senza un file DTD sono noti come dati “ben formati” (well-formed).

In ambedue i casi, i dati codificati in formato XML sono autodescrittivi in quanto sono inserite delle tag descrittive tra i dati. Il formato flessibile e aperto utilizzato dal linguaggio XML ne consente l’impiego dovunque vi sia bisogno di scambiare o trasferire informazioni. Tutto ciò lo rende estremamente potente.

Schemi

Per schema si intende una specificazione formale delle regole di un documento XML, ossia i nomi degli elementi, che indica quali elementi sono consentiti nel documento e in quali combinazioni. I nuovi linguaggi per gli schemi, secondo quanto definito dal gruppo di lavoro sui dati XML (XML-Data Working Group) nelle proposte relative allo standard DCD (Document Content Description) e XML inviate al consorzio W3C, forniscono la stessa funzionalità di un file DTD. Tuttavia, giacché tali linguaggi sono estensibili, gli sviluppatori possono incrementarli con informazioni aggiuntive, quali i tipi di dati, le regole di presentazione e l’eredità. Ciò rende questi nuovi linguaggi di gran lunga più potenti dei file DTD.

E’ stata proposta una terminologia per esprimere gli schemi di un documento XML utilizzando il linguaggio XML stesso. In questo modo i dati XML possono descrivere la propria struttura. L’espressione di schemi all’interno di un documento XML conferisce grandi potenzialità al formato XML, in quanto al software è possibile esaminare determinati dati al fine di capirne la struttura senza dover disporre in anticipo di alcuna descrizione incorporata della struttura dei dati.

Utilizzando uno schema, un autore può definire con precisione i nomi di elementi permessi in un documento e, all’interno di determinati elementi, quali sottoelementi, attributi e relazioni sono consentiti. Un autore può importare frammenti da altri schemi ed estendere i tipi ereditandoli. Ciò consente relazioni complesse tra gli elementi, pur conservando la semplicità di una struttura lessicale ad albero.

Gli autori possono inventare propri schemi o condividere quelli già creati da altri. I lettori possono controllare i riferimenti degli schemi al fine di verificare che il documento ricevuto sia del tipo corretto. Essi possono anche utilizzare le informazioni contenute nello schema per convalidare automaticamente la struttura del documento.

Le società che desiderano utilizzare il linguaggio XML hanno bisogno di un modo semplice per trovare le informazioni concernenti gli schemi, i documenti e le attività aziendali supportati da altre applicazioni e aziende. Se ogni azienda dovesse definire in proprio il modo di rendere pubbliche tali informazioni, i costi diverrebbero proibitivi sia per le imprese che per i clienti. Anche con il Web i costi associati all’allestimento e alla gestione di un sito Web esulano, per alcune aziende, dalle loro disponibilità economiche. Senza alcun limite al numero di aziende che possono rendere pubbliche tali informazioni, la mancanza di standard che definiscano la modalità di pubblicazione di tali informazioni in modo sicuro e controllato condurrebbe alla nascita di migliaia di implementazioni, approcci e profondità di contenuti differenti. I costi sostenuti per la propagazione di un simile ambiente ricadrebbero sui consumatori.

Standard aperti

Il linguaggio XML si basa su una tecnologia affidabile standard ottimizzata per il Web. Il consorzio W3C collabora con altre importanti società e gruppi di lavoro per assicurare agli sviluppatori, agli autori e agli utenti interoperabilità e supporto per più sistemi e browser e anche per consentire un’evoluzione dello standard XML.

L’iniziativa XML è costituita da una serie di standard correlati:

  • Extensible Markup Language (XML) costituisce una Raccomandazione, ossia lo stadio finale della procedura di approvazione del consorzio W3C. Questo significa che tale standard può essere interamente adottato dagli sviluppatori di strumenti e del Web.
  • XML Namespaces costituisce una Raccomandazione. Descrive la sintassi namespace e il supporto per i parser XML namespace.
  • Il livello 1 DOM (Document Object Model) costituisce una Raccomandazione. Fornisce uno standard per l’accesso programmatico mediante script ai dati strutturati, in modo che gli sviluppatori possano computare e interagire in armonia con i dati XML.
  • Extensible Stylesheet Language (XSL) è il linguaggio per definire gli stili ed è candidato alla raccomandazione. Dato un documento XML si può definire come deve essere rappresentato nel browser come deve essere stampato o come viene visto nel palmare.
  • XSL Transformations (XSLT) costituisce una Raccomandazione ed è un linguaggio basato sull’XML che permette di trasformare un modello di documento XML in un altro. L’XSLT offre un’incredibile flessibilità per la presentazione e lo scambio di dati tra i dispositivi più disparati. Per esempio con l’XSLT stylesheets puoi trasformare dinamicamente lo schema di un documento di acquisto XML in un altro compatibile con il fornitore a cui lo si sta mandando. In più, con XSLT si può trasformare un documento XML in modo che possa essere visualizzato in qualsiasi dispositivo che si collega a Internet, dal computer, al palmare, al telefono cellulare.
  • XML Path Language (XPath) è candidato alla raccomandazione ed è il linguaggio usato per creare espressioni che possono indirizzare in diverse parti di un documento XML, manipolare stringhe e numeri e può raggruppare  più nodi in un documento.L’XPath è un linguaggio che fornisce collegamenti in formato XML simili a quelli del formato HTML ma è molto più potente. Grazie al linguaggio XPath i collegamenti possono essere multidirezionali ed esistere a livello di oggetto anziché solo a livello di pagina.
  • XML Schema è candidato alla raccomandazione. Descrive come deve essere un documento XML well-formed. A differenza del DTD di cui è successore è un linguaggio XML e permette una specificazione dei tipi di dati più accurata.

Vantaggi del linguaggio XML

Il linguaggio XML è assai potente e flessibile e può essere impiegato nelle applicazioni Web. Esso offre numerosi e consistenti vantaggi agli sviluppatori e agli utenti:

  • Ricerche più significative
  • Sviluppo di applicazioni Web flessibili
    • Integrazione di dati provenienti da origini diverse
    • Computazione e manipolazione locale dei dati
    • Più visualizzazioni dei dati
    • Aggiornamenti di piccolissime dimensioni

Ricerche più significative

I dati possono essere inseriti nelle tag in modo univoco con il linguaggio XML, consentendo potenzialmente a un cliente di specificare i libri scritti da Giulio Cesare, anziché quelli su Giulio Cesare. Al contrario, le ricerche che utilizzano i metodi attuali segnalano entrambi i tipi di libro in modo confuso. Senza il linguaggio XML, all’applicazione che esegue la ricerca è necessario comprendere gli schemi di ciascun database, che ne descrivono la struttura. Ciò è quasi impossibile poiché ogni database descrive i propri dati in modo diverso. Grazie al linguaggio XML, invece, i libri potrebbero essere facilmente catalogati in modo standard in base all’autore, al titolo o ad altri criteri. Gli agenti di ricerca potrebbero quindi cercare in modo uniforme nei siti delle librerie in linea i libri su Giulio Cesare.

Sviluppo di applicazioni Web flessibili

Una volta individuati, i dati in formato XML possono essere inviati ad altre applicazioni, oggetti e server intermedi per un’ulteriore elaborazione oppure possono essere inviati al desktop per essere visualizzati con un browser. Lo standard XML, insieme al linguaggio HTML utilizzato per la visualizzazione, allo script logico e al modello comune di oggetti per l’interazione con i dati e la visualizzazione, offre le tecnologie necessarie per lo sviluppo di applicazioni Web flessibili a tre livelli.

Integrazione di dati provenienti da origini diverse

La capacità di eseguire ricerche in più database tra loro incompatibili oggi è virtualmente impossibile. Lo standard XML consente di combinare insieme in modo facile i dati strutturati provenienti da origini diverse. Gli agenti software possono essere utilizzati per integrare i dati presenti su un server intermedio provenienti da database back-end e da altre applicazioni. Tali dati possono quindi essere inviati ai client o ad altri server per ulteriori operazioni di aggregazione, elaborazione e distribuzione.

L’estensibilità e la flessibilità del linguaggio XML consentono di descrivere i dati contenuti in una vasta gamma di applicazioni eterogenee, che spaziano dalle raccolte di pagine Web ai record di dati. Inoltre, giacché i dati XML sono autodescrittivi, possono essere scambiati ed elaborati senza dover disporre di una descrizione incorporata dei dati in arrivo.

Computazione e manipolazione locali

Dopo l’invio al client, i dati in formato XML possono essere analizzati e quindi modificati e manipolati localmente, con calcoli eseguiti dalle applicazioni client. Gli utenti possono manipolare i dati in vari modi anziché semplicemente presentarli. Anche il modello DOM (Document Object Model) XML consente la manipolazione dei dati con script o altri linguaggi di programmazione. I calcoli dei dati possono essere eseguiti senza passare continuamente attraverso il server. La separazione dell’interfaccia utente che visualizza i dati dai dati stessi consente la facile creazione di potenti applicazioni per il Web, in precedenza reperibili solo su database high-end, utilizzando un formato semplice, flessibile e aperto.

Più visualizzazioni dei dati

Una volta inviati al desktop, i dati possono essere visualizzati in vari modi. Descrivendo i dati strutturati in una maniera semplice, aperta ed estensibile, lo standard XML è un ideale complemento del linguaggio HTML, che è ampiamente utilizzato per descrivere le interfacce utente. D’altra parte, quantunque il linguaggio HTML descriva l’aspetto dei dati, il linguaggio XML descrive i dati stessi. Essendo la visualizzazione distinta dai dati, la definizione di questi ultimi nel formato XML consente di specificare visualizzazioni differenti e conduce ad una loro presentazione appropriata. I dati locali possono essere presentati in modo dinamico nella forma fissata dalla configurazione del client, dalle preferenze dell’utente o da altri criteri. Gli standard CSS e XSL forniscono meccanismi di dichiarazione per la descrizione di una particolare visualizzazione dei dati.

Aggiornamenti di piccolissime dimensioni

I dati possono essere aggiornati con dosi di piccolissime dimensioni utilizzando il formato XML, grazie al quale è possibile eliminare la necessità di inviare di nuovo tutta la serie di dati strutturati ogni volta che ne viene modificata una parte. È necessario trasferire dal server al client solo i dati cambiati, i quali possono essere visualizzati senza dover aggiornare l’intera interfaccia utente. Al momento invece è necessario ricostruire l’intera pagina se cambia anche uno solo dato, anche quando la visualizzazione rimane costante. Ciò limita pesantemente la scalabilità del server.

Inoltre, lo standard XML consente l’aggiunta di altri dati, quali le temperature minime e massime previste, le precipitazioni attese e la probabilità di pioggia (in percentuale). Tali informazioni aggiuntive possono confluire nella visualizzazione esistente senza che il browser debba inviare una nuova visualizzazione. Se sono richieste ulteriori informazioni, quale la pressione atmosferica, possono essere inviate senza dover ricreare la pagina.

Prospettive future

Essendo uno standard industriale per l’espressione di dati strutturati, il linguaggio XML offre molti vantaggi alle società, agli sviluppatori di software, ai siti Web e agli utenti finali. Le opportunità aumenteranno ulteriormente quanto più verranno creati formati di dati verticali per mercati chiave quali le ricerche avanzate nei database, i servizi bancari in linea, i settori medico, legale, del commercio elettronico e altri ancora. Quando i siti inizieranno a dispensare dati anziché visualizzarli soltanto, ne deriveranno opportunità straordinarie.

I servizi alla clientela vengono sempre più trasferiti dai centri di assistenza ai siti Web, per cui beneficeranno della solida funzionalità del linguaggio XML. Inoltre, giacché la maggior parte delle applicazioni aziendali implica la manipolazione o il trasferimento di dati e record di database, come gli ordini d’acquisto, le fatture, le informazioni sui clienti, gli appuntamenti, le mappe e così via, il linguaggio XML rivoluzionerà le possibilità degli utenti finali su Internet consentendo l’implementazione di una ricca gamma di applicazioni aziendali. Per di più, le informazioni già presenti sui siti Web, siano esse archiviate sotto forma di documenti o di database, possono essere contrassegnate utilizzando una terminologia XML per intranet. Tale terminologia viene in aiuto anche delle aziende di piccole e medie dimensioni che hanno bisogno di scambiare informazioni tra clienti e fornitori.

Un importante mercato ancora inesplorato è costituito dallo sviluppo di strumenti che facilitano agli utenti finali la creazione di siti Web in collaborazione. Tra di essi vi sono gli strumenti da utilizzare per la generazione di dati XML provenienti da database e da interfacce utente esistenti. Oltre a ciò, potrebbero essere sviluppati degli schemi standard per la descrizione, ad esempio, dei portafogli e di altri dati, che potrebbero utilizzare la struttura, i grafici e altre funzioni dei fogli di calcolo Excel o di altri tipi esistenti. Gli strumenti dichiarativi e visuali per la descrizione dei dati XML generati a partire dai database costituiscono un’eccellente opportunità. Gli strumenti personalizzati per la visualizzazione dei dati XML possono essere scritti meglio avvalendosi del sistema di sviluppo Visual Basic, di Java e di C++.

Il linguaggio XML richiederà nuovi e potenti strumenti per la presentazione di dati XML complessi contenuti in un documento. Tutto ciò verrà fatto grazie alla mappatura di un livello di visualizzazione comprensibile agli utenti su una complessa serie di dati gerarchici che possono cambiare in modo dinamico. Tra le possibili strutture da utilizzare per i dati XML rientrano i profili comprimibili, le visualizzazioni dinamiche PivotTable e semplici fogli per ciascun portafoglio.

I siti Web possono offrire quotazioni di borsa, articoli di giornale o informazioni sul traffico in tempo reale ottenibili filtrando le trasmissioni Web o eseguendo un polling intelligente di un gruppo di server che replicano tali siti. Grazie allo standard XML è possibile evitare gli eccessi di informazioni scrivendo regole personalizzate per la scadenza delle informazioni, come avviene per la posta elettronica. Gli strumenti XML che gli utenti possono utilizzare per creare queste regole e i programmi software client e server per la loro esecuzione costituiscono una grande opportunità. L’impiego di un modello di oggetti standard potrebbe consentire a queste funzioni, di solito scritte con uno script, di filtrare i messaggi in arrivo, esaminare i messaggi archiviati, creare messaggi da inviare, accedere ai database e così via. Questi agenti possono essere scritti per essere eseguiti automaticamente dovunque.

XML in breve

XML acronimo di ‘Extensible Markup Language’ è il nuovo linguaggio supportato dalla versione 5 di Internet Explorer e da Netscape Navigator 6 che dovrebbe andare a sostituire l’HTML.

L’XML è un metalinguaggio (come l’SGML da cui deriva) serve cioè a definire il modo in cui rappresentare le informazioni in una certa classe di documenti.

Fuor di metafora l’XML permette a ciascuno di creare il proprio linguaggio Markup a seconda delle proprie esigenze. Sono già in corso di definizione schemi per descrivere le formule matematiche, chimiche, dati finanziari o musica. Premettendo che io di musica non so niente, un pentagramma potrebbe essere così descritto:

<PENTAGRAMMA CHIAVE="VIOLINO" TEMPO="4:4">
	<DO TEMPO="1/4">
	<FA TEMPO="1/16">
	<FA TEMPO="1/16" TIPO="DIESIS">
</PENTAGRAMMA>

e il browser incontrando questi Tag mostra sullo schermo un normale pentagramma con chiave di violino e le tre note nel posto e con la forma giusta.

La capacità dell’XML sono notevoli visto che, ad esempio, il prossimo Word salverà i file in XML e non ci sarà nessuna perdita nella formattazione dei dati come succede adesso trasformando un file DOC in HTML.

L’XML ha anche linguaggio per definire degli stili chiamato XSL (Extensible Style Language).

Esempi

Presento ora tre esempi di rappresentazione dell’XML che possono essere visti solo con Internet Explorer 5. Come file XML di esempio ho usato dei dati che non possono che suscitare il massimo interesse: i ratings IMS 1998 delle barche Finlandesi. I dati sono molto strutturati, questo perché il mio interesse principale è vedere come poter rappresentare file database sui browser e come possa intervenire l’utente su di essi senza l’intervento del server.

Il file XML che sta alla base delle tre viste si chiama Ratings.xml ed è così strutturato:

<rating>
   <id>1</id>
   <numvelico>FIN-8590</numvelico>
   <nome>ABRACADABRA</nome>
   <modello>FINNFLYER 31</modello>
   <gph>706</gph>
   <anno>96/97</anno>
</rating>
<rating>
   <id>2</id>
   ...

La prima vista rappresenta una tabella con venti record per pagina che si può scorrere attraverso i due tasti Avanti e Indietro. Questa modalità di visualizzazione è un ottimo sostituto dei databindings di IE 4 che è una soluzione proprietaria.

Ratings IMS Finlandesi in Xml: Tabella semplice

La seconda vista permette invece di ordinare i dati cliccando sull’intestazione delle colonne senza l’intervento del server Web come sarebbe stato necessario prima dell’XML.

Ratings IMS Finlandesi in Xml: Tabella con Ordinamento a scelta

La terza vista permette di trovare le barche di un determinato modello o con un certo nome.

Ratings IMS Finlandesi in Xml: Trova

XSLT

Se avete la versione 3 del parser XML di Microsoft potete vedere il campionato invernale del Lido degli Estensi in XML.

Campionato in XML

Oppure potete provare il campionato di primavera che pur essendo realizzato in Xml viene trasformato in HTML dal server in maniera da poter essere visualizzato da qualsiasi browser.

WAP

Quest’ultimo file è invece una pagina WAP scritta in WML anch’esso derivato dall’XML

Pagina Wap della Fab Software Guardala con Yahoo

SVG

Questo è un file SVG (Scalable Vector Grafic)

Per vedere questa pagina scaricare il Viewer SVG di Adobe.