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] singulier - pluriel dans boucle when


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut singulier - pluriel dans boucle when
    Bonjour,

    Dans mon fichier xml, j'ai 2 balises autreLoisir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <autreLoisir libelle="échecs"/>
    <autreLoisir libelle="astronomie"/>
    Dans mon fichier xml, j'ai un gros titre "Autres Loisirs". Or, j'aimerai ajouter dans mon xsl une boucle qui count le nombre d'"autreLoisir" et ensuite ajuste le singulier ou pluriel de du titre "autre loisir".

    Voilà le code que j'ai tenté!:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <xsl:choose>
           <xsl:when test="count(autreLoisir) &lt; 2">
           <div id="soustitre"><xsl:text>Autre loisir : </xsl:text><xsl:call-template name="retourLigne"/>
            </div>
            </xsl:when> 
    <xsl:otherwise>
            <div id="soustitre">
           <xsl:text>Autres loisirs : </xsl:text><xsl:call-template name="retourLigne"/>
           </div>
    </xsl:otherwise> 
    </xsl:choose>
    Je vous remercie de voter réponse

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    en fait, je vais simplifier ma question:
    Comment réaliser un compteur d'incrémentation en xml??
    Si je mets une variable nbre dans un for-each avec comme select=nbre+1, est-ce valable??

    je vous remercie de votre réponse

  3. #3
    Expert éminent

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Points : 8 107
    Points
    8 107
    Par défaut
    Bonjour,

    Personnellement, voici ce que je fais pour traiter le cas des pluriels :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <xsl:variable name="pluriel">
    	<xsl:if test="count(autreLoisir)>1">s</xsl:if>
    </xsl:variable>
    <xsl:text>Autre</xsl:text>
    <xsl:value-of select="$pluriel"/>
    <xsl:text> Loisir</xsl:text>
    <xsl:value-of select="$pluriel"/>
    <xsl:text> : </xsl:text>
    Pour les variables en XSL, le problème c'est qu'on ne peut pas modifier leur valeur (Cf la FAQ), et donc tu aura sans doute du mal avec ton compteur.

Discussions similaires

  1. [JLabel] JLabel dans boucle for
    Par clairenes dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/01/2006, 00h47
  2. [xslt] For-each dans template avec format XML (row)
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/11/2005, 11h14
  3. [xslt]insérer javascript dans une feuille
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 15/11/2005, 13h27
  4. Réponses: 12
    Dernier message: 10/11/2005, 09h05
  5. [XSLT] [debutant] pb dans la transformation
    Par cladsam dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 21/10/2005, 09h37

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