Bonjour alors je vous explique mon pb. J'ai besoin d'afficher les entités suivantes et les entités précedent du noeud sur lequel je me trouve. Voici un cas pratique
Voici mon fichier fxml.xml
Et voici mon fichier fxsl.xsl
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="fxsl.xsl" type="text/xsl"?> <article> <chapitre> <id>1</id> <titre>chap 1</titre> <texte>texte 1</texte> <chapitre> <id>1.1</id> <titre>chap 1.1</titre> <texte>texte 1.1</texte> </chapitre> <chapitre> <id>1.2</id> <titre>chap 1.2</titre> <texte>texte 1.2</texte> <chapitre> <id>1.2.1</id> <titre>chap 1.2.1</titre> <texte>texte 1.2.1</texte> </chapitre> <chapitre> <id>1.2.2</id> <titre>chap 1.2.2</titre> <texte>texte 1.2.2</texte> </chapitre> <chapitre> <id>1.2.3</id> <titre>chap 1.2.3</titre> <texte>texte 1.2.3</texte> </chapitre> </chapitre> <chapitre> <id>1.3</id> <titre>chap 1.3</titre> <texte>texte 1.3</texte> </chapitre> </chapitre> <chapitre> <id>2</id> <titre>chap 2</titre> <texte>texte 2</texte> </chapitre> <chapitre> <id>3</id> <titre>chap 3</titre> <texte>texte 3</texte> </chapitre> </article>
Le fait est que si je suis sur le chapitre dont l'id est 1.2.2 j'arrive à trouver que le suivant est 1.2.3 de meme lorsque je suis sur n'importe quel autre noeud.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:output method = "text" /> <xsl:template match = "/" > Actuel=<xsl:value-of select="//chapitre[id='1.3']/id"/> <BR/> Precedent=<xsl:value-of select="//chapitre[id='1.3']/parent::*/id"/> <BR/> Suivant=<xsl:value-of select="//chapitre[id='1.3']/following::*/id | //chapitre[id='1.3']/descendant::*/id "/><br/> </xsl:template> </xsl:stylesheet>
Mon problème viens surtout du noeud précedent. Dans le code que je vous donne je n'arrive juste que à trouver le noeud parent de celui sur lequel je me trouve. c'est à dire que si je suis sur 1.2.2 le précedent me trouvera 1.2 alors qu'il devrait me trouver 1.2.1....
Je vois plus trop comment faire la....
Partager