[XSLT] test si un élément n'existe pas
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 :
Code:
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> |
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).
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 :
-
Code:
1 2 3
| <xsl:if test="node()[not(Nature)]">
<xsl:element name="toto"> tata</xsl:element>
</xsl:if> |
et
-
Code:
<xsl:if test="./Prix_Detail/Nature[@NatureID='']=''"> </xsl:if>
sans succès, pourriez-vous m'éclairer s'il vous plait?? :zoubi:
merci d'avance