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 :

[XPATH] résolution des contextes XPath


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [XPATH] résolution des contextes XPath
    Bonjour à tous.

    J'ai un problème avec une requete XPath que je ne parviens pas à écrire

    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
    <root>
    	<b />
    	<a />
    
    	<b />
    	<a /> <!-- Je veux ce noeud la ... -->
    	<a /> <!--         ... et celui-la -->
    	<a /> <!-- le contexte de ma requete est fixe ici -->
    	<a />
    
    	<b />
    	<a />
    	<a />
    </root>
    Je souhaite récupérer les noeuds 'a' contenus entre la dernière balise b et la balise définissant le contexte (et uniquement ceux-là). Problème simple en apparence ? Oui mais je ne parviens pas à le modéliser en XPath !

    Qqun aurait une idée ? Merci d'avance !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Après 24h d'intense réflexion sur le sujet, j'en suis venu à me dire que c'est impossible.

    En effet : le contexte de la requete xpath change pour chaque prédicat (= [expression entre crochet]). cad il passe sur le noeud sur lequel on applique le prédicat. Ceci implique qu'il est impossible de retrouver le noeud définissant le contexte originel dans un prédicat .

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ./preceding-sibling::a[position() < ./following-sibling::b/position() ]
    n'est pas une syntaxe correcte car position() ne peut être appliqué qu'au noeud courrant (cad le 'a', et pas au 'b').

    .... et je ne vois pas de solution alternative en xpath .....

    Bon bah étant donné que je ne peux pas agir en aval sur le document XML, qui est issu d'une normalisation, je vais faire un traitement spécifique en DOM pour résoudre ce cas épineux. Poil au yeux.

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/07/2007, 15h43
  2. [XSLT-XPath] Probleme de requête XPath à cause des namespaces
    Par Eògan dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 26/07/2007, 10h41
  3. [Xpath] Sélection des noeuds dont un attribut
    Par toxine dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 29/01/2007, 14h22
  4. [XPath] Recuperation des noeuds Entre Deux Commentaires
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 03/07/2006, 13h08

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