XML
in dieci punti
Qui di seguito si trova
la traduzione di un articolo in inglese edito
dal W3C. Il
documento originale (rivisto il 13 novembre 2001) è disponibile qui 1. XML serve a strutturare
i dati
I dati strutturati modellano entità come
fogli di calcolo, rubriche, parametri di
configurazione, transazioni finanziarie e
disegni tecnici. XML è un insieme
di regole (puoi anche pensare che siano delle
linee guida o delle convenzioni) per formulare
dei file in formato testo che ti permettano
di strutturare i tuoi dati. XML non è un
linguaggio di programmazione, e non devi
essere un programmatore per usarlo od impararlo.
XML rende facile la generazione di dati tramite
un computer, la lettura dei dati e il controllo
sulla struttura in modo che non sia ambigua.
XML evita le pecche comuni dei linguaggi: è estensibile,
indipendente dalla piattaforma e supporta
i parametri internazionali e locali. Inoltre è pienamente
compatibile con Unicode.
2. XML assomiglia un po' ad HTML
Come HTML, XML (eXtensible Markup Language)
fa uso di tag (parole racchiuse tra le parentesi
angolari < e >) e attributi (della
forma name="value"). Mentre HTML
specifica come il testo e le altre componenti
di layout debbano essere visualizzati in
un browser, XML usa i tag solo per delimitare
pezzi di dati, lasciandone completamente
l'interpretazione all'applicazione che li
legge. In altre parole, se si vede <p> in
un file XML, non si è sicuri che esso
sia un paragrafo. A seconda del contesto,
potrebbe essere un prezzo, un parametro,
una persona, una p... (e chi l'ha detto che
dev'essere una parola con la "p"?).
3. L'XML è testo,
ma non da leggere
I programmi che producono fogli di calcolo,
rubriche e altri dati strutturati, spesso
salvano i dati sul disco, usando sia il formato
binario che quello testuale. Uno dei vantaggi
del formato testo è che permette,
se necessario, di dare un occhiata ai dati
pur non disponendo del programma che li ha
prodotti; all'occorrenza, si può leggere
un file con il proprio editor di testi preferito.
Inoltre i formati testo permettono agli sviluppatori
un debug più semplice delle applicazioni.
Come l'HTML, i file XML sono file di testo
che non è necessario leggere, tranne
quando non ne sorga il bisogno. Confrontate
con l'HTML, le regole per i file XML permettono
pochissime variazioni. Un tag dimenticato,
o un attributo senza virgole rendono il file
XML inutilizzabile, mentre in HTML tali pratiche
sono spesso esplicitamente permesse. Le specifiche
ufficiali dell'XML proibiscono alle applicazioni
di tentare di indovinare cosa intendesse
il creatore di un file non utilizzabile;
se il file non è corretto, una applicazione
deve fermarsi e segnalare l'errore.
4. XML è prolisso
per design
Poiché XML è un formato di
testo e usa i tag per delimitare i dati,
i file XML sono praticamente sempre più grandi
degli analoghi file in binario. Questa è stata
una decisione presa coscientemente dagli
sviluppatori dell'XML. I vantaggi del formato
testo sono evidenti (vedi il punto precedente),
e gli svantaggi possono solitamente essere
compensati a livelli diversi. Lo spazio su
disco diventa sempre meno costoso ed i programmi
di compressione come zip e gzip sono in grado
di ridurre lo spazio occupato dai file in
maniera efficiente. Inoltre, i protocolli
di comunicazione usati tra dispositivi di
rete (come il protocollo PPP usato nella
connessione del modem ad internet, o l'HTTP),
possono comprimere i dati al volo, risparmiando
banda esattamente come per i file binari.
5. XML è una
famiglia di tecnologie
XML 1.0 è la specifica che definisce
cosa sono i "tag" e gli "attributi".
Oltre ad XML 1.0, "la famiglia XML " è un
insieme in crescita costante di moduli che
offrono servizi utili per attività importanti
e comunemente eseguite. XLink descrive una
modalità standard per aggiungere collegamenti
ipertestuali ad un file XML. XPointer è una
sintassi in sviluppo per puntare a parti
di un documento XML; un XPointer è simile
ad un URL, ma invece di puntare a un documento
sul web, punta a porzioni di dati all'interno
di un file XML. Il CSS, il linguaggio dei
fogli di stile, è applicabile all'XML
così come all'HTML. XSL è il
linguaggio avanzato per scrivere i fogli
di stile; XSL è basato su XSLT, un
linguaggio di trasformazione usato per riarrangiare,
aggiungere e cancellare tag e attributi.
Il DOM è un insieme standard di funzioni
impiegato per manipolare i file XML (e HTML)
da un linguaggio di programmazione. XML Schemas
1 e 2 aiutano gli sviluppatori a definire
precisamente le strutture basate sui loro
propri formati XML. Ci sono ancora un'infinità di
moduli e strumenti disponibili o in fase
di sviluppo. Date un occhio alla W3C's technical
reports page.
6. XML è nuovo, ma non così nuovo
Lo sviluppo dell'XML è iniziato nel
1996 ed è una W3C Recommendation dal
febbraio 1998, la qual cosa può far
sospettare che sia una tecnologia piuttosto
immatura. Infatti, la tecnologia non è molto
nuova. Prima di XML c'era SGML, sviluppato
nei primi anni 80, standard ISO dal 1986,
e ampiamente usato per progetti di documentazione.
Lo sviluppo dell'HTML è iniziato nel
1990. Gli sviluppatori dell'XML semplicemente
presero le parti migliori dell'SGML, guidati
dall'esperienza fatta con l'HTML, e produssero
qualcosa che non è meno potente dell'SGML,
ma molto più regolare e facile da
usare. Alcune evoluzioni, tuttavia, sono
difficili da distinguire dalle rivoluzioni...
E bisogna dire che mentre SGML è soprattutto
usato per la documentazione tecnica e meno
per gli altri tipi di dati, con XML è esattamente
l'opposto.
[modifica]
7. XML porta dall'HTML all'XHTML
Esiste un'importante applicazione dell'XML
che è un formato di documento: l'XHTML
del W3C, il successore dell'HTML. XHTML ha
molti elementi analoghi all'HTML. La sintassi è stata
leggermente cambiata per conformarsi alle
regole dell'XML. Un formato che sia basato
su XML eredita la sintassi dall'XML e in
un certo modo la restringe (ad es., XHTML
permette <p>, ma non <r>); inoltre
aggiunge significato alla sintassi (l'XHTML
dice che <p> sta per "paragrafo",
e non per "prezzo", "persona",
o altro).
[modifica]
8. XML è modulare
XML permette di definire un nuovo formato
di documento combinando o riutilizzando altri
formati. Poiché due formati sviluppati
indipendentemente possono avere elementi
o attributi con lo stesso nome, occorre prestare
attenzione quando si combinano quei formati
(<p> significa "paragrafo" secondo
questo formato o "persona" come
nell'altro?). Per eliminare la confusione
sui nomi durante l'unione dei formati, XML
fornisce un meccanismo di namespace. XSL
e RDF sono buoni esempi di formati basati
su XML che usano i namespace. XML Schema è studiato
per rispecchiare questo supporto per la modularità al
livello di definizione delle strutture del
documenti, rendendo facile combinare due
schemi per produrne un terzo che comprenda
una struttura di documento unione delle due.
[modifica]
9. XML è la
base per RDF e il Web Semantico
Il Resource Description Framework (RDF)
del W3C è un XML formato testo che
supporta la descrizione di risorse e applicazioni
metadata come liste musicali, album di foto
e bibliografie. Ad esempio, RDF potrebbe
permettere di identificare una persona su
un album fotografico sul Web usando delle
informazioni prese dalla lista personale
di contatti; poi il client di posta potrebbe
automaticamente inviare un messaggio a queste
persone dicendo che le loro foto sono sul
Web. Come HTML ha integrato documenti, immagini,
sistemi a menu e form per lanciare il Web
originale, RDF fornisce strumenti per integrare
anche di più, per avvicinare il Web
ancora un po' al Web Semantico. Esattamente
come le persone devono accordarsi sul significato
delle parole che impiegano nelle loro comunicazioni,
i computer necessitano di meccanismi per
accordarsi sul significato dei termini in
modo da comunicare effettivamente. Le descrizioni
formali dei termini in certe aree (acquisti
o settore manufatturiero, ad esempio) sono
dette ontologie e sono una parte necessaria
del Web Semantico. RDF, ontologie e la rappresentazione
del significato in modo che possano aiutare
le persone a fare dei lavori, sono tutti
argomenti della Semantic Web Activity.
[modifica]
10. XML è libero,
indipendente dalla piattaforma e ben supportato
Scegliendo XML come base per un processo,
si guadagna l'accesso ad un'ampia comunità in
espansione di strumenti (uno dei quali potrebbe
già fare quello che desideri!) e ingegneri
con esperienza nella tecnologia. Optare per
l'XML è un po' come scegliere SQL
per le basi di dati: devi ancora costruire
il tuo database, i tuoi programmi e le procedure
che lo manipolano, ma ci sono molti strumenti
disponibili e molte persone che ti possono
aiutare. E poiché XML è gratis,
puoi costruirci il tuo software senza pagare
niente a nessuno. Il grande e crescente supporto
significa che non sei vincolato ad un unico
venditore. XML non è sempre la miglior
soluzione, ma vale sempre la pena di prenderlo
in considerazione.
|
 |
|