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 ne prend pas en compte la variable : quelque soit l'étape cliquée, le titre est toujours celui du premier nœud.
Extrait de l'instruction (détaillée plus bas) :
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 :
Affichage actuel, exemple avec l'étape 3 cliquée :
Id : 3 Titre : titre de l'étape 1
Modifié par ounours (12 Apr 2007 - 09:25)
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 ne prend pas en compte la variable : quelque soit l'étape cliquée, le titre est toujours celui du premier nœud.
Extrait de l'instruction (détaillée plus bas) :
' Titre : <xsl:value-of select="aide/etape[' +id +']/titre_etape"/>'
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 :
<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>
Arborescence simplifiée du fichier xml :
<aide>
<etape id="x">
<titre_etape>
<contenu>
...
Affichage actuel, exemple avec l'étape 3 cliquée :
Id : 3 Titre : titre de l'étape 1
Modifié par ounours (12 Apr 2007 - 09:25)