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 :

xsl:if ne fonctionne pas comme je le voudrais [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 15
    Points : 10
    Points
    10
    Par défaut xsl:if ne fonctionne pas comme je le voudrais
    Bonjour !

    je reviens vers vous pour une nouvelle question.

    Je souhaite modifier un élément de mon template que si l’élément est non vide, mais je n'y arrive pas.
    A l'origine j'ai quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <extent>10000</extent>
    <extent><extent>
    et je veux obtenir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <extent ext="1:10000"/>
    <extent ext=""/>
    j'ai donc essayer un xsl comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:template match="extent">
    <xsl:if test="not(extent='')">
    		<extent>  
    		<xsl:attribute name="ext">
    		<xsl:value-of select="concat('1:',current())"/>
    		</xsl:attribute>
    		</extent>
    </xsl:if>
    </xsl:template>
    J'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <extent ext="1:10000"/>
    <extent ext="1:"/>
    comment changer cela?
    Merci pour votre aide !

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:template match="extent">
    <xsl:if test="not(extent='')">
    Cela veut dire de tester un élément extent qui est un enfant du contexte entent: la condition est toujours vraie par conséquence.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <xsl:template match="extent">
        <xsl:copy>
            <xsl:attribute name="ext">
                <xsl:choose>
                    <xsl:when test="normalize-space()=''">
                        <xsl:value-of select="''"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:value-of select="concat('1:', normalize-space())"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:attribute>
        </xsl:copy>
    </xsl:template>

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    super ! Merci beaucoup, je me doutais qu'il y avait un souci de ce type là mais je ne savais pas comment régler ça.

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

Discussions similaires

  1. [Spip] soucis [(#COMPTEUR_BOUCLE|alterner{'<tr>',''})] fonctionne pas comme je le voudrais
    Par oceane751 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/08/2008, 16h01
  2. [RegEx] array_unique ne fonctionne pas comme je le voudrais
    Par joboy84 dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2008, 09h32
  3. requete qui ne fonctionne pas comme je shouterais
    Par domino_dj dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/04/2007, 12h27
  4. un if qui ne fonctionne pas comme je veux
    Par Kelly182 dans le forum Access
    Réponses: 4
    Dernier message: 27/07/2006, 15h12
  5. time.sleep() ne fonctionne pas comme souhaité
    Par Olivier_ dans le forum Général Python
    Réponses: 3
    Dernier message: 19/11/2005, 01h46

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