Le metamorfosi Xslt


In principio fu l'Xml

La storia inizia con una semplice pagina trovata su Internet. Osservando questa pagina ho pensato di estrarre da essa i contenuti e di riversarli in un file Xml.

Questo è il file Xml che ho ottenuto:

Ho impostato un file in una lingua diversa, per vedere come è possibile riutilizzare i file di stile Xslt cambiando la sorgente dei dati.

Questi file saranno le sorgenti da cui attingerò per creare le visualizzazioni che seguiranno. Ognuna di queste visualizzazioni è anch'essa un file Xml, strutturata in modo tale che, interpretata ciascuna da un apposito lettore, si presenti sullo schermo in maniere diverse.

Le visualizzazioni sono 4: xHtml, Svg, Wml, Xsl Fo.


xHtml

La rappresentazione più comune su Internet è quella in Html. L'Html è un linguaggio a tag che con poche modifiche è stato reso conforme alle specifiche Xml. Il linguaggio così modificato è stato chiamato xHtml.

La versione di xHtml che potete qui vedere è la xHtml 1.1 mentre il file Css di stili è conforme alle specifiche Css 2.

Valido XHtml 1.1 Valido Css 2

La traduzione da Xml (proprietario) a Xml (codificato) avviene anch'essa tramite Xml. Il linguaggio preposto a questo compito si chiama XSL Transformations (Xslt) ovvero linguaggio di trasformazione Xml qui utilizzato nella versione Xslt 1.0.

Ecco una schematizzazione di come avviene la trasformazione:

Xml 
Xml En 
Xslt Html
---->
 xHtml
 xHtml En

Se osservate il file Xslt vedrete che in esso non vi è alcun tipo di informazione, neppure i meta tag. Si vuole in questa maniera dividere nettamente i dati dal modo in cui vengono rappresentati.

Così come per l'xHtml anche le altre visualizzazioni hanno ciascuna il proprio file Xslt. La pagina trasformatore.asp è una pagina Asp di poche rige che applica il metodo transformNode tra il file Xml dati e il file Xslt.


Svg

Svg (Scalable Vector Graphics) è un linguaggio per rappresentare contenuti vettoriali. Per certi versi assomiglia a Macromedia Flash ma essendo un linguaggio Xml il sorgente è un file di testo composto da tag.

Per vedere questa trasformazione occorre installare Adobe Svg Viewer 3.0.

La specifica Svg qui utilizzata è la Svg 1.0. Si può visualizzare in due maniere:

Xml 
Xml En 
Xslt Svg
---->
 Svg
 Svg En

Wml

Il linguaggio maggiormente utilizzato per la visualizzazione di pagine Internet sui telefoni cellulari è il Wml (Wireless Markup Language). Sottogruppo del protocollo Wap è qui implementato nella versione Wap 1.1.

Si può vedere direttamente se si ha un browser che lo supporta, come ad esempio Opera 6 oppure attraverso il parser di Yahoo.

Xml 
Xml En 
Xslt Wml
---->
 Wml
 Wml En

Xsl Fo

Xsl Formatting Objects è un linguaggio per formattare documenti adatti per la stampa. E' assimilabile al formato Pdf di Adobe Acrobat, e purtroppo a causa della sua gioventù non possiede ancora un viewer che permetta di vederlo con un browser.

Per vedere i risultati bisogna compiere un passaggio in più e compiere la trasformazione da Xsl Fo a Pdf attraverso Xep 2.77 di RenderX.

La versione di Xsl Fo qui utilizzato è la Xsl 1.0.

Xml 
Xml En 
Xslt Fo
---->
 Xsl Fo 
 Xsl Fo En 
Processore Xsl Fo > Pdf
---->
 Pdf
 Pdf En

Modifica Xml

Poiché il file di dati è unico per tutte le visualizzazione proviamo ora a modificare il file Xml sorgente.

Per poterlo fare dobbiamo prima di tutto dotare il nostro browser del parser Xml versione 4.

Possiamo ora modificare la parte dei clienti della pagina di Rezzonico. I dati vengono comunicati tra browser e server attraverso Xml Http.

Riprocessiamo i file Svg e Pdf per poterli visualizzare modificati.


2002 Luca Bezzan