CERCA SITEMAP 1280
Ultimo aggiornamento: 30 Agosto 2009

Il linguaggio XSLT

XSLT (Extensible Stylesheet Language for Trasformation) è un linguaggio xml-based proposto dal World Wide Web Consortium per applicare delle trasformazioni a documenti xml.
Il linguaggio XSLT può essere ad esempio utilizzato per definire una serie di regole che interpretate dal processore XSLT permettono di trasformare il contenuto di un documento xml in un altro formato quale potrebbe essere un file html, un pdf, una jpeg o altro ancora.
Il W3C definisce due standard per i fogli di stile: CSS (Cascading Style Sheets) e XSLT (Extensible Stylesheet Language for Trasformation).
I CSS sono generalmente associati alle pagine web per definire quelle che sono le caratteristiche della pagina dal punto di vista della presentazione dei contenuti: utilizzando i CSS ad esempio è possibile definire tutte le proprietà degli elementi di markup come colori, bordi, posizionamento, font utilizzati e molto altro ancora.
I CSS tuttavia convivono con alcuni limiti di non poco conto:
  • non possono cambiare l’ordine con i quali gli elementi di markup appariranno all’interno del documento
  • non possono effettuare operazioni logiche ed in generale computazionali
  • non possono operare su più documenti contemporaneamente
XSLT nasce per colmare tali lacune permettendo trasformazioni più potenti e flessibili dei documenti.
XSLT è fortemente basato sulla corrispondenza di pattern: una regola di trasformazione definita all’interno di un foglio XSLT individua mediante espressioni XPath quelli che sono i nodi del documento interessati e quindi ne applica la trasformazione.
In XSLT non esistono cicli for o do-while ma esistono iterazioni e ricorsioni: l’iterazione permette di comunicare al processore XSLT regole del tipo "riconosci tutti gli elementi simili a questo pattern ed applica questa regola per ciascuno di tali elementi", la ricorsione invece consiste nell’applicare una regola di trasformazione che al suo interno richiama se stessa o altre regole di trasformazione.
Fasi della trasformazione
La trasformazione di un documento xml si sviluppa in 5 fasi:
  • il processore XSLT legge l’insieme delle regole di trasformazione definite all’interno del foglio XSLT.
  • viene generata una struttura di dati ad albero contenente l’insieme delle regole di trasformazione
  • viene letto il contenuto del documento xml sorgente
  • viene generata la struttura di dati ad albero rappresentativa del documento xml sorgente
  • ha inizio la trasformazione vera e propria.

La struttura di un foglio XSLT

Supponiamo di avere il seguente documento xml:


   Contenuto del messaggio

e di volerlo trasformare, mediante un foglio XSLT, in una pagina visibile su un comunissimo browser web, quale potrebbe essere la seguente:

   
      Contenuto del messaggio
   

Una delle possibili soluzioni protebbe essere rappresentata dal seguente documento XSLT:









Come notiamo ogni foglio XSLT inizia con un elemento che definisce la versione di XSLT ed il namespace che si stanno utilizzando.

Quindi è presente un elemento che specifica il metodo di output: valori possibili sono xml, html, text

ed uno o più elementi