C'est bon ! Je crois enfin avoir compris comment raisonner en XPath !
Alors pour la question 1, il suffisait juste de prendre les frères qu'il y avait avant et après noeud de départ. La solution devrait donc etre :
following-sibling::node()|preceding-sibling::node()
Pour la 2-a si j'ai bien compris, ce n'est pas la peine d'aller jusqu'a <magasin> pour faire la comparaison. Il suffit juste de d'aller directement sur <achat> pour récuperer l'attribut "idMagasin" puis de remonter au parent <client> pour récuperer leurs identifiants. La solution devrait donc etre :
//achat[@idMagasin = "mag1"]/parent::client/@identifiant
Pour la 2-b et 2-c, il faut que je prenne le nom aussi. La solution devrait donc etre :
//client[ achat/produit/@montant > 30 ]/identite/nom
et
//client[ not(@identifiant > //client/@identifiant) ]/identite/nom
Pour la 2-d, tu ne m'as rien dit ! Je dois la concidérer comme OK ?
Partager