XSL problème de hiérarchie
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:
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:
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