Bonjour,

Je sèche depuis un moment, c'est pourquoi je viens demander de l'aide !

J'ai un XML tel que ci-dessous :

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
 
<matiere ref="..." type="matiere">
</matiere>
<matiere ref="..." type="matiere">
</matiere>
<matiere ref="..." type="matiere">
</matiere>
<matiere ref="..." type="matiere">
</matiere>
<matiere ref="1737504552" type="matiere"><ref-hierarchique>169516879,477455173,1737504471,1737504552</ref-hierarchique>
	<ordre>DIPL2_ANG</ordre>
	<code langue="fr">DIPL2_ANG</code>
	<code-plan langue="fr">7012</code-plan>
	<libelle langue="fr">Diplôme 2 Anglais</libelle>
	<details>
		<detail id="1737504813" synthese="1">
			<inscription-matiere id="1737504812"/>
			<libcode langue="fr"/>
			<libelle langue="fr">Synthèse</libelle>
			<colonne source="BULL-COLONNE" no="3" langue="fr">60:Semestre 6</colonne>
			<colonne source="NOTE" no="5" langue="fr">Acquis</colonne>
		</detail>
	</details>
</matiere>
J'aimerais afficher le libellé : "Diplôme 2 Anglais" aux conditions suivantes :

" code-plan langue="fr" " doit être plus grand que 7000

et

"colonne source="NOTE" no="5" langue="fr" " doit être "Aquis"

Ce que j'ai réalisé comme cela :

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
25
26
27
28
29
30
31
 
<xsl:choose>
                <xsl:when test="(matiere/details/detail/colonne[@source='NOTE']/text() = 'Acquis')" >
               <!--     <xsl:variable name="libelle_diplome" select="matiere/libelle[@langue='fr']/text()"/>    -->
                    <fo:table>
                        <fo:table-column column-width="4cm"/>
                        <fo:table-column column-width="6cm"/>
                        <fo:table-body>
                            <fo:table-row height="100%">
                                <fo:table-cell text-align="left"  >
                                    <xsl:call-template name="diplom-language-label"/>
                                    <fo:block>
                                        <fo:inline>Diplôme de langue :</fo:inline>
                                    </fo:block>
                                </fo:table-cell>
                                <fo:table-cell>
                                    <xsl:call-template name="diplom-language-value"/>
                                    <fo:block>
                                        <xsl:apply-templates match="matiere" />
                                            <xsl:if test="code-plan[@langue='fr']/text() &gt; 7000">
                                            <xsl:value-of select="libelle[@langue='fr']/text()"/>  <!-- on se trouve ici en haut de la liste des libellés -->
                                            </xsl:if>
                                    </fo:block>
                                </fo:table-cell>
                            </fo:table-row>
                        </fo:table-body>
                    </fo:table>
                </xsl:when>    
            <xsl:otherwise>
            </xsl:otherwise>
            </xsl:choose>
Le texte "Diplome de langue" s'affiche sans problèmes, mais ensuite,il n'arrive pas à me sortir le libellé "Diplôme 2 Anglais", il prend toujours le premier libellé qu'il trouve dans la première balise "matière"...
Comment le faire redescendre au niveau du libellé du Diplôme ???

Je me doute bien qu'il faudrait lui mettre un template pour lui dire de redescendre dans le XML, mais je ne vois malheureusement pas trop comment !
Merci d'avance si vous vous penchez sur mon problème ( par une belle journée pluvieuse, j'ai un peu d'espoir )

Nicolas