domenica 9 agosto 2009

ancora XSLT sul client?

Un punto di partenza per XSLT, oltre al documento ufficiale, può essere questa semplice pagina di esempi:
http://www.w3schools.com/xsl/xsl_w3celementref.asp
L'idea che c'è alla base è semplice e già consolidata: trasformare un documento xml in un altro documento (XML, HTML...), applicando un filtro.
Il filtro è un documento XML anche lui, che contiene un template con il quale seleziona elementi del documento sorgente e li trasforma, per poi eventualmente mostrarli nel documento risultante.
Il linguaggio per la selezione degli elementi si chiama XPath (alcuni esempi qui).
Supponendo che il documento XML d'origine contenga i dati, il "foglio di stile" XSLT dà la disposizione della struttura in una separazione contenuto/stile che è sempre tanto ricercata.
Tuttavia se la separazione HTML CSS funziona tanto bene... quella XML XSLT non sembra altrettanto adatta ai browser.

Nel lontano 2005 ero molto incuriosito dalle trasformazioni xml sul client e ho creato questo sito, che nel tempo poi ho trasformato varie volte, aggiungendo la libreria prototype e rendendolo molto più dipendente da ajax e controllo del DOM tramite javascript, che dalla vera trasformazione XSLT.
Il linguaggio infatti è ancora valido ma soprattutto per i suoi usi server-side. Il browser è più veloce a gestire le trasformazioni javascript, che sono anche supportate in maggior modo dai diversi browser sebben con tutti le piccole differenze delle varie versioni.
Si suppone che quello che arriva al browser sia già un documento da mostrare e non uno scheletro da trasformare, con pochissime eccezioni.
Quindi pur essendo divertente (e fattibile) l'idea di prendere un feed rss e trasformarlo on the fly sul proprio browser con un foglio di stile XSLT, questo rimane solo un esercizio di bravura, più che una applicazione reale. Sarà meglio affilare le unghie sul server e servire un documento già pronto per un browser. E se proprio ci si vuole sbizzarrire a cambiare qualche cosa nella visualizzazione CSS3 e Javascript possono fare miracoli.

Altre fonti:
Questo articolo di stackoverflow.com descrive bene in breve i problemi della trasformazione xslt sul client.
Una vera applicazione del XSLT sul client la potete comunque trovare qui (il foglio xslt se non lo trovate è questo)
Un bell'articolo per iniziare a mettere le mani su XSL (link)

Rimando il discorso alle trasformazioni xslt e xslfo sul server eventualmente a un'altra volta. Un buon punto di partenza per gli appassionati di Java cmq può essere questo articolo di o'Reilly

Nessun commento:

Posta un commento