Bonjour à tous,
Je fais un tri sur un fichier xml avec la balise name par ordre descendant et par lettre. Par exemple j'extrais seulement les données commencant par A.
Mon probleme est que j'aimerais paginer les resultats par 10 ou 15.
Pour cela j'utilise la fonction position(), et je n'arrive pas a l'utiliser seulement sur les données concernées.
J'ai jete un coup d'oeil au post de grandfather, mais je n'y arrive toujours pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:param name="lettreMin"/> <xsl:param name="lettreMaj"/> <xsl:param name="max"/> <xsl:param name="min"/> <xsl:template match="/"> <html> <body> <div align="center"> <table border="1" cellspacing="0" cellpadding="3"> <tr bgcolor="#FFFF00"> <td>Nom</td> <td>Description</td> <td>Position</td> </tr> <xsl:for-each select="tools/tool"> <xsl:sort select="name"/> <xsl:variable name="intro" select="name[starts-with(.,$lettreMin) or starts-with(.,$lettreMaj)]"/> <xsl:if test="$intro[position() <= $max and position() >= $min]"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="description"/></td> <td><xsl:value-of select="position()"/></td> </tr> </xsl:if> </xsl:for-each> </table> </div> </body> </html> </xsl:template> </xsl:stylesheet>
Merci d'avance pour votre aide.
Partager