Salut,
eh oui encore un probléme bizarre
je commence avec le 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 <xsl:template match="struct"> <h3> <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="pageWeb" /> </xsl:attribute> <xsl:value-of select="nom" /> </xsl:element> </h3> <p> <xsl:value-of select="description"/> </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:if test="contains(struct/var[@name='implicationprojet'],nom)"> <li><xsl:value-of select="struct/var[@name='nom']"/></li> </xsl:if> </xsl:for-each> </p> </xsl:template>
pour commencer, j'utilise document() parce que je travaille avec 2 fichiers XML. dans je cherche dans le 2eme fichier XML "personnes.xml" les personnes qui ont dans le champs implicationprojet : le 'nom' du noeud courant du fichier XML sur lequel je travaille dans mon XSL qui projets .
j'explique, si par exemple dans mon noeud actuel du fichier projets.xml , j'ai <nom>projet1</nom> , et que dans le 2eme fichier XML, je trouve dans implication projet la valeur 'projet1/projet2' , donc cette derniere chaine de caractere contient le 'nom' du noeud actuel du fichier XML principal ... j'essaye de faire ca avec le contains : "contains(struct/var[@name='implicationprojet'],nom)">
<li><xsl:value-of select="struct/var[@name='nom']"
mais le probléme c'est que ca rentre toujours dans ce if et ca m'Affiche tous les noms du fichiers personnes.xml , donc contains retourne toujours true , et je ne comprend pas pourquoi ?
merci
...
Partager