[XPath] sélection de noeuds entre 2 noeuds
Bonjour, mon problème est relativement simple : je voudrais récupérer tous les nœuds qui se trouvent entre un nœud A et un noeud B, ces deux nœuds étant au même niveau dans la structure que les nœuds à récupérer.
Un exemple rendras les choses plus claires :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:inline font-family="Arial, sans-serif" font-size="10pt">
##BODY##
</fo:inline>
<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">
##/BODY##
</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>
<fo:inline lang="4">blabla</fo:inline>
</fo:inline>
</fo:block> |
Dans cet éxemple j'aimerais récupérer QUE le contenu des nœuds inline qui se trouvent entre ##BODY## et ##/BODY##, et ne pas récuperer donc les deux derniers nœuds inline dans cet exemple (Learning XML et blabla)
J'ai trouvé quelque chose sur le mailing de Stylus studio qui semble corréspondre à mon souci :
Code:
following-sibling::*[generate-id(following-sibling::tag[1]) = generate-id(current()/following-sibling::tag[1])]
Si quelqu'un pouvais proposer une piste ça serais pas de refus ^^
PS : je ne travaille pas en xslt, j'ai simplement besoin de créer un chemin xPath exploitable ensuite parallèlement à du DOM pour parcourir mon xml