Bonjour,
c'est dans un code XSL, je travaille avec 2 fichiers XML , le fichier principal "projets.xml", toutes les lectures sont correctes, mais le 2eme fichier xml ("personnes.xml") que j'ouvre avec la fonction Document(), ca ne marche pas ...
voici la structure du fichier personnes.xml
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 <mysql> <database name="personnes"> <table> <fiche> <var name="id">..</var> <var name="nom">...</var> <var name="prenom">...</var> <var name="statut">...</var> <var name="formation">...</var> <var name="pageWebPerso" generation="auto"></var> <var name="photo"></var> <var name="distinctions" generation="none"></var> <var name="implicationprojet"><projet>projet1</projet><projet>projet2</projet></var> <var name="tel"></var> <var name="local"></var> <var name="courriel"></var> <var name="implicationlabo">5059<laboratoire>..</laboratoire></var> </fiche> </table> </database> </mysql>
ce que je veux faire, c'est pour chaque projet du fichier projets.xml, je trouve la liste des personnes qui y sont impliquées, grace au champp <implicationprojet>
voici mon code
c'est la partie du code en rouge que ca foire, cette ligne : <xsl:if test="contains(var[@name='implicationprojet']/projet,$nomProjet)"> , le test n'est jamais a true donc j'ai probléme avec mon expression Xpath
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 <xsl:template match="struct"> <xsl:variable name="nomProjet" select="nom"/> <h3> <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="pageWeb/francais" /> </xsl:attribute> <xsl:value-of select="nom" /> </xsl:element> </h3> <p> <xsl:value-of select="description/francais"/> </p> <p> État du projet: <xsl:value-of select="etat"/> </p> <p> la liste des personnes impliquées dans ce projet: </p> <p> <xsl:for-each select="document('personnes.xml')/mysql/database/table/fiche"> <xsl:for-each select="var[@name='implicationprojet']/projet"> <xsl:if test="contains(var[@name='implicationprojet']/projet,$nomProjet)"> <li><xsl:value-of select="concat(var[@name='nom'],' ',var[@name='prenom'])"/></li> </xsl:if> </xsl:for-each> </xsl:for-each> </p> </xsl:template>
help please
merci.
...
Partager