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 :

Rechercher frère gauche


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 237
    Par défaut Rechercher frère gauche
    Bonjour,

    J'ai l'arborescence XML suivante :
    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
     
    <A>
       <B>
         <C>
            <D>
                <para>...........</para>
            </D>
         </C>
         <C>
            <D>
                <table>..............</table>
            <D>
         </C>
       </B>
    </A>

    Lorsque je suis sur le 2eme D (celui qui contient table), je veux savoir si le frère gauche contient un élément para

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xsl:template match="C">
          <xsl:choose>
              <xsl:when test="descendant::table">
                     <xsl:when test="preceding-sibling::para>
                     .....
                     </xsl:when>
              </xsl:when>
         </xsl:choose>
    </xsl:template>
    Je ne trouve rien ?
    Pourtant je suis sur le noeud C ayant une balise table


    Merci pour l'aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Deux choses :

    - C ou D ? C'est juste pas pareil.
    - preceding-sibling::machin signifie "les éléments <machin> frères qui sont avant moi." Dans ton cas, le frère n'est pas un <machin>, c'est un <C> ou c'est juste pas un frère du tout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 237
    Par défaut
    Alors comment j'indique les frère C ayant un D/para

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par henri93 Voir le message
    Alors comment j'indique les frère C ayant un D/para
    Ben, exactement comme ça -_-°.

    Comme je viens de le dire : "frère <truc>" => preceding-sibling::truc

    Ensuite :
    - "dans la liste complète de machin ne garder que le premier" => machin[1]
    - "dans la liste complète de bidule, ne garder que ce qui répond à la condition chouette" => bidule[chouette]
    - condition "avoir un truc" => [truc]

    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preceding-sibling::machin[1][truc/bidule]
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 237
    Par défaut
    merci,

    une dernière question dans le cas du preceding, le premier c'est le premier trouvé en partant de la gauche ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Oui, l'axe preceding-sibling:: est en ordre inverse. Il est donc parcouru dans l'ordre inverse du document, ce qui signifie que s'il était sur une seule ligne, il irait vers la gauche, oui.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [XL-2007] Macro ou code VBA d'un formule Gauche et Recherche
    Par ghisunit dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/03/2012, 22h36
  2. XSLT - Recherche de frères
    Par henri93 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 27/07/2011, 14h52
  3. Réponses: 2
    Dernier message: 26/11/2008, 15h04
  4. Réponses: 2
    Dernier message: 30/11/2007, 13h55
  5. [VB.NET 2005] Recherche de droite à gauche d'un carractere
    Par lezard777 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/04/2006, 16h02

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