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

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>
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

help please


merci.



...