Bonjour,
J'aimerais savoir comment afficher la valeur d'un attribut de l'ancêtre d'un noeud suivant ou précédent, si celui-ci possède une valeur identique d'un autre attribut.
Pour exemple:
Dans cette exemple il faudrait que je récupère via XSLT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <NIV1 Name1="AA" Name2="BB" > <NIV2 Name3="CC" Name4="DD"/> </NIV1> <NIV1 Name1="EE" Name2="FF" > <NIV2 Name3="GG" Name4="HH"/> </NIV1> <NIV1 Name1="II" Name2="JJ" > <NIV2 Name3="GG" Name4="KK"/> </NIV1> <NIV1 Name1="LL" Name2="MM" > <NIV2 Name3="CC" Name4="NN"/> </NIV1>
du coup j'ai commencé comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <NIV Att1="CC" Att2="BB" Att3="MM"/> <NIV Att1="GG" Att2="FF" Att3="JJ"/> <NIV Att1="GG" Att2="JJ" Att3="FF"/> <NIV Att1="CC" Att2="MM" Att3="BB"/>
Mais pour le Att3 je ne trouve pas malgrès avoir essayé différentes combinaisons "following" "following-sibling"........
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <xsl:template match="//NIV2"> <xsl:element name="NIV"> <xsl:attribute name="Att1"> <xsl:value-of select="@Name3"/> </xsl:attribute> <xsl:attribute name="Att2"> <xsl:value-of select="ancestor::NIV1[1]/@Name2"/> </xsl:attribute> <xsl:attribute name="Att3"> <xsl:value-of select="????????????"/> </xsl:attribute> </xsl:element> </xsl:template>
Merci d'avance pour votre aide et j'espère avoir été assez clair.
Cordialement Xaros
Partager