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 1.0] Somme et transformation


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut [XSLT 1.0] Somme et transformation
    Bonjour à tous,

    en partant du XML suivant:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <Groupe>
       <Items>
    	<Item>
    	   <total>+15</total>
    	</Item>
    	<Item>
    	   <total>+13</total>
    	</Item>
       </Items>
       <Items>
    	<Item>
    	   <total>+19</total>
    	</Item>
       </Items>
    </Groupe>	
    <Groupe>
       <Items>
    	<Item>
    	   <total>+12</total>
    	</Item>
       </Items>
       <Items>
    	<Item>
    	   <total>+19</total>
    	</Item>
    	<Item>
    	   <total>+23</total>
    	</Item>
    	<Item>
    	   <total>+8</total>
    	</Item>
       </Items>
       <Items>
    	<Item>
    	   <total>+17</total>
    	</Item>
    	<Item>
    	   <total>+2</total>
    	</Item>
       </Items>
    </Groupe>
    j'essaie de remplir un tableau avec le total de chaque balise <Items/>; j'utilise la transformation XSLT suivante:

    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
    32
    33
    34
    35
    <xsl:decimal-format name="francais" decimal-separator="," grouping-separator="."/>
    .
    .
    .
    <xsl:for-each select="//Groupe">
                        <tr>
                            <td>
                                <xsl:element name="span">
                                    <xsl:for-each select="Items/Item">
                                        <xsl:variable name="test" select="number(translate(total, '+', ''))" />
                                        <xsl:variable name="sTotal" select="sum($test)"/>
                                        <xsl:choose>
                                            <xsl:when test="$total &gt;= 0">
                                                <xsl:attribute name="class">
                                                    positiveFigure
                                                </xsl:attribute>
                                            </xsl:when>
                                            <xsl:when test="translate($sTotal, '+', '') &lt; 0">
                                                <xsl:attribute name="class">
                                                    negativeFigure
                                                </xsl:attribute>
                                            </xsl:when>
                                            <xsl:otherwise>
                                                <xsl:attribute name="class">
                                                    negativeFigure
                                                </xsl:attribute>
                                            </xsl:otherwise>
                                        </xsl:choose>
     
                                        <xsl:value-of select="format-number(translate($sTotal, '+', ''), '### ### ##0,00', 'francais')"/></xsl:for-each>
                                </xsl:element>
                            </td>
                        </tr>
    </xsl:for-each>
    mais il me retourne à chaque fois "NaNNaN €"; j'ai beau modifier le code, soit il ne crée pas le tableau, soit il me met "NaNNaN €". Quelqu'un aurait-il une solution? Merci d'avance.

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    voiçi un exemple basique qui devrais t'aider :
    http://www.polymorphisme.com/langage.../xpathSum.html
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci pour le lien; finalement j'ai abandonné l'utilisation de la fonction sum() et je me suis débrouillé avec des templates et ça marche.

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

Discussions similaires

  1. [XSLT] moyen d'introduire une transformation dans du HTML
    Par despeludo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2008, 11h32
  2. [XSLT] Parser xml pour une transformation html
    Par sucben dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/11/2006, 11h35
  3. [XSLT] Xml validé XSD puis transformé via XSLT
    Par cash3000 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/06/2006, 12h09
  4. [XSLT] [debutant] pb dans la transformation
    Par cladsam dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 21/10/2005, 09h37
  5. [XSLT] calcul de somme
    Par Mr N. dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 09/09/2005, 12h20

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