L'XML (acronimo di Exstensible Markup Language) e' un nuovo linguaggio di comunicazione sviluppato dal 1996 dal World Wide Web Consortium (W3C) al fine di rendere piu' agevole l'impiego nel web dell'SGML (acronimo di Standard Generalized Markup Language), lo standard internazionale per la conservazione e lo scambio di dati adottato dall'International Organization for Standardization (ISO).
Un Markup Language e' un linguaggio che consente di separare le informazioni relative alla struttura ed al formato di un documento dai dati in esso contenuti attraverso l'uso di ''tag'' quali: ''heading'', ''body'', ''list'' piuttosto che ''color'', ''size'' e ''strong''.
L'SGML e' un linguaggio completo e potente, ma caratterizzato anche da notevole complessita'. L'XML, sviluppato proprio a partire dall'SGML, ne costituisce la versione ''light'' poiche', pur conservando parte delle funzionalita' dell'SGML, ne elimina tutti quegli elementi opzionali che lo rendono troppo complesso per essere utilizzato nella programmazione all'interno del web. In altre parole l'XML non e' altro una versione semplificata dell'SGML e per questo motivo i dati conservati secondo il nuovo linguaggio possono ancora essere utilizzati all'interno dei sistemi basati sull'SGML.
L'XML e' un metalinguaggio, ossia un lunguaggio usato per descrivere altri linguaggi, che consente all'utente di disegnare il proprio markup language per infiniti tipi di documenti. Esso costituisce un sistema semplice e standardizzato per conservare e generare qualunque tipo di informazioni strutturate.
Un documento XML e' composto da uno o piu' ''elementi'' ciascuno contenente generalmente due tipi di tag (etichette), uno di apertura e uno di chiusura, e del testo o altri tag racchiusi tra il tag di apertura e quello di chiusura. I tag servono a contenere le informazioni e sono legati tra loro da una struttura di tipo gerarchico. Il significato delle informazioni contenute nel documento XML puo' essere eventualmente definito attraverso i tag stessi se il loro nome viene legato al modello reale che intendono descrivere.
L'XML e' un linguaggio estensibile perche' non esistono tag prefissati come previsto invece dall'HTML che attribuisce ad ogni ''tag'' e ''attributo'' un preciso significato. Con l'XML e' percio' possibile creare strutture caratterizzate da gradi di complessita' che variano a seconda delle necessita'. L'XML consente ad utenti e programmi di scambiarsi dati non ambigui e sempre leggibili poiche' indipendenti dal programma utilizzato per la loro produzione. Il destinatario dei dati non e' percio' vincolato dal software utilizzato dal mittente e questo perche' l'XML e' indipendente dall'uso che l'utente fara' dei dati.Proprio la possibilita' di scambiare informazioni non legate alla piattaforma software usata per la loro produzione costituisce una grossa opportunita' per tutte le aziende perche', una volta acquisita la tecnologia XML, i programmatori possono acquistare o realizzare da soli applicazioni per la manipolazione dei dati ricevuti.
Il seguente esempio descrive una classe come insieme di alunni. La comprensione del documento risulta immediata anche agli occhi di un non addetto ai lavori. Osservandone la struttura si evince facilmente che la classe e' formata da alunni e che ogni alunno puo' essere descritto attraverso il ''nome'', il ''cognome'' e l' ''indirizzo''.

L'XML si differenzia dall'HTML per la presenza di rigide regole di sintassi. Basti pensare che mentre in HTML la mancanza di un tag viene ammessa, o per lo meno tollerata, in XML una dimenticanza di questo genere rende il file del tutto illeggibile. Un documento XML corretto dal punto di vista della sintassi si dice essere ''well formed''.
Oltre ad essere ''well formed'' un documento XML deve essere anche ''valido'' (di fatto un file ''well formed'' non e' necessariamente anche un file ''valido''). Un documento XML e' valido quando rispetta le regole contenute nella DTD (Document Type Definition) ad esso associata. Quest'ultima contiene la descrizione degli elementi ammessi all'interno del documento, dei nomi e degli attributi che possono essere utilizzati all'interno dei differenti elementi ed, eventualmente, l'ordine con cui elementi ed attributi devono essere impiegati. La validita' di un file XML viene stabilita da un parser che verifica che siano state rispettate le regole contenute nella DTD.
L'impiego di una DTD non e' necessario, esistono infatti documenti XML DTDless. Questo significa che l'utente puo' inventare la struttura dei dati che meglio soddisfa le sue necessita' senza doverla necessariamente formalizzare. In altre parole la stuttura del documento e' definita dall'utente stesso nel momento in cui inserisce i differenti tag ed il documento XML e', ovviamente, sempre valido.
L'impiego di una DTD e', ad ogni modo, sempre consigliabile poiche', di fatto, garantisce all'utente che tutti i documenti di un certo tipo:

  • siano costruiti seguendo lo stesso schema (regola)
  • utilizzino gli stessi nomi.

L'applicazione di una DTD standard consente poi all'utente di condividere il significato delle informazioni con altri utenti. La nascita di consorzi di standardizzazione e' di fatto legata proprio alla consapevolezza dei benefici traibili dalla definizione e diffusione di etichette standard dal significato noto e univoco.

La DTD o lo schema associati alla classe dell'esempio precedente ci direbbero proprio che la classe e' un insieme di alunni e che ogni alunno ha un ''nome'', un ''cognome'' e un ''indirizzo'' a sua volta composto da una ''via'' e da una ''citta' ''. 

La presentazione dei file XML e' infine affidata alle istruzioni contenute negli stylesheet associati. Infatti, a differenza di quanto previsto dall'HTML, in XML gli elementi non contengono le informazioni necessarie alla loro presentazione. Questo significa che, in assenza di uno stylesheet, un processore non sa esattamente come visualizzare un documento XML se non come una successione di caratteri. 

CSS (Cascading Stylesheet Specification) consente, attraverso una sintassi non complessa di tipo proprietario, di assegnare agli elementi un determinato stile. L'ultima frontiera in tema di stylesheet e' tuttavia costituita dall'XSL (Extensible Stylesheet Language) che permette di trasformare l'XML in HTML usando la sintassi XML. 

Lo stylesheet associato sempre alla classe dell'esempio precedente potrebbe allora fare in modo che il nome ed il cognome degli alunni vengano visualizzati in ''rosso'' e l'indirizzo in ''blu''.

 

Link:


www.oasis-open.org
www.ucc.ie/xml

 

{9E7BF06B-6EA1-E111-9716-001D9266101B} :Text:show:unlogged:active:view