Nell'esempio 9 abbiamo testato per ogni album di ogni
artista se la durata era superiore a 60 minuti. Il risultato è stato quindi una lista con a fianco un "true" se la condizione era vera e
"false" se era falsa. Ci eravamo quindi posti una domanda su come fare nel caso avessimo voluto mettere nell'output solo gli album che effettivamente avevano una durata superiore a 60 minuti.
Dobbiamo quindi fare una scelta di questo tipo: se la durata dell'album è superiore a 60 minuti allora stampa in output il risultato.
In XSLT utilizziamo l'elemento <xsl:if test=" condizione "> dove al posto della parola condizione nell'attributo test
scriveremo la condizione che dev'essere soddisfatta.
Riprendiamo quindi l'esempio 9 introducendo però il
nostro test. L'XML utilizzato è ancora una volta lo stesso.
Esempio 13.
Codice XSLT utilizzato ( listacd_es13.xslt ):
<?xml version="1.0" encoding="UTF-8"?> <!-- Prologo XML -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
Lista dei soli CD che hanno un tempo di durata maggiore di 60 minuti
<hr/>
<table cellpadding="2" cellspacing="2">
<xsl:apply-templates select="//artista//album"/>
</table>
</html>
</xsl:template>
<xsl:template match="//artista//album">
<xsl:if test="durata > 60">
<tr bgcolor="#f3f3f3">
<td width="150">
<xsl:value-of select="../../@nome"/>
</td>
<td width="150">
<xsl:value-of select="titolo"/>
</td>
<td>
<xsl:value-of select="durata"/>
</td>
</tr>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Risultato in Output della trasformazione
(esempio 13).
<html>
Lista dei soli CD che hanno un tempo di durata maggiore di 60 minuti
<hr>
<table cellpadding="2" cellspacing="2">
<tr bgcolor="#f3f3f3">
<td width="150">Stanley Jordan</td>
<td width="150">Stolen Moments</td>
<td>72</td>
</tr>
<tr bgcolor="#f3f3f3">
<td width="150">Nick Drake</td>
<td width="150">Five leaves left</td>
<td>65</td>
</tr>
<tr bgcolor="#f3f3f3">
<td width="150">Jeff Buckley</td>
<td width="150">Mistery white boy</td>
<td>86</td>
</tr>
</table>
</html>
Clicca
qui per vedere il risultato della trasformazione sul browser.