Pseudo-imitation d'une BDD et utilisation
Bonsoir tout le monde,
je suis face à un problème.
J'ai un fichier XML de ce type
Code:
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> |
Mon problème est lors de l'affichage des fichiers, d'afficher le nom du dossier à la place de son id.
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
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 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> |
Mais en procédant de cet façon, ma page prend beaucoup de temps
à 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 :)