IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Changer valeur param par cookie?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 41
    Par défaut [XSLT] Changer valeur param par cookie?
    Bonjour @ tous,

    Dans un .xsl j'ai javascript qui lit la valeur d'un cookie. Pas de problème.

    Est-il possible et comment? de passer la valeur du cookie à un param ou une
    variable du .xsl. Ce param ou cette variable servant à effectuer des tests par la suite. <xsl:if test="$toto='hello'">coucou c'est nous</xsl:if> etc.

    Il conviendrait que ce param ou cette variable soit modifié à chaque changement de valeur du cookie, l'appel à la fonction de lecture du cookie étant
    appelée à chaque chargement du .xsl.

    Vouali, voualou.

    Merci.

    Cordialement @ tous.

    -= GDLM =-

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Si ton javascript est dans ton xslt non.
    Si ton javascript est dans du html et que la transformation est faîte par un appel javascript :
    Comment effectuer une transformation XSLT avec JavaScript en utilisant Mozilla/Firefox ?

    ou la même chose mais en passant par une execution serveur de la transformation.

    XSLT/XML seul ne peut résoudre cette problématique

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 41
    Par défaut
    Merci Erwy pour cette réponse rapide et précise.

    Le javascript est effectivement dans le .xsl, donc passons, cependant dans
    le post suggéré j'ai remarqué que l'on pouvait le faire par php. Cela tombe très
    bien dés lors que c'est un script php qui appele le .xml qui appele le .xsl.

    J'ai donc écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $xh = xslt_create();
    //Création des paramètres
    $param = array( 'lang' => 'en', );   // le 'en' serait modifié en fonction d'un cookie...
    //Transformation
    echo xslt_process($xh, $xmlfile, $xslfile,  NULL ,NULL, $param  ); //$xmlfile, $xslfile  path vers les fichiers xml et xsl.
    //Nettoyage des ressources
    xslt_free($xh);
    Oui mais voilà... cela ne marche pas...

    Où est l'erreur???

    Question subsidiaire les test conditionnels .xsl <xsl:if fonctionnent bien
    avec tous les navigateurs... sauf... Opera... Est-ce normal Docteur ???

    Cordialement et merci encore.

    -= GDLMUS =-

    Pour être + précis:

    J'ai un xxx.xsl qui débute ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes" encoding="ISO-8859-1"/>
    <xsl:template match="/">
    <xsl:apply-templates select="statistics"/></xsl:template>
    <xsl:template name ="statistics" match="statistics">
    <xsl:variable name="lang">fr</xsl:variable>
    Pour l'instant, depuis une page php appelante je transforme la var $lang en
    'fr' ou 'en' en fonction de la valeur d'un cookie modifié par un clic sur une
    img d'un drapeau.

    Cela marche parfaitement mais je n'aime pas à avoir à écrire sur le fichier xxx.xsl.

    Dans gwstats.php j'ai plusieurs lignes qui ressemblent à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo " <td><a href=\"gwstats.php?&amp;month=$Month&amp;year=$PreviousYear&amp;link=$PreviousYear/$PreviousYear.xml\">&lt;&lt;</a></td>\n";
    Elles appellent des dates mois années d'un calendrier.

    En fin de traitement, sorti de la section en php, l'affichage est généré par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <object style="height:100%; width:100%; border: none; overflow: hidden; " data="<?php echo $link; $fp=fclose($fp); ?>"></object >   <!-- $fp=fclose($fp);
    C'est le $link qui provoque l'affichage.

    Le but de la manœuvre est de modifier la variable $lang du .xsl depuis gwstats.php en fonction de la valeur du cookie lu dans gwstats.php

    J'espère avoir été compréhensible.

    Pour être + précis encore, le site concerné n'étant pas commercial, je me
    permet de mettre son link. Il sera encore plus aisé de comprendre ce que je souhaite.

    http://www.meteoturbie.net/fr/?pg=11...gw/gwstats.php

    Merci encore -= GDLM =-

  4. #4
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 41
    Par défaut
    Bonjour @ tous,

    Grâce à la suggestion d'Erwy j'ai résolution mon problème.

    Grandement merci.

    Cordialement @ tous.

    -= GDLM =-

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer valeurs 1 par un
    Par pascal5 dans le forum IHM
    Réponses: 3
    Dernier message: 13/11/2012, 12h15
  2. Changer valeur dans un cookie
    Par CinePhil dans le forum Langage
    Réponses: 2
    Dernier message: 04/06/2012, 00h19
  3. [XSLT] remplacer valeur vide par espace
    Par Anubis dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/02/2008, 09h46
  4. [formulire] changer valeur zone texte par un bouton
    Par luz_negra dans le forum IHM
    Réponses: 11
    Dernier message: 02/12/2007, 09h14
  5. [XSLT] Changer la valeur d'un attribut XML
    Par Rouxy007 dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 14/02/2007, 23h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo