Bonjour,
Voila je voulais savoir s'il était possible d'utiliser une condition if dans une bouclke for-each en XML !!?
plus précisemment, j'ai mon fichier XML ;
je veux recupérer les données entre crochet :
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
32
33
34
35
36 <OtherInvoiceReferences> <core:ReferenceCoded> <core:ReferenceTypeCoded>[4]</core:ReferenceTypeCoded> <core:PrimaryReference> <core:RefNum>[5]</core:RefNum> </core:PrimaryReference> </core:ReferenceCoded> <core:ReferenceCoded> <core:ReferenceTypeCoded>[6]</core:ReferenceTypeCoded> <core:PrimaryReference> <core:RefNum>[7]</core:RefNum> <core:RefDate>[7a]</core:RefDate> </core:PrimaryReference> </core:ReferenceCoded> <core:ReferenceCoded> <core:ReferenceTypeCoded>[8]</core:ReferenceTypeCoded> <core:PrimaryReference> <core:RefNum>[9]</core:RefNum> </core:PrimaryReference> </core:ReferenceCoded> <core:ReferenceCoded> <core:ReferenceTypeCoded>[9a]</core:ReferenceTypeCoded> <core:ReferenceTypeCodedOther>[9b]</core:ReferenceTypeCodedOther> <core:PrimaryReference> <core:RefNum>[9c]</core:RefNum> </core:PrimaryReference> </core:ReferenceCoded> <core:ReferenceCoded> <core:ReferenceTypeCoded>[9d]</core:ReferenceTypeCoded> <core:ReferenceTypeCodedOther>[9e]</core:ReferenceTypeCodedOther> <core:PrimaryReference> <core:RefNum>[9f]</core:RefNum> </core:PrimaryReference> </core:ReferenceCoded> </OtherInvoiceReferences>
J'ai choisi d'utiliser une boucle for-each pour parcourir les données :[4];[5];[6];[7];[7a];[8];[9];[9a];[9b];[9c];[9d];[9e];[9f]
le souci c'est que quand la données n'existe pas il me met des ";" dont je n'est pas besoin. Dans ce cas, est-ce possible d'utiliser une condition if ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xsl:for-each select="o:Invoice/o:InvoiceHeader/o:InvoiceReferences/o:OtherInvoiceReferences/core:ReferenceCoded "> <xsl:value-of select="core:ReferenceTypeCoded "></xsl:value-of><xsl:text>;</xsl:text> <xsl:value-of select="core:PrimaryReference/core:RefNum "></xsl:value-of><xsl:text>;</xsl:text> <xsl:value-of select="core:PrimaryReference/core:RefDate "></xsl:value-of><xsl:text>;</xsl:text> <xsl:value-of select="core:ReferenceTypeCodedOther "></xsl:value-of><xsl:text>;</xsl:text> </xsl:for-each>
Si c'est possible comment faire le test d’existence de données ?
Est ce que je fais fausse route ? existe t il une méthode plus efficace ?
Merci a tous !
Partager