gototopgototop
 
Sei in: Home Page Corso XSLT Modelli diversi con XSLT

Modelli diversi con XSLT

Per poter fare una cosa del genere è necessario che un modello diverso debba trovare corrispondenza con uno stesso nodo ( ma anche più di uno). Dinanzi ad una situazione del genere, il processore non può scegliere quale modello utilizzare nei diversi casi. Affinchè possiamo essere sicuri che il processore chiami il modello giusto, si deve aggiungere un atrtibuto mode (modo) ad ogni modello. Il valore dell´attributo mode può essere un nome qualsiasi ma deve essere, obbligatoriamente, diverso per ogni modello che trova corrispondenza con lo stesso nodo (o insieme di nodi) e lo stesso per ogni modello da richiamare in un nodo.

Nella parte inziale del foglio di stile, nell´elemento <xsl:apply-templates mode="NomeModo" /> si specifica "quale" modo utilizzare. Il processore trova corrispondenza utilizzando solo i modelli che appartengono a quel "modo".
Rivediamo il file di esempio "auto.xml", che abbiamo già incontrato in qualche applicazione fa. Cosa vogliamo ottenere in ouput: nella parte alta della pagina, un elenco dei modelli. Subito dopo, un dettaglio che comprende: modello, costruttore ed anno. Notare bene che ho menzionato 2 volte la parola "modello"; se non usassimo un "modo" per i modelli, non otterremmo un risultato del genere. Vediamo adesso il foglio di stile XSLT da applicare al sorgente.
Il documento XSLT contiene due diversi "modi". La riga di codice:

<xsl:apply-templates mode="elenco" />

chiama i modelli che utilizzano il modo "elenco"; il rigo successivo

<xsl:apply-templates mode="dettaglio" />

chiama i modelli che utilizzano il modo dettaglio"

Quando ciascun "modo" viene chiamato, vengono fatti corrispondere solo i modelli che appartengono a quel particolare modo e il documento, in questo caso, viene elaborato due volte. Il file di esempio di output, mostra questa trasformazione.

Come scritto nella premessa, abbiamo ottenuto nella parte alta l´elenco dei modelli delle auto; nella parte bassa un dettaglio delle stesse. Questo tipo di impostazione lo abbiamo incontrato, e lo vediamo spessissimo, in una pagina web con molto contenuto. I link della parte iniziale possono rimandare, attraverso i "tag áncora", ad una porzione di testo all´interno della stessa pagina.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati