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
Code : Tout sélectionner
[...]
<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:
Code : Tout sélectionner
<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 !