Bonjour à tous,
J'ai fait un script qui parcourt une arborescence de dossier et génère un document XML.
La forme serait ainsi :
Lors de la création de la feuille XSL, j'ai l'impression que je ne vais pas pouvoir transformer cette arborescence en tableau simple.
Exemple :
ou encore quelque chose comme ça
A chaque fois je n'obtiens aucun résultat.
Quelqu'un a déjà eu l'occasion d'appliquer un XSL à une structure récursive, ou faut-il que j'essaye de changer le document XML ?
L'idée de l'arborescence me plait bien en tout cas.
Merci d'avance pour votre aide.
Hazrelle
J'ai fait un script qui parcourt une arborescence de dossier et génère un document XML.
La forme serait ainsi :
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet href="xsl.xsl" type="text/xsl" ?>
<journal>
<dossier>
<nom>root</nom>
<taille>1000</taille>
<dossier>
<nom>sub1</nom>
<taille>1001</taille>
<fichier>
<nom>filesub1</nom>
<taille>1002</taille>
</fichier>
<fichier>
<nom>filesub2</nom>
<taille>1003</taille>
</fichier>
</dossier>
<dossier>
<nom>sub2</nom>
<taille>1004</taille>
<fichier>
<nom>filesub3</nom>
<taille>1005</taille>
</fichier>
</dossier>
</dossier>
</journal>
Lors de la création de la feuille XSL, j'ai l'impression que je ne vais pas pouvoir transformer cette arborescence en tableau simple.
Exemple :
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>temp</temp>
</head>
<body>
<table width="400" border="1">
<xsl:apply-templates select="dossier"/>
<xsl:apply-templates select="fichier" />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="dossier">
<tr>
<td><xsl:value-of select="dossier/nom" /></td>
<td><xsl:value-of select="dossier/taille" /></td>
</tr>
</xsl:template>
<xsl:template match="fichier">
<tr>
<td><xsl:value-of select="fichier/nom" /></td>
<td><xsl:value-of select="fichier/taille" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
ou encore quelque chose comme ça
<table width="400" border="1">
<xsl:for-each select="dossier">
<xsl:apply-templates select="dossier"/>
</xsl:for-each>
<xsl:for-each select="fichier">
<xsl:apply-templates select="fichier" />
</xsl:for-each>
</table>
A chaque fois je n'obtiens aucun résultat.
Quelqu'un a déjà eu l'occasion d'appliquer un XSL à une structure récursive, ou faut-il que j'essaye de changer le document XML ?
L'idée de l'arborescence me plait bien en tout cas.
Merci d'avance pour votre aide.
Hazrelle