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] <xsl:if> test sur plusieurs condition


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Par défaut [XSLT] <xsl:if> test sur plusieurs condition
    Bonjour, je n'arrive pas à faire un test sur plusieurs conditions,
    j'obtiens le résultat suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:if test="not(test1) & not(test2)"> 
    ------------------------------^
    N'y a-t-il pas un moyen d'inclure les deux conditions dans la même clause?
    Cela fonctionne en embriquant deux clause mais c'est pas génial.

    Je voudrais savoir égallement s'il y avait un moyen pour comparer un élément à une liste, comme en SQL: IN, ex: WHERE x IN (1,2,3)

    Y a t'il un autre moyen que not(noeud/*) pour tester si un noeud est vide?

    Qq a-t'il une idée.

    Merci.

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut !

    en fait, là ton XSL est mal formé : tu utilises le symbole & sans utiliser d'entitée, ce qui est interdit, puisque ça rend le XML mal formé...

    essaie de remplacer le & par &amp; ou plus vraissemblablement de mettre "and"
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Pour tester si un noeud est vide tu peux utiliser ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xslt:if test="normalize-space(.)"></xslt:if>

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Par défaut
    ok merci beaucoup Swoög, j'étais cplt à côté...

    Merci Drizzt pour normalize-space(.), mais je crois que je préfère encore
    not(noeud/*) qui parle plus: absence de d'élément dans le noeud.

    N'y a-t-il pas de: empty(noeud) ou qq chose ds le genre.


    Merci.

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Par défaut
    pourtant dans:
    Conditions (XPATH)
    http://haypo.developpez.com/tutoriel...rammation/#LIV

    il est indiqué que l'on peut utiliser la l'opération "a & b"

    qu'est-ce que j'ai loupé?

    Merci.

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    comme je te l'ai dit, le problème ne vient pas du fait de la syntaxe "a & b"
    qui est correcte en soit, mais du caractère &, haypo a oublié de le transformer en &amp;

    parce que si tu mets un & qui ne commence pas une entitée dans un document XML, ton document est alors automatiquement mal formé, donc inutilisable...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Par défaut
    Ok je te remercie Swoög.

    Et pour le IN (comme en SQL) as-tu une idée?

    Merci.

  8. #8
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    en jouant sur contains peut-être : http://www.w3.org/TR/xpath#function-contains
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  9. #9
    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
    et utiliser un and au lieu d'& amp; serait encore plus simple.

    Utiliser le in au lieu du contain parait ici bien compliqué

    Le IN est automatique en xslt SI l'ensemble est un xpath.


    ainsi test="3=/R/test" est vrai si un des /R/test est egal à 3.
    Par contre si ton ensemble de valeur est a cherche hors de ton xml , tu devras utiliser des and

Discussions similaires

  1. [AC-2003] Problème de test sur plusieurs champs dans une table
    Par Cavart dans le forum Access
    Réponses: 1
    Dernier message: 23/11/2011, 14h51
  2. [XL-2007] Test sur plusieurs cellules
    Par catetesse dans le forum Excel
    Réponses: 6
    Dernier message: 21/11/2011, 15h31
  3. [XSLT] Test sur plusieurs valeur
    Par mamax29 dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 03/12/2010, 17h35
  4. unittest : lancer des test sur plusieurs fichiers
    Par rambc dans le forum Général Python
    Réponses: 8
    Dernier message: 30/10/2010, 11h25
  5. [AC-2007] Test sur plusieurs enregistrements d'un sous-formulaire
    Par Crachover dans le forum IHM
    Réponses: 4
    Dernier message: 18/01/2010, 16h38

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