xsl:for-each item précédent et suivant
Bonjour, j'ai le problème suivant en XSL et j'arrive pas à voir comment le résoudre.
Soit le xml suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<document>
<section id="A">
a a a a a
<section id="AA">
AA AA AA AA
</section>
<section id="AB">
AB AB AB AB
</section>
</section>
<section id="B">
b b b b
</section>
<section id="C">
c c c c
<section id="CA">
ca ca ca ca
</section>
</section>
</document> |
j'ai besoin de générer ceci:
Code:
1 2 3 4 5 6
| <item id="A" next="AA">a a a a</item>
<item id="AA" previous="A" next="AB">AA AA AA AA</item>
<item id="AB" previous="AA" next="B">AB AB AB AB</item>
<item id="B" previous="AB" next="C">b b b b</item>
<item id="C" previous="B" next="CA">c c c c</item>
<item id="CA" previous="C">ca ca ca ca</item> |
Alors, pas de problème pour la partie id, je peux très bien faire
Code:
1 2 3
| <xsl:for-each select="//document//section">
....
</xsl:for-each> |
Mais j'ignore comment, à partir du noeud courant, demander "le noeud précédent dans la liste //document//section", pareil avec le noeud suivant. Si l'architecture n'était pas à plusieurs niveaux, j'aurais utilisé previous-sibling et next-sibling, mais ici ce n'est pas possible en raison de la hierarchie.
Si quelqu'un a une idée, merci d'avance.
PS: XSL v2