Hello,
Je suis en train de faire un site pour un artiste peintre. J'ai créé un fichier XML listant ces tableaux avec divers éléments comme la date, le titre, etc.
Et je cherche à exploiter ce fichier sur différentes pages, de différentes façons : trier par date, par titre, etc.
Seulement je ne vois pas comment faire varier mon seul XSL pour agir sur mon seul XML…
C'est pourquoi je me demandais si il était possible de créer un XSL qui trierait telle chose, un autre afficherait autre chose mais à partir d'un seul XML ?…
Merci beaucoup,
Sam
Beaucoup de possibilités sont offertes avec XML/XSLT, mais les modalités d'application varient avec le contexte. Typiquement l'environnement client (transformée XSL réalisée par le navigateur par exemple) est bien plus contraignant qu'un environnement serveur classique.

Ce que tu décris me semble relever dans la pratique d'un environnement serveur selon le schéma suivant :
- le client fait des choix (tris, filtres...) via un formulaire html.
- le serveur récupère ces choix dans des variables
- le serveur appelle le processeur local avec des paramètres issus des variables du formulaire
- ta transformée XSL prend en compte ces paramètres (xsl:param sous la racine)
- le résultat est renvoyé à l'internaute
Merci pour ta réponse !
En fait je souhaiterant effectuer les tris sur la même page affichant les résultats (xsl)… Est ce possible ? Dans ce cas j'intègre le formulaire html au document xsl, et les variables sont envoyées à cette même page ?
Merci,
Sam
Par exemple, avec php5, tu récupères une variable _POST['tri'] que tu fais passer à ton processeur Xslt comme ceci :
<?php
                // on crée le processeur
                $proc = new xsltProcessor();
                
                // on importe la feuille de style Xslt
                $proc->importStylesheet($xslt);
                
                // on inclu un paramètre
                $proc->setParameter('','orderby',$_POST['tri']);
                
                // on écrit le résultat
               echo $proc->transformToXml($colors);
?>


Et dans ta feuille de style Xslt, tu fais un truc du genre :
<xsl:apply-templates>
<xsl:sort select="$orderby"/>
</xsl:apply-templates>


Et le tour est joué Smiley lol

a+
Je me galère de trop Smiley langue

mon fichier html formulaire :
j'arrive pas à balancer mon code[eek]  

Modifié par Samurai (31 May 2005 - 13:29)