Bonjour à tous,
J'imagine que ce problème a déja été exposé, mais les solutions proposées et que j'ai pu tester ne correspondent pas à mon problème.
voici mon xml de départ :
on peut voir ici que les prix du catalogue ont une nature, pour cela, je dois les regrouper selon leur nature (j'ai d'ailleurs posté un sujet sur 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 <catalogue> <Prix_Detail> <Prix prixID="1502" Titre="Travaux préalables"/> <description>blabla</description> <UniteMesure UMID="MTK"/> <TauxTVA Taux="19.6" TVAID="VAT"/> <Nature NatureID="02" Titre="TRAVAUX PREPARATOIRES"/> </Prix_Detail> <Prix_Detail> <Prix prixID="2151" Titre="Installation de chantier"/> <description>blabla</description> <UniteMesure UMID="C62"/> <TauxTVA Taux="19.6" TVAID="VAT"/> <Nature NatureID="02" Titre="TRAVAUX PREPARATOIRES"/> </Prix_Detail> </catalogue>
Or, certains prix du catalogue peuvent ne pas contenir d'élément <Nature>.
J'aimerais, dans mon fichier xsl, pouvoir faire un traitement différent dans le cas où j'ai une nature et dans le cas où je n'en ai pas.
Pour cela, j'aimerais faire un traitement dans le cas où un prix ne contient pas de natures, je dois donc faire une condition "si le prix ne contient pas de natures".
J'ai essayé plusieurs solutions :
-et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:if test="node()[not(Nature)]"> <xsl:element name="toto"> tata</xsl:element> </xsl:if>
-sans succès, pourriez-vous m'éclairer s'il vous plait??
Code : Sélectionner tout - Visualiser dans une fenêtre à part <xsl:if test="./Prix_Detail/Nature[@NatureID='']=''"> </xsl:if>
merci d'avance
Partager