[Php-it] dubbio su XSLT

Michael Brennen michael at fishnet.us
Wed Dec 6 05:29:36 CET 2006


On Wed, 6 Dec 2006, dierre wrote:

> Sono le 3:40 di notte e non prendo sonno, quindi abbiate pazienza. 
> Stavo studiando un pò di xslt e mi è venuto un dubbio direi 
> atroce.
>
> Ultimamente usare XSLT come tecnologia per separare coding dalla 
> presentation diciamo che va di moda, però mi stavo ponendo una 
> domanda, che potrebbe sembrare stupida, però non riesco a 
> rispondermi con sicurezza. Ma ha senso scrivere un template engine 
> in XSLT?
>
> Mi spiego meglio facendo un esempio. Prendiamo Smarty, ecco, quel 
> caso ha senso perché io gli passo le variabili e poi lui le 
> colloca al posto giusto e le stampa a video, però in XSLT non 
> funziona così, perché la creazione delle informazioni avviene 
> generando il documento XML, giusto? Non c'è bisogno di creare un 
> engine per XSLT. Al massimo creare un engine per l'XML perché in 
> realtà è lì che si rappresentano i dati, poi il foglio di stile lo 
> si applica in un secondo momento.

Direi per conto mio che hai ragione.  Insomma non fa molto senso 
passare diretto da XML a HTML per via di XSLT se il solo oggetto è 
di creare delle pagine ueb.  Ormai è vero che ci sono metodi assai 
più adatti a quel lavoro, tipo Smarty che hai accennato.

Con una template tipo Smarty, è la template stessa che ordina i 
dati.  Cioè tira il soggetto di qui, l'intestazione di là, ecc. ed è 
la struttura della template che ne ordina la presentazione in modo 
statico.  E non vale che per la presentazione in ueb.

C'è da considerare analogicamente che in XML si può portare i dati 
dentro una struttura di puro concetto, di pura logica (almeno è 
tanto logico quanto tu abbia ben pensato la struttura) che li ordina 
esplicitamente, senza però alcun limite di presentazione.

Questa è già un'importante astrazione concettuale dallo Smarty. 
Applicando poi diverse trasformazioni si può 'ridestinare' (si vede 
molto 'repurpose' in inglese) i dati a varie presentazioni, a vari 
scopi.  Per alcune possibilità dà un'occhiata a 
http://xml.apache.org/.

    -- Michael


More information about the Php-it mailing list