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 :

Déclaration de variable pour un template -> comment faire ?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 186
    Par défaut Déclaration de variable pour un template -> comment faire ?
    Bonjour,
    Voilà, j'ai essayé le code suivant (extrait seulement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:template match="enregistrements/audios/enseignements/auteur[@nom='Souffle56']">
    -> Ca fonctionne très bien, mais si je veux réutiliser ce code avec cette fois la variable "$auteur_choisi", comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:variable name= "auteur_choisi"><xsl:value-of select= "Souffle56"/></xsl:variable>
    <xsl:template match="enregistrements/audios/enseignements/auteur[@nom='{$auteur_choisi}']">
    là il ne la prend pas !
    Aurais-je mal formulé mon template ? Qu'en pensez vous, SVP ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 186
    Par défaut
    Personne n'aurait une idée ?

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Il faut passer par des call-template & with-paramm:,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:variable name="xx">
      <html>
      <body>
      <xsl:call-template name="show_title">
        <xsl:with-param name="title" select="titre test"/>
      </xsl:call-template>
      </body>
      </html>
    </xsl:variable>
     
    <xsl:template name="show_title" match="/">
      <xsl:param name="title" />
      <xsl:for-each select="catalog/cd">
        <p>Title: <xsl:value-of select="$title" /></p>
      </xsl:for-each>
    </xsl:template>
     
    </xsl:stylesheet>

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    En fait tu peux faire des apply-templates avec params aussi, c'est mieux je pense :
    http://www.zvon.org/xxl/XSL-Ref/Tuto...eters/vp5.html

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 186
    Par défaut
    Ok Morbo,
    pour essayer avec des "apply-templates avec params"... Après, aurais-tu quelque autre adresse qui me soit un peu plus "accessible" à ce sujet ? car je ne fais que débuter dans le domaine, et là, mes compétences ne me permettent pas d'assimiler l'exemple que tu me proposes à travers ton lien !
    Par avance, Merci !

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Tu pourrais mettre le code de ton xml (simplifié si besoin) et celui de ton xsl-t entier?
    Je regarderai ça demain.

    Mais en gros, l'idée c'est que tu ne peux pas passer de variables lorsque tu définis un template (une règle), ce qui est logique. Par contre tu peux en passer lorsque tu appliques/appelles cette règle (dans les apply/call-template).

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

Discussions similaires

  1. Déclaration des variables pour PL/SQL
    Par amola1992 dans le forum PL/SQL
    Réponses: 5
    Dernier message: 10/03/2015, 10h17
  2. [XL-2007] Déclaration de variable pour plusieurs formulaires
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/07/2014, 10h38
  3. [MEX] Probleme de déclaration de variable pour fonction MEX
    Par edwoodhxc dans le forum Signal
    Réponses: 7
    Dernier message: 03/05/2012, 15h18
  4. Réponses: 0
    Dernier message: 03/12/2007, 12h28
  5. Déclarations de variables pour tous les éléments d'un workbook
    Par kebab666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2007, 16h50

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