Bonjour;
j'ai un petit fichier xml qui est :
Je souhaite comparer de l'attribut numD de l'élément <ville> avec la valeur de l'attribut numD de l'élément <departement>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <bd> <villes> <ville nomV="Abbeville" numD="80"/> <ville nomV="La Gacilly" numD="56"/> <departements> <departement numD="14" nomD="Calvados"/> <departement numD="56" nomD="Morbihan"/> </departements> </bd>
J'ai essayé le code xsl suivant:
J'ai essayé aussi avec la balise xsl:if seul
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 <xsl:variable name="villes"> <xsl:value-of select="bd/villes/ville@numD"/> </xsl:variable> <xsl:variable name="depts"><xsl:value-f select="bd/departements/departement@numD"/></xsl:variable> <xsl:for-each select="/"> <xsl:if test="$villes=$depts"> <tr> <td><xsl:value-of select="bd/villes/ville@nomV"/></td> <td><xsl:value-of select="bd/villes/ville@numD"/></td> <td><xsl:value-of select="bd/departements/departement@numD"/></td> </tr> </xsl:if> </xsl:for-each>
Mais malheureusemnt, celà fait des heures que je tente avec différentes combines pour comparer ces deux attributs de deux différents élements, le navigateur me renvoie toujours une erreur dans mon code xsl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:for-each select="/"> <xsl:if test=bd/villes/ville@numD=bd/departements/departement@numD > <td><xsl:value-of select="bd/villes/ville@nomV"/></td> <td><xsl:value-of select="bd/villes/ville@numD"/></td> <td><xsl:value-of select="bd/departements/departement@numD"/></td> </xsl:if> </xsl:for-each>
Quelqun peut il m'aider à résoudre ce problème. Et pourtant en SQL la requête est si simple qu'elle se résume à ce code:
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT nomV, VILLES.numD, nomD FROM VILLES, DEPARTEMENTS WHERE VILLES.numD = DEPARTEMENTS.numD ;
Partager