IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] test si un élément n'existe pas


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club Avatar de nadsky
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 118
    Points : 57
    Points
    57
    Par défaut [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 : 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>
    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 : 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>
    et
    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:if test="./Prix_Detail/Nature[@NatureID='']=''"> </xsl:if>
    sans succès, pourriez-vous m'éclairer s'il vous plait??
    merci d'avance
    HQ Nadsky

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    ceci fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	<xsl:template match="Prix_Detail">
    		<xsl:choose>
                          <xsl:when test="./Nature">true</xsl:when>
    		       <xsl:otherwise>false</xsl:otherwise>
                    </xsl:choose>
    	</xsl:template>

  3. #3
    Membre du Club Avatar de nadsky
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 118
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    Merci tout d'abord pour la rapidité de ta réponse, cette solution fonctionne bien, merci
    HQ Nadsky

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier qu'un élément n'existe pas dans la BDD
    Par choumerv dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 14/03/2014, 14h04
  2. Réponses: 0
    Dernier message: 24/08/2009, 20h30
  3. [XSLT] test présence d'un noeud ou pas
    Par bluehige dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 04/06/2009, 16h21
  4. [XSLT] Texte d'un élément, mais pas de ses enfants
    Par PierreY dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/02/2007, 10h22
  5. [XSLT] Détecter qu'une balise n'existe pas ou est vide
    Par Xunil dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 26/12/2006, 18h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo