|
Il tag xsl:template ha tre attributi principali:
match, name e mode.
  |
match specifica il nodo da sostituire |
  |
Generalmente si specifica il tipo di elemento |
  |
Selezionabili anche attributi |
  |
Non sempre sono i figli |
L'attributo match usa una espressione XPath per
specificare a quali nodi si deve applicare. Nella maggior parte
dei casi seleziona solo uno specifico tipo di nodo. C'è da
tenere presente che le espressioni XPath, che vedremo in maggior
dettaglio la prossima puntata, sono relative al nodo
corrente. Quindi indicare solamente un tipo di nodo permette di
selezionare uno dei figli del nodo corrente. In ogni caso è
abbastanza frequente specificare nodi che non sono figli del
nodo corrente, come pure è possibile selezionare attributi o
altri elementi del documento XML.
  |
mode modalità di processing |
  |
Specificato da apply-template |
  |
Più template con lo stesso match |
  |
Un ciclo per il corpo e uno per l'indice |
L'attributo mode permette di applicare un template
in casi diversi. Ovvero esiste in XSLT un concetto di modalità
di elaborazione. La modalità viene specificato da
apply-templates. In questo modo si possono avere due
template che hanno la stessa espressione di match (ovvero si
riferiscono agli stessi nodi) ma che vengono utilizzati in casi
distinti. Per esempio possiamo avere un template che serve a
costruire l'indice e un altro template che serve a costruire il
corpo del documento, ma che si applicano agli stessi
in momenti diversi.
  |
name nome di un template |
  |
Usabile con chiamata diretta |
  |
xsl:call-template |
  |
Generalmente parametrizzato |
  |
xsl:with-param |
Infine citiamo il fatto che un determinato template può
avere un nome e che può venire chiamato esplicitamente utilizzando
xsl:call-template, per di più specificando dei
parametri. Vedremo la prossima volta le variabili, in particolare
quando ci occuperemo di come può venire costruito l'output in
maniera più complessa di come abbiamo visto qui.
|