Bonjour
Voila mon problème: je crée une variable dans mon xslt et je lui donne la valeur d'un attribut. Et bien quoi que je fasse, je ne récupère que la valeur de l'élément qui contient mon attribut.
Voila le xsl:
Le xml que je traite avec:
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 <xsl:for-each select ="ATTRIBUTE"> <tr> <xsl:choose> <xsl:when test="./name != '##EMPTY##'"> <td> <xsl:value-of select="name"/> </td> <!--ici je ne recupere par ce que je veux !--> <xsl:variable name="attrActive" select="./active[@isOk]"/> <td class="{$attrActive}"> <xsl:if test="active = 'true'"> <xsl:text>x</xsl:text> </xsl:if> </td> </xsl:when> <xsl:otherwise> <td class="empty"> <xsl:text> - </xsl:text> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each>
et au final ma variable ne prend pas la valeur de l'attribut isOk de active mais le texte qui est dans l'élément active. Pourtant l'initialisation de la variable me semble bonne avec <xsl:variable name="attrActive" select="./active[@isOk]"/>. Quelqu'un voit où est le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <ATTRIBUTE> <active isOk="true">false</active> <identifier isOk="true">false</identifier> <rrc isOk="true">false</rrc> <include_in_cq isOk="true">true</include_in_cq> <sequence isOk="true">1</sequence> <required isOk="true">true</required> <name isOk="true">Description</name> </ATTRIBUTE>
Partager