Bonjour
je chercher à transformer un document xml via un template xsl. Jusque-là rien d'extraordinaire.
Mon Xml contient des noeuds de types applications et des noeuds de type folder qui peuvent être au même niveau ou hiérarchisé.
Par exemple :
Code xml : 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 <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <application> <name>RH1</name> </application> <folder name="RH"> <application> <name>RH2</name> </application> </folder> <folder name="Group 1"> <application> <name>test 5</name> </application> <folder name="Group 11"> <application> <name>test 4</name> </application> </folder> <application> <name>test 3</name> </application> </folder> </root>
Mon but est de les afficher dans cet ordre.
Pour cela j'avais au départ un xsl du type :
Code xml : 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 <?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl='urn:schemas-microsoft-com:xslt'> <xsl:template match="/"> <ul id="tt" class="easyui-tree" data-options="animate:true,dnd:true,checkbox:true,checkonlyLeafCheck:true"> <xsl:apply-templates select="root/folder" /> <xsl:apply-templates select="root/application" /> </ul> </xsl:template> <xsl:template match="folder"> <li> <span><xsl:value-of select="@name" /></span> <ul> <xsl:apply-templates select="folder" /> <xsl:apply-templates select="application" /> </ul> </li> </xsl:template> <xsl:template match="application"> <li> <a href="#"><xsl:value-of select="name" /></a> </li> </xsl:template> </xsl:stylesheet>
Mais du coup il ne conserve pas l'ordre. Il prend tout d'abord les folder puis les applications.
Comment puis-je faire pour conserver l'ordre de mon xml ?
Merci d'avance
Partager