Bonjour,
Dans ma feuille XSL, je dois déterminer la présence d'un élément XML qui remplit trois conditions, au niveau de ces enfants.
Un petit extrait de ma feuille
Je précise que l'élément MODULE n'est pas à la racine du document.
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 [...] <MODULE> <NUMMOD>60</NUMMOD> <DONMOD DATCLOT="122001" DUREEEX="12"/> <DONMOD DATCLOT="122002" DUREEEX="12"/> <DONMOD DATCLOT="122003" DUREEEX="12"/> </MODULE> <MODULE> <NUMMOD>62</NUMMOD> <DONMOD DATCLOT="122001" DUREEEX="12"/> <DONMOD DATCLOT="122002" DUREEEX="12"/> <DONMOD DATCLOT="122003" DUREEEX="12"/> </MODULE> <MODULE> <NUMMOD>63</NUMMOD> <DONMOD DATCLOT="122002" DUREEEX="12"/> <DONMOD DATCLOT="122003" DUREEEX="12"/> </MODULE> [...]
En fait, je dois vérifier le contenu de NUMMOD, de DATCLOT et de DUREEEX, et compter le nombre de résultats issus du test (0 ou 1).
Un petit extrait de ma feuille XSL:
La ligne qui me pose problème est celle où je calcule la variable $mod.
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 <xsl:template name="genModule"> <xsl:param name="node"/> <xsl:param name="classe"/> <xsl:param name="module"/> <xsl:if test="string-length($node) > 0"> <xsl:variable name="mod" select="concat('//NUMMOD=',$module,'/..DONMOD[@DATCLOT=',substring($node,1,6),' and @DUREEEX=',substring($node,7,2),']')" /> <xsl:choose> <xsl:when test="count($mod) > 0"> <td class="{$classe}" align="center">X</td> </xsl:when> <xsl:otherwise> <td class="{$classe}" align="center"> </td> </xsl:otherwise> </xsl:choose> <xsl:call-template name="genModule"> <xsl:with-param name="node" select="substring($node,9)" /> <xsl:with-param name="classe" select="$classe" /> <xsl:with-param name="module" select="$module" /> </xsl:call-template> </xsl:if> </xsl:template>
Quelqu'un voit-il une solution à mon problème ou pourrait-il me mettre sur la piste ?
Merci d'avance !
Partager