XML in 10 points

URL documento originale / Original document URL:
http://www.w3.org/XML/1999/XML-in-10-points

Traduzione italiana a cura di / Italian translation by
Emiliano Tellina <iranon (at) latoserver.it>

Questo documento può contenere errori di traduzione. This document may contain errors from the translation.

Bert Bos
Created 27 Mar 1999 (last update: $Date: 2000/05/26 15:48:52 $)

Copyright © 1999-2000 W3C® ( MIT, INRIA, Keio), All Rights Reserved.


W3C

XML in 10 punti

(7, in realtà...)

XML, XLink, Namespace, DTD, Schema, CSS, XHTML,... Se non conoscete l'XML, può essere abbastanza difficile capire da dove iniziare. Questo sommario in 10 punti cerca di raccogliere abbastanza concetti basilari per permettere a chi inizia di vedere la foresta attraverso gli alberi. E se dovete fare una presentazione sull'XML, perché non cominciare con questi 10 punti? Sono qui per il vostro uso.


1. XML è un metodo per mettere dati strutturati in un file di testo

Per "dati strutturati" pensate a cose come fogli elettronici, agende, parametri di configurazione, transazioni finanziarie, disegni tecnici, ecc. I programmi che producono questi dati li salvano anche su disco, per cui possono usare sia il formato binario o sia quello testuale. Quest'ultimo permette, se necessario, di guardare i dati senza l'ausilio del programma che li ha creati. XML è un insieme di regole, di linee guida, convenzioni, in qualsiasi modo li vogliate chiamare, per progettare file di testo per questi dati, in un modo che produca file che siano facili da generare e leggere (da parte di un computer), che siano non ambigui, e che tenga lontano da pericoli comuni, come mancanza di estensibilità, mancanza del supporto per l'internazionalizzazione/localizzazione, e dipendenza dalla piattaforma.

2. XML sembra un po' HTML ma non è HTML

Come l'HTML, XML fa uso di tags (parole racchiuse tra '<' e '>') e attributi (della forma name="value"), ma mentre l' HTML specifica cosa ogni tag & attributo significhi (e spesso come un testo tra essi apparirà in un browser), XML usa i tags solo per delimitare pezzi di dati, e lascia l'interpretazione dei dati completamente all'applicazione che li legge. In altri termini, se vedi "<p>" in un file XML, non è detto che sia un paragrafo. A seconda del contesto, può essere un prezzo, un parametro, una persona, una p... (peraltro, chi dice che deve essere una parola che inizia per "p"?)

3. XML è testo, ma non è fatto per essere letto

I file XML sono file di testo, come ho detto prima, ma anche meno che nel caso dell'HTML sono fatti per essere letti dalle persone. Sono file di testo, perché questo permette agli esperti (come i programmatori) di fare più facilmente il debug dell'applicazione, e in casi d'emergenza, questi possono usare un semplice editor di testi per correggere un file XML non corretto. Ma le regole per i files XML sono più rigide che per l'HTML. Un tag dimenticato, o un attributo senza virgolette rendono il file inutilizzabile, mentre in HTML questa pratica è spesso esplicitamente permessa, o almeno tollerata. C'è scritto nelle specifiche dell'XML che le applicazioni non possono interpretare il pernsiero del creatore di un file XML non corretto; se il file non è corretto, l'applicazione deve fermarsi e restituire un errore.

4. XML è una famiglia di tecnologie

