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 :

[XSL]Test sur le noeud fils suivant?


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
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut [XSL]Test sur le noeud fils suivant?
    Bonjour,

    J'aimerais arriver à tester la valeur de la balise suivante par rapport à une position donnée dans mon ficher XML.
    Mon fichier XML ressemble à ça:

    <a></a>
    <a></a>
    <a></a>
    <b></b>
    <b></b>
    <b></b>
    <b></b>
    <a></a>
    ...

    En fait, lors de l'application de ma règle sur le noeud a, j'aimeraiss avoir si le noeud suivant est un fils b et executer un traitement ou alors si je passe à un frère a et executer un autre traitement.

    Du coup, pour mon <xsl:when='' ">, je cherche une condition qui va bien...
    je pensais à un following-sibling mais ça n'a pas l'air de focntionner!

    Merci d'avance pour votre aide!

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]
    devrait être bon ensuite il te faut tester name() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]/name() = 'a'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]/name() = 'b'
    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
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par Swoög
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]
    devrait être bon ensuite il te faut tester name() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]/name() = 'a'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1]/name() = 'b'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following-sibling::*[1][name() = 'a']
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name(following-sibling::*[1]) = 'a'
    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    Oui en effet Grandfather, name() semble réclamer un besoin d'un noeud en argument!

    Je vais tester, merci!

  5. #5
    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
    toute mes excuse, j'ai l'habitude de l'utiliser dans les prédicats donc j'en ai déduis que ça fonctionnais comme ça... de plus il me semblait l'avoir déjà utiliser ainsi, mais je dois me tromper...
    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)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    Euh, de toute façon il semblerait que ça ne fonctionne pas!
    En effet, quoi qu'il arrive, le nom est tjs egal à "a" et jamais à "b", chose qui m'échappe...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <xsl:template match="a">      
    <tr name="tr_tertiaire" style="display:none" class="ligne3">
    <xsl:if test="name(following-sibling::*[1])= 'b'"><td>/</td></xsl:if>
    Avec le xml que je vous ai mis en exemple, le test ne passe jamais...

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/07/2009, 10h11
  2. [XSL] Test sur un xsl-if qui semble ignoré
    Par Shadow aok dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2006, 18h23
  3. Test sur le noeud frère suivant (XSLT, XPath)
    Par rprom1 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/02/2006, 16h04
  4. [XSL] Test sur le nom d'une balise
    Par KibitO dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 18/12/2005, 13h44
  5. xsl : test sur les chaine de caractère
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/07/2005, 15h43

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