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 :

Utiliser une variable "externe" dans une condition xsl


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut Utiliser une variable "externe" dans une condition xsl
    Bonjour,

    j'aimerai savoir comment inclure une variable externe (javascript dans mon cas) dans une condition xsl.

    Peut être en passant pas une variable xslt, mais du coup comment assigner ma variable javascript dans<xsl:variable name="id">var javascript</xsl:variable>

    Voici mon exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var cpt = 0;
    var xMax = map.getBounds().getNorthEast().lat();
     
    <xsl:for-each select="entries/entry">
       <xsl:if test="latitude &lt;= xMax">
            cpt++;
        </xsl:if>
    </xsl:for-each>
    alert(cpt);
    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Pas compris.

    On ne peut pas mettre de code JavaScript autour de balises XSLT comme si de rien n'était...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    En fait dans mon script je reccupère une coordonnée sur une carte, la variable xMax.
    J'aimerai pouvoir réutiliser cette variable xMax pour trouver dans mon fichier XML les "entries" dont la latitude est inférieure à xMax. mon problème est que je ne sais pas comment intégrer cette variable dans ma condition.
    J'espère avoir été un peu plus clair, merci pour votre aide.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Tu n'as rien clarifié du tout.

    J'ai dit : on ne peut pas mettre de JavaScript autour de balises XSLT. Alors pourquoi en mets-tu ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Je ne suis pas trop d'accord sur ton affirmation (ou je n'ai pas compris ce qui n'est pas à exclure non plus ). On peut très bien mettre du Javascript autour de balises XSLT, tu peux avoir par exemple (je simplifie) :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function(){
    plot1 = $.jqplot('<xsl:value-of select="$variable1"/>optionsObj);
    });

    non ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    A priori non, ça ne semble pas avoir de sens, et des essais simples ne donnent, comme on peut s'y attendre, rien de concluant avec ce code.

    Maintenant, impossible ça n'existe pas en informatique. On peut toujours créer des situations atypiques où ce qui n'a normalement aucun sens, prend un sens.

    En l'occurrence, on peut imaginer une feuille de style XSLT dont le résultat est un document HTML. Ce document pourrait être créé, (ce qui ne serait pas malin à l'aide de XSLT,) avec du JavaScript à l'intérieur. Ce JavaScript pourrait avoir une partie variable (ce qui devient vraiment stupide) et cette partie varierait d'une manière calculable dans le contexte XSLT. On pourrait donc envisager de mettre des balises XSLT au milieu du JavaScript, et si on fait cette bêtise, ne pas avoir la présence d'esprit de séparer le JavaScript du reste avec <xsl:text>.

    Ce qui aurait pour effet qu'on a un template XSLT, qui contient une balise <script>, qui contient du JavaScript, qui contient des balises XSLT. Donc du JavaScript autour de XSLT. C'est possible.
    Mais il a fallu que j'invente une situation grotesque et alambiquée qu'il n'y a aucune raison de deviner a priori, et la manière dont cette situation marche dépend entièrement de quelle est cette situation que j'ai inventée de nulle part.

    Conclusion : on ne peut pas travailler sans savoir comment est-il devenu possible de mettre du JavaScript autour de XSLT.

    L'idée était bien sûr d'expliquer d'abord comment une telle chose est possible, et ensuite de parler du problème.
    En l'occurrence, Dans la situation que j'ai inventée, il devrait être évident que le JavaScript ne peut pas modifier la valeur d'une variable XSLT. Ceci sans même parler du fait qu'une variable XSLT ne devrait jamais changer de valeur, bien que certains moteurs rendent possible de se tirer une balle dans le pied de cette manière.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2014, 10h23
  2. Réponses: 3
    Dernier message: 13/12/2009, 17h04
  3. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34
  4. Réponses: 1
    Dernier message: 17/01/2007, 21h52

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