Nelle lezioni precedenti abbiamo evidenziato soprattutto una delle caratteristiche di XML: il suo rigore. Correttezza formale e validità rispondono all'esigenza di avere un markup finalmente pulito e controllato. Ora, affronteremo un'altra importante dimensione di questo linguaggio.
Gestione dei contenuti con XML
XML è una sorta di lingua franca. Non ha nulla dei linguaggi proprietari. Un documento XML è semplicemente un file di testo e come tale leggibile su qualunque macchina. Si capisce, dunque, come si riveli uno strumento potentissimo in applicazioni centrate sullo scambio di informazioni e sulla distribuzione di contenuti su vari supporti. Inoltre, grazie alla possibilità di creare tag personalizzati, i documenti sono autoesplicativi. Ogni tag mi dice esattamente la funzione che svolge e il tipo di dati che definisce.
La lettura di un buon manuale o della Guida XML potrà chiarire questo e altri aspetti. Ora passiamoalla pratica e torniamo al nostro blog.
I dati che intendiamo conservare in XML sono i post che quotidianamente arricchiscono la nostra cronaca digitale. Il motivo fondamentale per cui operiamo questa scelta è semplice: vogliamo tenere i contenuti separati dal resto. In questo modo, le operazioni di aggiornamento e archiviazione dei post saranno estremamente semplificate e volendo potremmo facilmente distribuirli su sistemi alternativi.
La struttura tipo di un post per X-blog è molto semplice. Ciascuno di essi avrà:
- un titolo
- la data di invio
- un testo
- eventuali link nel testo
Nel file "blog.html" (listato 3) abbiamo visto come questo schema si traduce in una struttura:
Sezione dei post |
<div id="post"> |
Nel listato 6, invece, abbiamo riportato il codice del documento base di X-blog. Copiate, incollate e salvate come "news.xml". Aprendo il file con Internet Explorer apprezzerete al meglio la struttura ad albero del documento, con i singoli nodi strutturali contenuti all'interno dell'elemento radice. Qualche nota di commento:
- il documento inizia con la dichiarazione XML
- la seconda dichiarazione serve a incorporare un foglio di stile XSL (ne parleremo più avanti)
- l'elemento radice è <news> che racchiude tutti i post
- il tag <post> definisce un singolo aggiornamento del blog
- <post> ha tre elementi figlio: <titolo>, <data>, <testo>
- all'interno dell'elemento <testo> è possibile avere un altro nodo, <link> (per collegamenti a siti esterni citati nel testo)
Presentare XML
Come è evidente, il documento "news.xml" non contiene alcuna informazione su come verrà presentato. Non è una limitazione. È così che deve essere. Per effettuare la formattazione di un documento XML in vista della sua presentazione si possono seguire due metodi.
Il primo non vi risulterà nuovo: si usano i CSS. Applicare un foglio di stile CSS ad un documento XML è infatti semplicissimo. Supponiamo di voler collegare a "news.xml" il foglio di stile "news.css". Dovremo aggiungere, subito dopo la dichiarazione XML, quest'istruzione:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href="news.css" ?>
Il secondo metodo è quello che andremo ad analizzare nei dettagli nelle prossime due lezioni. È basato su XSL (Extensible Stylesheet Language), un linguaggio ben più potente dei semplici CSS in grado di trasformare qualunque documento XML in vari formati: testo semplice, HTML, XHTML, persino PDF. Finalmente capirete come "blog.html" sia generato automaticamente.