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
| <?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="domaine-gr" match="Document" use="Domaine" />
<xsl:key name="famille-gr" match="Document" use="concat(Domaine, '/', Famille)" />
<xsl:template match="/">
<html>
<head>
</head>
<body>
<ul class="niveau1">
<xsl:for-each select="//Document[generate-id()= generate-id(key('domaine-gr',Domaine)[1])]">
<li>
<xsl:value-of select="Domaine" />
<ul class="niveau2">
<xsl:for-each select="key('domaine-gr',Domaine)">
<xsl:for-each select="//Document[generate-id()= generate-id(key('famille-gr',concat(Domaine,'/',Famille))[1])]">
<li>
<xsl:value-of select="Famille" />
<ul class="niveau3">
<xsl:for-each select="key('famille-gr',concat(Domaine,'/',Famille))">
<li>
<xsl:value-of select="Libelle" />
</li>
</xsl:for-each>
</ul>
<xsl:value-of select="Libelle" />
</li>
</xsl:for-each>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |