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 match="noeud"> problème


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut [XSLT] <xsl:if match="noeud"> problème
    Voila, je voudrais tester l'existance d'un noeud..

    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
     
    <famille1>
        <enfant>
            <garcon>
              <eric>23ans</eric>
            </garcon>
        </enfant>
    </famille1>
     
    <famille2>
        <enfant>
            <fille>
                <lucie>18ans</lucie>
            <fille>
        </enfant>
    </famille2>
    voila et donc je voudrais pouvoir tester l'existance de tel ou tel balise (fille ou garcon, ou les deux)

    pour ma part, je pensai faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <!-- le $chemin est definit correctement (je m'en sert ailleur et ça marche) -->
     
    <xsl:if match="$chemin/fille">
        <!-- faire qqch en rose-->
    </xsl:if>
     
    <xsl:if match="$chemin/garcon">
        <!-- faire qqch en bleu-->
    </xsl:if>
    le problème c'est que le parser me sort une erreur...

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par DrDam Voir le message
    le problème c'est que le parser me sort une erreur...
    C'est normal, ce n'est pas "match" mais "test". D'autre part, pour ce genre de test dont les clauses s'excluent mutuellement, il est plus efficace d'utiliser un xsl:choose.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut
    donc je doit faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:if test="$chemin/fille">
        <!-- faire qqch en rose-->
    </xsl:if>
    ??

    D'autre part, pour ce genre de test dont les clauses s'excluent mutuellement, il est plus efficace d'utiliser un xsl:choose.
    oui je sais j'ai encore trouvé un exemple nul ... mais bon ... je m'améliore ... c'est le principal

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/09/2007, 14h04

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