XML ovvero eXtensible Markup Language è un'insieme di regole che identificano come sia possibile definire dei tag che separano un documento in singole parti e sottoparti. XML è un linguaggio di Markup come Html, ma è stato definito in modo da non essere limitato a un particolare vocabolario, industria o utilizzo. XML è l'incarnazione della estensibilità di internet, in quanto può essere personalizzato per ciascuna società o attività privata alla quale si volesse applicarlo. Le regole d'uso di XML si basano su un linguaggio di markup precedente chiamato Standard Generalized Markup Language (SGML). Prendendo come base SGML e facendo tesoro di alcune delle lezioni offerte dall'Html (anch'esso derivato da Sgml), XML crea dei file di testo per la memorizzazione delle informazioni strutturate. Xml è molto facile da usare, di facile lettura per un Computer (e non troppo difficile per un'essere umano), semplice da sottoporre a debugging, e facile da utilizzare per creare un linguaggio di Markup Estensibile adatto a qualsiasi industria che faccia uso di dati strutturati come fogli di calcolo, database, informaz. finanziarie, disegni tecnici. Quando Alexander Graham Bell inventò il telefono stava tentando di risolvere uno dei problemi più comuni del suo tempo. Oggi abbiamo tecnici molto esperti che sviluppano linguaggi come XML per condividere e visualizzare informazioni con chiunque, ovunque, a prescindere dal software in uso, indipendentemente che si disponga di una connessione a internet o che ci si scambino dischetti da un'uffico all'altro. Questa è la funzione di Xml: e per essa è perfetto.
Come detto XML è diretto discendente di SGML e di esso ne sfrutta le solide basi. SGML è un linguaggio svluppato per fornire un metodo di identificaz. delle parti e del contenuto di un documento, non basato sul contenuto effettivo o sui numeri di riga, ma sul tipo di informazioni contenute. Per esempio si potrebbero utilizzare dei documenti contenenti tag SGML e cercare una stringa come "h1" per individuare tutti i titoli di livello 1, e poi mostrare solo i titoli di livello 1 o copiarli in un'altro documento per creare un sommario, oppure raggruppare tutto il testo diverso dai titoli di livello 1.
La bellezza di SGML e XML, è che permettono ad un gruppo di progettisti di identificare le strutture disponibili all'uso in tutti i documenti. Pensiamo a questo libro. Il documento originale è stato scritto con Microsoft Word, e tutti i titoli, le intestaz., i piè pagina etc. sono stati formattati con i stili di Word. Se questo libro fosse stato scritto in SGML o XML tutti i titoli di paragrafo, le intestaz., i piè pagina e il testo dei paragrafi, i segmenti di codice, le didascalie, le figure, i richiami e altre configurazioni usate nel libro sarebbero richiamate con Tag propri di Sgml o Xml.
A questo punto ci si potrebbe chiedere: se gli elaboratori di testi possono gia fare una cosa del genere, perchè interessarsi a XML? La risposta è semplice: gli elaboratori di testi NON possono condividere le loro informazioni di stile. Per fare un'esempio nè Corel WorldPerfect nè StarOffice riescono a leggere immediatamente gli stili creati in Microsoft Word. Il documento deve essere sottoposto ad un processo di conversione affinchè qualunque tipo di software legga queste informazioni; ed anche allora la conversione degli stili del documento spesso non sarà esatta. SGML e XML consentono la lettura del documento da parte di qualsisi tipo di software, e l'autore del documento è in grado di specificare come ogni porzione del contenuto del documento verrà interpretata da tutti i software.
Tuttavia, dal momento che XML descrive soltanto il contenuto del documento, occorre fornire un foglio di stile, se si desidera formattare le informazioni in modo diverso dal testo normale. I due linguaggi di foglio di stile utilizzati in XML sono Cascading Style Sheets(CSS) ed eXtensible Style Sheet Transformations (XSLT).
Quest'ultimo per meglio dire, è parte di un termine più generico utilizzato dal W3C (World Wide Web Consortium) che consente agli autori di documenti XML di rendere gli stessi ancora più utili: XSL.
Gli standard XSL forniscono un quadro di riferimento per la conversione dei documenti XML in altre forme di testo strutturato (ad es. Html) e per dare uno stile ai documenti XML destinati a essere inviati a vari dispositivi, compresi stampanti e media elettronici (Wap, Cellulari...).
Lo standard XSL comprende in realtà due specifiche separate, ciascuna delle quali cosituisce un vocabolario XML, comprendente nomi di attributi, nonchè requisiti strutturali. La prima specifica, XSL Transformations (XSLT) definisce un metodo per trasformare i documenti XML in altre forme, non necessariamente XML. La seconda, XSL Formatting Objects (XSL-FO), è costituita da un set di markup completo che funziona in modo simile (ma più avanzato) ai CSS, consentendo di effettuare il rendering dei documenti XML per la visualizzazione, la stampa, e l'output su altri media.
Come detto XML è diretto discendente di SGML e di esso ne sfrutta le solide basi. SGML è un linguaggio svluppato per fornire un metodo di identificaz. delle parti e del contenuto di un documento, non basato sul contenuto effettivo o sui numeri di riga, ma sul tipo di informazioni contenute. Per esempio si potrebbero utilizzare dei documenti contenenti tag SGML e cercare una stringa come "h1" per individuare tutti i titoli di livello 1, e poi mostrare solo i titoli di livello 1 o copiarli in un'altro documento per creare un sommario, oppure raggruppare tutto il testo diverso dai titoli di livello 1.
La bellezza di SGML e XML, è che permettono ad un gruppo di progettisti di identificare le strutture disponibili all'uso in tutti i documenti. Pensiamo a questo libro. Il documento originale è stato scritto con Microsoft Word, e tutti i titoli, le intestaz., i piè pagina etc. sono stati formattati con i stili di Word. Se questo libro fosse stato scritto in SGML o XML tutti i titoli di paragrafo, le intestaz., i piè pagina e il testo dei paragrafi, i segmenti di codice, le didascalie, le figure, i richiami e altre configurazioni usate nel libro sarebbero richiamate con Tag propri di Sgml o Xml.
A questo punto ci si potrebbe chiedere: se gli elaboratori di testi possono gia fare una cosa del genere, perchè interessarsi a XML? La risposta è semplice: gli elaboratori di testi NON possono condividere le loro informazioni di stile. Per fare un'esempio nè Corel WorldPerfect nè StarOffice riescono a leggere immediatamente gli stili creati in Microsoft Word. Il documento deve essere sottoposto ad un processo di conversione affinchè qualunque tipo di software legga queste informazioni; ed anche allora la conversione degli stili del documento spesso non sarà esatta. SGML e XML consentono la lettura del documento da parte di qualsisi tipo di software, e l'autore del documento è in grado di specificare come ogni porzione del contenuto del documento verrà interpretata da tutti i software.
Tuttavia, dal momento che XML descrive soltanto il contenuto del documento, occorre fornire un foglio di stile, se si desidera formattare le informazioni in modo diverso dal testo normale. I due linguaggi di foglio di stile utilizzati in XML sono Cascading Style Sheets(CSS) ed eXtensible Style Sheet Transformations (XSLT).
Quest'ultimo per meglio dire, è parte di un termine più generico utilizzato dal W3C (World Wide Web Consortium) che consente agli autori di documenti XML di rendere gli stessi ancora più utili: XSL.
Gli standard XSL forniscono un quadro di riferimento per la conversione dei documenti XML in altre forme di testo strutturato (ad es. Html) e per dare uno stile ai documenti XML destinati a essere inviati a vari dispositivi, compresi stampanti e media elettronici (Wap, Cellulari...).
Lo standard XSL comprende in realtà due specifiche separate, ciascuna delle quali cosituisce un vocabolario XML, comprendente nomi di attributi, nonchè requisiti strutturali. La prima specifica, XSL Transformations (XSLT) definisce un metodo per trasformare i documenti XML in altre forme, non necessariamente XML. La seconda, XSL Formatting Objects (XSL-FO), è costituita da un set di markup completo che funziona in modo simile (ma più avanzato) ai CSS, consentendo di effettuare il rendering dei documenti XML per la visualizzazione, la stampa, e l'output su altri media.