Lavorando così tanto con Umbraco, XSLT ormai è diventato un mio secondo linguaggio.
Scendere a patti con la paginazione in XSLT, spesso, può essere un problema. Il problema principale è la mancanza di divisione con resto: idiv è stata introdotta con XSLT 2.0, che purtroppo non è supportato dal Framework ne, quindi, da Umbraco.
L’alternativa è:
- Introdurre un parser XSLT di terze parti e mettersi a modificare il core (come quello di Altova, che è disponibile gratuitamente). Particolarmente complesso :)
- Utilizzare la funzione floor(), che restituisce il numero intero indipendentemente da quello che viene dopo la virgola.
Quindi utilizzando floor() in congiunzione con mod (resto della divisione, che invece esiste anche in XSLT 1.0) possiamo avere il classico vecchio “numero di pagine” senza particolari problemi!