L'introduzione di XML ha senza dubbio suscitato un certo movimento nel mondo informatico. La maggior parte degli esperti lo considera un valido strumento per la rappresentazione delle informazioni di vario tipo: dal Web alle immagini, dalle formule matematiche ai documenti. Ma è proprio vero che questo linguaggio è la panacea a tutti i mali della rappresentazione delle informazioni? Proviamo a vedere se ha anche qualche difetto.
XML non è un linguaggio progettato per uno scopo specifico. Anzi, a dire il vero esso è un metalinguaggio, cioè un linguaggio per definire altri linguaggi. In altre parole esso è costituito da un insieme di regole sintattiche da utilizzare per definire linguaggi di markup.
Questa assenza di uno scopo ben preciso, quindi di una assoluta genericità, è stata oggetto di critiche perché porta a doversi appoggiare ad altre tecnologie per definire un linguaggio specializzato o ad un proliferare di linguaggi che fanno più o meno la medesima cosa.
Ad esempio, per definire la grammatica di un linguaggio basato su XML e specializzato per un determinato scopo possiamo utilizzare un DTD (Document Type Definition), ossia una tecnologia esterna a XML.
Inoltre, vista la grande genericità del metalinguaggio, chiunque può definire un linguaggio che descriva, ad esempio, una tabella di un database, con il rischio che ciascuno faccia a modo suo.
Un altro difetto contestato a XML è la sua intrinseca complessità. Certo questo sembra un paradosso, visto che XML è una versione semplificata di SGML! Evidentemente non risulta abbastanza semplificato per buona parte degli utenti.
In realtà il difetto di complessità è legato non tanto alle regole di base del metalinguaggio, quanto ad un suo utilizzo avanzato. In un certo senso, la complessità può essere vista come conseguenza della genericità. Infatti, per un uso avanzato e corretto di XML occorre utilizzare meccanismi come i namespace e altre tecnologie per gestire i diversi aspetti del linguaggio: schemi per definire la grammatica (DTD, XML Schema, Relax NG, ecc.), linguaggi per gestire le trasformazioni (XPath, XSLT) o altre elaborazioni (XQuery, XSL-FO).
L'insieme di queste tecnologie influenza la curva di apprendimento delle tecnologie basate su XML e può generare confusione. Almeno due sono le conseguenze di questo difetto:
Non è detto comunque che la seconda opzione sia errata. Tutto dipende dall'uso che si intende fare dei dati.
Guida PodcastingUn percorso in 16 lezioni, per entrare nella filosofia del podcast... |
Guida Smil 2.0Un percorso pratico alla scoperta di SMIL: il linguaggio (XML) per... |
Guida Web serviceCosa sono, a cosa servono e come si creano servizi Web, i sistemi... |
Ogni mese, direttamente nella tua e-mail: articoli, guide, FAQ e approfondimenti sui linguaggi della famiglia XML.
Iscriviti alla newsletter