Home>>Introduzione al linguaggio XML

logo_xml 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.

Che cosa è XML

XML è un linguaggio basato sui marcatori di testo che sta diventando velocemente uno standard per lo scambio delle informazioni sul WEB. Come nel linguaggio HTML, i dati sono identificati tramite tag (<>), ma a differenza del HTML i tag forniscono informazioni sul significato dei dati invece che specificare il suo aspetto all'interno della pagina.

Lo sviluppatore è libero di definire qualsiasi tag che abbia senso per la sua applicazione. Naturalmente se più applicazioni utilizzano gli stessi dati XML, devono essere d'accordo sul nome dei tag che dovranno utilizzare. Segue un esempio dati XML che possono essere utilizzati per un'applicazione per lo scambio di e-mail.

<message>
<to>you@yourAddress.com</to>
<from>me@myAddress.com</from>
<subject>XML Is Really Cool</subject>
<text>
How many ways is XML cool? Let me count the ways...
</text>
</message>

In questo esempio i tag identificano il messaggio come un'unica struttura contenente gli indirizzi del destinatario e del mittente, il soggetto ed il testo del messaggio. Come nel HTML, esistono tag di apertura (<to>) e di chiusura (</to>) ed il dato all'interno di una coppia di tag di apertura e di chiusura definisce un elemento del dato XML.

Poiché un tag può contenere al suo interno altri tag, è possibile utilizzare XML per definire strutture di dati gerarchiche.

Ancora una volta come nel linguaggio HTML, gli spazi sono del tutto irrilevanti ed è quindi possibile formattare il documento come si vuole per aumentarne la leggibilità senza complicare il processo di parsing.

Tag ed attributi

I tag XML possono contenere anche attributi, informazioni aggiuntive incluse, come parte del tag stesso, all'interno delle parentesi angolari. L'esempio successivo mostra la struttura di un messaggio email che utilizza gli attributi per i campi: "to", "from" e "subject".

<message to="you@yourAddress.com" from=me@myAddress.com
subject="XML Is Really Cool" >
<text>
How many ways is XML cool? Let me count the ways...
</text>
</message>

Come in HTML, il nome di un attributo è seguito dal carattere "=" e dal valore dell'attributo racchiuso tra apici ed i vari attributi sono separati da spazi. A differenza del HTML, però, in XML le virgole tra gli attributi non sono ignorate e se presenti generano un errore.

Da notare che, poiché è possibile progettare una struttura dati come <message> utilizzando sia i tag che gli attributi, in alcuni casi può risultare complicato capire quale soluzione sia la migliore per raggiungere i propri scopi.

Tag vuoti

Una delle più grandi differenze tra XML ed HTML è che un documento XML deve necessariamente essere ben formato. Vi sono molte regole che definiscono quando un documento è ben formato, ma una delle più importanti è che ogni tag deve avere il corrispondente tag di chiusura.

<message to="you@yourAddress.com" from=me@myAddress.com
subject="XML Is Really Cool">
<flag/>
<text> How many ways is XML cool? Let me count the ways... </text>
</message>

I tag vuoti non costringono lo sviluppatore a scrivere <flag></flag> per ottenere un testo ben formato. E' possibile controllare quali tag possono essere vuoti creando un documento DTD.

Commenti nei file XML

In XML i commenti sono uguali ai commenti HTML.

<message to="you@yourAddress.com" from="me@myAddress.com"
subject="XML Is Really Cool">
<!-- This is a comment -->
<text>
How many ways is XML cool? Let me count the ways...
</text>
</message>

Il prologo XML

Un file XML generalmente inizia con un prologo. Il prologo minimo contiene la dichiarazione che identifica il documento come un documento XML:

<?xml version="1.0"?>

La dichiarazione può contenere anche informazioni addizionali come le seguenti:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

La dichiarazione XML è essenzialmente la stessa dell'intestazione HTML eccetto che utilizza <?...?> e può contenere i seguenti attributi:

version

Identifica la versione del linguaggio utilizzata. Questo attributo non è opzionale.

encoding

Identifica l'insieme di caratteri utilizzato per codificare i dati. "ISO-8859" è "Latin-1" l'insieme di caratteri dei linguaggi dell'Europa occidentale e dell'Inglese. (l'impostazione di default è UTF-8).

standalone

Indica se il documento corrente fa riferimento ad un documento esterno o ad una specifica di tipi di dati esterna. Impostare "yes" se non esistono riferimenti a documenti esterni.

Il prologo può anche contenere definizioni di "entità" (oggetti che sono inseriti quando sono referenziati all'interno del documento) e le specifiche che indicano quali sono i tag validi per il documento corrente.

Istruzioni di elaborazione

Un file XML può contenere anche istruzioni di elaborazione che forniscono comandi o informazioni alla applicazione che sta elaborando i dati XML. Le istruzioni di elaborazione hanno il formato seguente:

<?target instructions?>

dove target specifica il nome dell'applicazione che ci si aspetta esegua l'elaborazione, mentre instructions è una stringa di caratteri che specifica le informazioni o i comandi per l'applicazione.

Poiché le istruzioni sono differenti a seconda dell'applicazione specificata, un file XML potrebbe avere più istruzioni di elaborazione per fare la stessa cosa ma in modo diverso.

Il valore "xml" per il campo target è riservato per lo standard XML.

Perché XML è importante

Vi sono una serie di motivi per cui il linguaggio XML è stato eletto come uno degli standard più promettenti per lo scambio dei dati. Di seguito la lista delle ragioni principali.

Plain text

Poiché XML non è in formato binario, è possibile creare e modificare i file sia con un qualunque editor di testo standard sia con un ambiente di sviluppo visuale. Questa versatilità rende semplice eseguire il debug dei file ed utilizzare XML per memorizzare grandi quantità di dati.

Identificazione dei dati

XML fornisce informazioni sul tipo di dato, non sul suo aspetto. Poiche i tag identificano le informazioni e le spezzano in sottoparti, un'applicazione può elaborare un file XML per ricercare velocemente le informazioni in esso contenute.

Visualizzazione

Quando l'aspetto dei dati è importante, i fogli di stile, XSL, consentono di specificare in che modo devono essere visualizzati i dati di ciascun tag. In questo è possibile applicare agli stessi dati tanti aspetti differenti applicando diversi fogli di stile.

Riusabilità

Uno degli aspetti più belli dei documenti XML è che possono essere composti da entità separate. Le entità XML possono essere incluse "in line" in un documento. La sezione inclusa appare come una normale parte del documento. Una modifica effettuata alla sezione, si riflette in tutti i documenti che la includono.

Semplicità di elaborazione

Come è già stato detto nei paragrafi precedenti, la notazione regolare e consistente rende più semplice costruire programmi in grado di processare dati XML.

Struttura gerarchica

Infine, i documenti XML traggono benefici dalla loro struttura gerarchica, che rende più veloce l'accesso ai dati poiché consente di passare rapidamente alla parte di dati necessaria.

Come può essere utilizzato XML

Esistono diversi modi di utilizzo del linguaggio XML.

  • Elaborazione di dati tradizionali, ma codificati in XML.
  • Utilizzo di documenti XML come contenitori per la costruzione di interfacce ed applicazione tramite componenti esistenti.
  • Archiviazione
  • Collante, dove il DTD o lo schema che definisce la struttura dati è utilizzato per generare automaticamente una porzione significativa dell'applicazione che eventualmente processerà i dati.

Aggiungi commento




  Country flag
biuquote
  • Commento
  • Anteprima
Loading


Calendario

<<  febbraio 2012  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Archivio

Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common