Ho la necessità di creare una pagina XSL/XML creando una tabella dinamica. La soluzione l'ho reperita in rete ma non riesco a capire/trovare soluzioni per ordinare e filtrare i dati.

Infatti, se inserisco il sort non ottengo nessun risultato e con uno statement XSL:IF all'interno del codice, mi ritrovo con righe a contenuto diverso (2, 4, 1 elemento) in quanto la selezione viene fatta sui cinque elementi originali.

Qualcuno sa come si fa ad ottenere le righe sempre di cinque elementi e solo di quelli che mi interessano?

Questo è il codice di esempio che ho trovato e su cui mi sono basato per la mia pagina:

------ XML --------
<items>
<item desc="BA"/>
<item desc="BE"/>
<item desc="BI"/>
<item desc="BO"/>
<item desc="BU"/>
<item desc="CA"/>
<item desc="CE"/>
<item desc="CI"/>
</items>

------- XSL -------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xslutput method="html" indent="yes" />
<xsl:template match="/items" >
<html>
<body >
<table border="1">
<xsl:apply-templates />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="item[(position()-1) mod 5 = 0]" >
<tr>
<td><xsl:value-of select="@desc" /></td>
<xsl:for-each select="following-sibling::node()[position() &lt; 5]">
<td><xsl:value-of select="@desc" /></td>
</xsl:for-each>
</tr>
</xsl:template>
</xsl:stylesheet>

Ciao a tutti