Bonjour à tous et à toute,
mon problème, enfin, ma question plutôt est relativement simple, je vais essayer d'être clair.
je récupére une liste d'enregistrements dans une base mysql, à partir de cette liste d'enregistrement j'effectue un système de pagination en PHP(aucun problème pour faire ceci).
chaque lien de pagination (1, 2 ...) fait appel à une fonction en javascript qui en fait va charger mon fichier XML et le transformer avec mon fichier XSL, je passe en parametre à mon fichier XSL le numéro de la page, est grace a une requête Xpath, je lit les noeud dans mon fichier XML a partir de la position voulu.
... select="//s[position() <= $numPage * 10 and position() >= ($numPage - 1) * 10 + 1]"
en loccurence les 10 premiers.
jusque là pas de problème, la où je bloque un peut c'est qu'en fait je veux procèder de la même manière pour trier les éléments de mon fichier XML (en passant en paramettre le nom du noeud à trier), ma question est :
comment dois-je procèder pour tout trier dans un premier temp, et seulement ensuite récupére les éléments à partir de la position X, car si je fait pas le tri après, le tri va être effectué sur les 10 noeud extrait du fichier XML.
voici la structure de mon XML :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?xml version="1.0" encoding="ISO-8859-1"?>
<artist n="Pigloo">
<s id="7368">
<t>PAGE 1</t>
<l>le-ragga-des-pingouins.html</l>
<y>2006</y>
<d>2006-04-11</d>
<f id="5714" pid="1">
<p1>2.28571</p1>
<p2>2.28571</p2>
<p3>1.2381</p3>
<tp>MP3</tp>
<vc>4</vc>
</f>
</s>
</artist> |
voici un bout de mon fichier XSL :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <xsl:template match="/">
<span>Page : <xsl:value-of select="$numPage" /></span>
<table style="font-family:verdana;font-size:9pt;" border="0" cellpadding="1" cellspacing="3">
<xsl:for-each select="//s[position() <= $numPage * 10 and position() >= ($numPage - 1) * 10 + 1]">
.......
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet> |
P.S : le tri doit pouvoir s'effectuer sur <t> , sur <p1>, le nom des balise est volontairement très petit, pour eviter un fichier XML trop volumineux.
Merci de vos contributions
Cordialement
Partager