Esiste XML 1.0, la specifica che definisce cosa sono i "tags" e gli "attributi", ma attorno all'XML 1.0, c'è un sempre crescente numero di moduli opzionali che forniscono insiemi di tag & attributi, o linee guida per compiti specifici. C'è, per es., Xlink (ancora in fase di sviluppo nel Novembre 1999) che descrive un modo standard di inserire collegamenti ipertestuali in un file XML. XPointer & XFragments (anche questi ancora in sviluppo) sono sintassi per puntare a parti di un documento XML. (Un Xpointer è simile ad un URL, ma piuttosto che puntare a documenti sul Web, punta a pezzi di dati all'interno di un file XML.) CSS, il linguaggio degli style sheet, è applicabile all'XML come all'HTML. XSL (autunno 1999) è il linguaggio avanzato per descrivere gli style sheets. E' basato su XSLT, un linguaggio di trasformazione che è spesso utile anche fuori da XSL, per riorganizzare, aggiungere o cancellare tags & attributi. DOM è una collezione standard di chiamate di funzioni per manipolare i files XML (e HTML) da un linguaggio di programmazione. XML Namespaces è una specifica che descrive come si possa associare una URL con ogni singolo tag e attributo in un documento XML. Per cosa sia usata questa URL dipende invece dall'applicazione che la legge. (RDF, lo standard del W3C per i metadati, lo usa per linkare ogni porzione di metadati in un file definendo il tipo di questi dati.) XML Schemas 1 e 2 aiutano gli sviluppatori a definire precisamente i loro formati basati sull'XML. Ci sono molti altri moduli o strumenti disponibili o in fase di sviluppo. Date un'occhiata sulla pagina W3C's technical reports.

5. XML è prolisso, ma non è un problema

Poiché XML è in formato testo, e usa i tags per delimitare i dati, i file XML sono sempre più grandi rispetto ai file binari. Questa è una decisione cosciente da parte degli sviluppatori dell'XML. I vantaggi di un file di testo sono evidenti (confronta il punto 3 precedente), e gli svantaggi possono essere usualmente compensati ad un livello differente. Lo spazio su disco non è così costoso come una volta, e i programmi come zip e gzip possono comprimere file molto bene e molto velocemente. Questi programmi sono disponibili per quasi tutte le piattaforme (e di solito sono gratuiti). In aggiunta, i protocolli di communicazione come i protocolli per modem e l'HTTP/1.1 (il protocollo fondamentale del Web) possono comprimere i dati al volo, salvando banda passante tanto efficacemente quanto un file binario.

6. XML è nuovo, ma non così tanto

Lo sviluppo di XML è iniziato nel 1996 ed è standard del W3C da Febbraio 1998, la qual cosa potrebbe farvi sospettare che si tratti di una tecnologia nuova. Ma a conti fatti la tecnologia non è poi così nuova. Prima di XML c'era SGML, sviluppato all'inizio degli anni '80, uno standard ISO fin dal 1986, e largamente usato per molti progetti di documentazione. E ovviamente l'HTML, il cui sviluppo è iniziato nel 1990. Gli sviluppatori di XML hanno semplicemente preso le parti migliori di SGML, guidati dall'esperienza dell'HTML, e hanno prodotto qualcosa che non è meno potente di SGML, ma molto più regolare e semplice da usare. Alcune evoluzioni, d'altronde, sono difficili da distinguere dalle rivoluzioni... E bisogna dire che mentre SGML è usato principalemente per le documentazioni tecniche e meno per altri tipi di informazioni, per l'XML è esattamente l'opposto.

7, 8, 9...

Questi non li conosco ancora.

10. XML è gratuito, indipendente dalla piattaforma e ben supportato

Scegliendo XML come la base per qualche progetto, vi addentrate in una larga e crescente comunità di strumenti (uno dei quali potrebbe fare ciò di cui avete bisogno!) e ingegneri esperti in tecnologia. Optare per XML è un po' come scegliere l'SQL per i database: dovete ancora creare i vostri database e i vostri programmi/procedure per manipolarli, ma ci sono vari strumenti disponibili e molte persone che possono aiutarvi. E poiché XML, in quanto tecnologia del W3C, è gratuito, potete sviluppare i vostri software basati su esso senza pagare niente a nessuno. Il grande e crescente supporto significa che voi non siete legati ad un singolo fornitore. XML non è sempre la soluzione migliore, ma è sempre meglio prenderlo in considerazione.


Bert Bos
Created 27 Mar 1999 (last update: $Date: 2000/05/26 15:48:52 $)

Copyright © 1999-2000 W3C® ( MIT, INRIA, Keio), All Rights Reserved.