bonjour, voilà je me casse la tête pour trouver une solution à mon problème mais sans succès :

J'ai un xml de ce type :
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
16
17
18
19
20
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
 
	<fo:inline font-family="Arial, sans-serif" font-size="10pt">
		<fo:leader lang="7">blde la patate</fo:leader>
		<fo:inline font-weight="bold">Nom : </fo:inline>
		<fo:inline lang="2">B</fo:inline>
		<fo:leader>29.99</fo:leader>
		<fo:inline lang="3" font-weight="bold">C</fo:inline>
	</fo:inline>
 
	<fo:inline font-family="Arial, sans-serif" font-size="10pt">
		<fo:inline lang="4">Learning XML</fo:inline>
		<fo:inline lang="4">Learning XML</fo:inline>
	</fo:inline> 
 
	<fo:inline font-family="Arial, sans-serif" font-size="10pt">
		<fo:inline lang="4">Learning XML</fo:inline>
		<fo:leader>39.95</fo:leader>détails qui n'ont pas de noeud
	</fo:inline> 
</fo:block>
En gros je voudrais sélectionner que le noeud du milieu dans le cas présent :

Je veut sélectionner tous les inline du document qui contiennent au moins un noeud du même noeud à l'interrieur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
//fo:inline[count(fo:inline)>=1]
jusque la aucun souci, mais en plus de ça j'aurais besoin de les sélectionner que si le noeud inline ne contient pas des balises <leader>
J'ai essayé quelquechose comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
//fo:inline[count(fo:inline)>=1 and child::*!='fo:leader']
Code : Sélectionner tout - Visualiser dans une fenêtre à part
//fo:inline[count(fo:inline)>=1 and ./node()!='fo:leader']
mais je n'arrive pas a faire en sorte que celà marche

si quelqu'un avais une idée elle serais appréciée, merci ^^

EDIT : j'avais oublié, sur un fofo je suis tombé sur ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
//fo:inline/*[position() = 1] is same as parent/*[1]
mais je ne comprend pas du tout