Bonjour,
Je réalise une aide à intégrer dans un intranet. Cette aide doit être consultable avec et sans Flash Player, aussi j'ai choisi de créer un xml unique alimentant un fichier Flash et un xsl, afin de simplifier la maintenance. Tout se passe bien avec le Flash, mais j'ai un problème avec le xsl.
Mon objectif :
Afficher un menu avec les différentes étapes, fonctionnant comme des boutons.
Au clic sur l'une d'elle, récupérer son id, et afficher le contenu correspondant.
Le tout toujours dans le même page (qui se recharge, bien sur).
Mes contraintes :
Pas d'intégration possible dans un fichier php, aucune modification n'étant possible sur le serveur.
Tout doit donc se passer côté client.
Une seule fenêtre, donc pas de lien vers différentes pages spécifiques à chaque étape.
Mon problème :
J'arrive à transmettre l'id de l'étape (@id) cliquée via une fonction javascript (itemClic).
Mais dans cette même fonction, je voudrais récupérer le type de l'étape correspondante.
Hors, l'instruction marche bien, mais pas avec la variable : quelque soit l'étape cliquée, le titre est toujours celui du premier nœud.
Jusqu'à maintenant je ne travaillais le xml qu'avec Flash, aussi la solution que j'ai trouvée n'est sans doute pas la meilleure.
S'il existe d'autre façon de transmettre une variable en restant côté client, je suis preneur !
Pour mieux comprendre, je vous joins ensuite les bouts essentiels du xsl et du xml, ainsi que l'affichage obtenu actuellement.
Je vous remercie pour vos conseils.
Bonne journée !
lilian
Fichier xsl :
Arborescence simplifiée du fichier xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script type="text/javascript"> function itemClic(id) { document.write('Id : ' +id +' Titre : <xsl:value-of select="aide/etape[' +id +']/titre_etape"/>'); } </script> <xsl:for-each select="aide/etape"> <a onClick="javascript:itemClic({@id})"><xsl:value-of select="titre_etape"/></a> <br /> </xsl:for-each>
Affichage actuel, exemple avec l'étape 3 cliquée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <aide> <etape id="x"> <titre_etape> <contenu> ...
Id : 3 Titre : titre de l'étape 1
Partager