XSL Transformations: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 7:
Ci possono essere due casi specifici di trasformazione: da un documento XML a un altro documento XML (adatto a specifiche applicazioni), oppure da un documento XML ad un altro formato (ad esempio [[HTML]], [[XHTML]], [[WML]] - il linguaggio delle pagine [[Wireless Application Protocol|WAP]] - e [[Rich text format|RTF]], ma anche in qualsiasi altro formato di solo testo). L'XSLT può essere usato per entrambi.
 
Per generare una trasformazione XSLT occorrono due file: il documento da trasformare (in XML) ed un documento contenente il [[foglio di stile]] [[XSL]], che fornisce la semantica per la trasformazione. Il '''foglio di stile XSLT''' vede un documento XML come una serie di nodi strutturati ad albero. È formato da un insieme di modelli (''template'') che contengono le regole di trasformazione dei tag del documento XML. Nella sintassi XSL, i <tt>template</tt> sono elementi, a ciascuno dei quali corrisponde l'attributo <tt>match</tt>, associato al nodo che verrà trasformato. In termini strutturali, il foglio di stile XSL specifica la trasformazione di un albero di nodi in un altro albero di nodi.
 
È possibile anche aggiungere al documento trasformato elementi completamente nuovi o non prendere in considerazione determinati elementi del documento origine, riordinare gli elementi, fare elaborazioni in base al risultato di determinate condizioni, ecc.<br />
In termini strutturali, il foglio di stile XSL specifica la trasformazione di un albero di nodi in un altro albero di nodi.
 
Un processore XSLT può trattare '''sette tipi di nodi''' presenti in un documento XML:
Riga 22 ⟶ 21:
* Testo
 
La trasformazione avviene attraverso un apposito programma detto '''processore XSLT''', che riceve in input il documento XML, da cui prende i contenuti (file 1), poi prende dal foglio di stile (file 2) la struttura e le regole di presentazione e produce in output il documento XML trasformato (file 3). Il processore XSLT segue la struttura gerarchica del documento di partenza (1): individua ciascun nodo grazie alle istruzioni contenute nel foglio di stile (2), che esegue ricorsivamente, nodo per nodo. Quando il processore trova una corrispondenza (matching), al contenuto dell'elemento di (1) vengono applicate le regole del template contenuto in (2). <br />
 
Il primo elemento template contiene le regole di trasformazione dell'Elemento radice del file di input, normalmente indicato con "/".
 
Alcuni esempi di regole applicate dal processore XSLT:<br />
* Generare una pagina [[HTML]] partendo da dati scritti in XML (ad esempio per presentare questi ultimi);
* Ordinare il contenuto dei nodi XML secondo le istruzioni fornite dal foglio di stile XSL;
* Nascondere - oppure mostrare - l'informazione in base al foglio di stile;