merci pour votre suggestion; c'est exactement ce que je cherchais à
faire...j'aimerais maintenant compliquer un peu le problème en
généralisant la position à partir du chemin absolu du noeud à extraire
et du label...
si on reprend le 1er exemple ci-dessous :
à partir de "label3", TD[1]/P[6]/text()[1] devrait être automatiquement
transformé en
TD[1]/P[ancestor-or-self::node()/preceding-sibling::node()//text()[contains(.,
"label3")]][position()=2]/text()[1]
--> la position de P (2, en l'occurence) est déduite automatiquement
Fabrice
Stephane Bonhomme wrote:
>TD/P[preceding-sibling::P//text()[contains(.,"label3")]][position()=2]/text()
>
>Le prédicat position()=2 s'applique au sous noeud résultat du premier
>prédicat.
>
>stéphane
>
>Le mardi 08 février 2005 à 12:37 +0100, Fabrice Estiévenart a écrit :
>
>
>>bonjour,
>>
>>avec xpath, j'aimerais sélectionner le (contenu du) second noeud (de nom
>>"P") à partir du noeud ayant dans ses descendants la chaine de caractère
>>"label3"
>>
>>sur un 1er exemple, cela donne ceci :
>><td>
>> <h1>label1</h1>
>> <p>data1</p>
>> <p>data2</p>
>> <p>data3</p>
>> <h1>label2</h1>
>> <p>data4</p>
>> <h1>label3</h1>
>> <p>data5</p>
>> <p>data6<!--à sélectionner--></p>
>> <p>data7</p>
>></td>
>>
>>sur un second exemple :
>><td>
>> <h1>label1</h1>
>> <p>data1</p>
>> <h2>label2</h2>
>> <p>data2</p>
>> <p>data3</p>
>> <p>data4</p>
>> <p>data5</p>
>> <h3>label3</h3>
>> <p>data6</p>
>> <p>data7<!--à sélectionner--></p>
>></td>
>>
>>si j'utilise ceci :
>>TD/P[position()=2]/text()[ancestor-or-self::node()/preceding-sibling::node()//text()[contains(.,
>>"label3")]]
>>
>>cela ne marche pas car la position est par rapport au TD et pas par
>>rapport au noeud H1 (ou H3)
>>
>>avez-vous des idées, pistes de réflexion ? merci pour votre aide
>>précieuse !!!
>>
>>Fabrice
>>
>>
>>--
>>Devenez redacteur <XML>fr et contribuez au developpement du
>>xml francophone (http://xmlfr.org/infos/redacteurs/) !
>>
>>Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>>
>>Cette liste est a votre disposition pour discuter en francais de
>>tout sujet technique lie a XML.
>>
>>Pour resilier votre abonnement, envoyez un message contenant
>>la commande "unsubscribe" a xml-tech-request@xmlfr.org
>>(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>>
>>
>>
>>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Feb 8 16:27:28 2005