Bonsoir tout le monde,
je suis face à un problème.
J'ai un fichier XML de ce type
Mon problème est lors de l'affichage des fichiers, d'afficher le nom du dossier à la place de son id.
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 <source> <files> <file> <name>blabla</name> <folder>1</folder> </file> <file> <name>toto</name> <folder>2</folder> </file> </files> <folders> <folder id="1">/home</folder> <folder id="2">/var/log</folder> </folders> </source>
Bien évidemment, ma façon de procéder n'est pas forcément la meilleure,
mais c'est ce que j'ai trouvé de mieux pour simuler une BDD dans un fichier XML.
Or, il faut que j'ai un rendu HTML de ce fichier, donc utilisation de XSLT.
Pour l'instant, je fais ça en XSLT
Mais en procédant de cet façon, ma page prend beaucoup de temps
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 <?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" encoding="ISO-8859-1" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes" /> <xsl:template match="/"> <html> <body> <h1>Mes fichiers</h1> <xsl:apply-templates /> </body> </html> </xsl:template> <xsl:template match="file"> <h2><xsl:value-of select="name" /></h2> <xsl:apply-templates /> </xsl:template> <xsl:template match="folder"> <div> <xsl:text>Dossier : </xsl:text> <xsl:variable name="folder_id"><xsl:value-of select="." /></xsl:variable> <xsl:value-of select="//source/folders/folder[@id=$folder_id]" /> </div> </xsl:template> </xsl:stylesheet>
à s'afficher (plus de 2 sec selon FasterFox) alors qu'elle est en local.
Voilà, si vous pourriez m'aider, ou bien une meilleure solution à me proposer.
Mon but est juste de pas avoir trop de redondance dans mon fichier XML,
que si je dois changer un dossier, je ne le fais qu'à un seul endroit.
Merci, à bientot
Partager