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] filtre sur apply-templates


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut [XSLT] filtre sur apply-templates
    Bonjour,

    j'ai ecrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:variable name="TypeFilter" select="'RIVET'"/>
    <xsl:template match="/">
    ...
    <xsl:apply-templates select="STR/STRItem/TYPE[.=$TypeFilter]">
    </xsl:apply-templates>
    en esperant recuperer les elements de type rivet : malheureusement, le template n'est jamais appliqué, bien que mon xml contienne des rivets.

    si je supprime [.=$TypeFilter]" j'obtiens bien tous mes types, dont les rivets.
    si je remplace par [.='RIVET'] ma liste est vide
    j'ai essaye <xsl:apply-templates select="STR/STRItem[TYPE=$TypeFilter]/TYPE"> sans plus de succes.


    qqun peut m'aider ?
    merci d'avance

  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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Le xpath est "théoriquement valable".
    Je veux dire par là qu'il est bon dans l'absolu.
    Il n'y aurait pas des espaces ou autres différence de caractères dans ton champ TYPE ?

    Autre ment envois un extrait de ton xml pour que l'on regarde

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut
    Bonjour Erwy,
    effectivement, j'ai dans mon xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <TYPE>
    RIVET
    </TYPE>
    lorsque je met en une ligne ca marche :
    le pb est que je ne maitrise pas le xml que j'ai en entrée. as-tu une solution pour tester la variable sur 3 lignes ? j'ai regarde la fonction matches, mais mon browser ne la connait pas.

    merci de ton aide.

  4. #4
    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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Pense à mettre des balises codes dans tes messages, cela m'évitera de les rajouter

    Pour le reste essaye avec la fonction normalize-space()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="STR/STRItem/TYPE[normalize-space(.)=$TypeFilter]">

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Par défaut
    Super, ca marche. Desole, je n'avais pas vu qu'on pouvait mettre une balise code !

    Merci bcp.

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

Discussions similaires

  1. [XSLT] xsl:sort + apply-templates
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 04/10/2007, 17h52
  2. [XSLT] problème avec apply-templates
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 01/11/2006, 11h20
  3. [XSLT] question sur les templates
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/10/2006, 12h39
  4. [XSLT] Problème avec apply-templates
    Par NeoMan dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 29/12/2005, 14h45
  5. [XSLT] Différence entre apply-templates et call-template
    Par Cpt.FLAM dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/04/2005, 18h47

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