L’Extensible
Markup Language (XML) è un metalinguaggio che permette di creare
dei linguaggi personalizzati di markup; nasce dall’esigenza di portare
nel World Wide Web lo Standard Generalized Markup Language (SGML), lo
standard internazionale per la descrizione della struttura e del contenuto
di documenti elettronici di qualsiasi tipo; ne contiene quindi tutta
la potenza, ma non tutte le complesse funzioni raramente utilizzate.
Si caratterizza per la semplicità con cui è possibile
scrivere documenti, condividerli e trasmetterli nel Web.
L’utilizzo
di XML permette di superare il grosso limite attuale del Web, che è
quello della dipendenza da un tipo di documento HTML, singolo e non
estensibile. Questo linguaggio è nato per permettere agli utenti
del World Wide Web di condividere le informazioni su sistemi differenti;
il presupposto era che quelle informazioni fossero testo con al più
alcune immagini e collegamenti ipertestuali. Attualmente però,
le informazioni sul World Wide Web sono database di testo, immagini,
suoni, video, audio. Quindi l’HTML è stato chiamato sempre più
di frequente a fornire soluzioni a problemi che non aveva lo scopo di
risolvere, come dover descrivere tipi differenti e specifici di informazioni,
definire relazioni complesse di collegamenti fra documenti, trasmettere
informazioni in diversi formati. Per superare questi problemi, sono
state create delle estensioni dell’HTML, spesso fra loro incompatibili.
L’XML
permette a gruppi di persone o ad organizzazioni di creare il proprio
linguaggio di markup, specifico per il tipo di informazione che trattano;
per molte applicazioni e per diversi settori, gli esperti hanno già
creato linguaggi di markup specifici, come ad esempio il Channel Definition
Format, il Mathematical Markup Language ed altri (Fig. 1.1).

Fig.
1.1:
L’XML permette di scrivere linguaggi di markup
XML
fu sviluppato da XML Working Group (originariamente noto come SGML Editorial
Review Board) costituitosi sotto gli auspici del World Wide Web Consortium
(W3C) nel 1996. Esso era presieduto da Jon Bosak della Sun Microsystems
con la partecipazione attiva dell’XML Special Interest Group (precedentemente
noto come SGML Working Group) anch’esso organizzato dal W3C.
L’obiettivo
di questo gruppo di lavoro era di portare il linguaggio SGML nel Web.
L’SGML è un linguaggio per la specifica dei linguaggi di markup
ed è il genitore del ben noto HTML.
La
progettazione dell’XML venne eseguita esaminando i punti di forza e
di debolezza dell’SGML. Il risultato è uno standard per i linguaggi
di markup che contiene tutta la potenza dell’SGML ma non tutte le funzioni
complesse e raramente utilizzate. L’XML venne mostrato per la prima
volta al pubblico quando l’SGML celebrò il suo decimo anno.
Gli
obiettivi progettuali di XML sono:
-
XML
deve essere utilizzabile in modo semplice su Internet: in primo
luogo, l’XML deve operare in maniera efficiente su Internet e soddisfare
le esigenze delle applicazioni eseguite in un ambiente di rete distribuito.
-
XML
deve supportare un gran numero di applicazioni: deve essere
possibile utilizzare l’XML con un’ampia gamma di applicazioni, tra
cui strumenti di creazione, motori per la visualizzazione di contenuti,
strumenti di traduzione e applicazioni di database.
-
XML
deve essere compatibile con SGML: questo obiettivo è
stato definito sulla base del presupposto che un documento XML valido
debba anche essere un documento SGML valido, in modo tale che gli
strumenti SGML esistenti possano essere utilizzati con l’XML e siano
in grado di analizzare il codice XML.
-
Deve
essere facile lo sviluppo di programmi che elaborino documenti XML:
l’adozione del linguaggio è proporzionale alla disponibilità
di strumenti e la proliferazione di questi è la dimostrazione
che questo obiettivo è stato raggiunto.
-
Il
numero di caratteristiche opzionali deve essere mantenuto al minimo
possibile: al contrario dell’SGML, l’XML elimina le opzioni,
in tal modo qualsiasi elaboratore potrà pertanto analizzare
qualunque documento XML, indipendentemente dai dati e dalla struttura
contenuti nel documento.
-
I
documenti XML dovrebbero essere leggibili da un utente e ragionevolmente
chiari: poiché utilizza il testo normale per descrivere
i dati e le relazioni tra i dati, l’XML è più semplice
da utilizzare e da leggere del formato binario che esegue la stessa
operazione; inoltre poiché il codice è formattato
in modo diretto, è utile che l’XML sia facilmente leggibile
da parte sia degli utenti che dei computer.
-
La
progettazione di XML dovrebbe essere rapida: l’XML è
stato sviluppato per soddisfare l’esigenza di un linguaggio estensibile
per il Web. Questo obiettivo è stato definito dopo aver considerato
l’eventualità che se l’XML non fosse stato reso disponibile
rapidamente come metodo per estendere l’HTML, altre organizzazioni
avrebbero potuto provvedere a fornire una soluzione proprietaria,
binaria o entrambe.
-
La
progettazione di XML deve essere formale e concisa: questo obiettivo
deriva dall’esigenza di rendere il linguaggio il più possibile
conciso, formalizzando la formulazione della specifica.
-
I
documenti XML devono essere facili da creare: i documenti XML
possono essere creati facendo ricorso a strumenti di semplice utilizzo,
quali editor di testo normale.
-
Non
è di nessuna importanza l’economicità nel markup XML:
nell’SGML e nell’HTML la presenza di un tag di apertura è
sufficiente per segnalare che l’elemento precedente deve essere
chiuso. Benché così sia possibile ridurre il lavoro
degli autori, questa soluzione potrebbe essere fonte di confusione
per i lettori, nell’XML la chiarezza ha in ogni caso la precedenza
sulla concisione.