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 :
En gros je voudrais sélectionner que le noeud du milieu dans le cas présent :
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>
Je veut sélectionner tous les inline du document qui contiennent au moins un noeud du même noeud à l'interrieur
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part //fo:inline[count(fo:inline)>=1]
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']mais je n'arrive pas a faire en sorte que celà marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part //fo:inline[count(fo:inline)>=1 and ./node()!='fo:leader']
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 :
mais je ne comprend pas du tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part //fo:inline/*[position() = 1] is same as parent/*[1]
Code : Sélectionner tout - Visualiser dans une fenêtre à part is same as parent/*[1]
Partager