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 :

[debutant]XSL: Probleme tri et sommation !


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [debutant]XSL: Probleme tri et sommation !
    Bonjour,

    mon fichier XML est le 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
    <Engagements>
    	<Engagement>
    		<Garantie>INCENDIE</Garantie>
    		<prime>100</prime>
    	</Engagement>
    	<Engagement>
    		<Garantie>INCENDIE</Garantie>
    		<prime>250</prime>
    	</Engagement>
    	<Engagement>
    		<Garantie>VOL</Garantie>
    		<prime>360</prime>
    	</Engagement>
    	<Engagement>
    		<Garantie>INCENDIE</Garantie>
    		<prime>240</prime>
    	</Engagement>	
    	<Engagement>
    		<Garantie>VOL</Garantie>
    		<prime>270</prime>
    	</Engagement>
    </Engagements>
    je veux avoir en sorite un tableau du genre :

    -----------------------------
    | Garantie | PRime |
    -----------------------------
    | INCENDIE | 100 |
    | INCENDIE | 250 |
    | INCENDIE | 240 |
    | Somme INCENDIE: 590|
    ------------------------------
    | VOL | 360 |
    | VOL | 270 |
    | Somme VOL : 630 |
    ------------------------------
    | Somme TOTALE :1220 |
    ------------------------------

    mon probleme c quand j'applique un xsl:sort sur /Engagements/Engagement/Garantie/Libelle
    la methode following-sibling parcous le fichier XML pas dans le critére de tri que j'ai mentionné dans le xsl:sort mais dans le vrai ordre du fichier XML !

    Merci bcps votre aide !

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Il serait beaucoup plus facile de résoudre ton problème si tu nous envoie ton XSL!

    Mais a première vu sa doit être ton sort qui doit être mal placé!

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  3. #3
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par virgul
    Salut,

    Il serait beaucoup plus facile de résoudre ton problème si tu nous envoie ton XSL!

    Mais a première vu sa doit être ton sort qui doit être mal placé!

    ++

    Thierry
    voici ou je place mon xsl:sort :
    <xsl:template match="/Engagements">
    <xsl:for-each select="Engagement">
    <!-- Tri par Garantie -->
    <xsl:sort select="Garantie"/>

  4. #4
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Y te manque des attribut dans la sort!

    Va voir ici: http://www.w3schools.com/xsl/el_sort.asp

    Au faite d'ou y vient ce libelle y en a pas dans ton xml d'exemple????

    Faut tout mettre sinon on va pas comprendre la finte qui fait que sa marche pas!

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  5. #5
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    mon probleme n'est pas au niveau du sort car j'arrive à lister le tableau dans le bon ordre des Garantie !

    mais quand je veux afficher la somme des primes par Garantie je fais dans mon code :

    <xsl:foreach select="Engagement">
    <xsl:variable name="Xpos" select="position()"/>
    ...
    <xsl:choose>
    <xsl:when test="Garantie != ../Engagement[$Xpos+1]/Garantie">

    </xsl:when>
    </xsl:choose>
    ..
    </xsl:foreach>

    malheureusement le chemin Xpath : ../Engagement[$Xpos+1]/Garantie donne la garantie suivante dans l'ordre trouvé dans le fichier xml et pas suivant le xsl:sort que j'ai mentionné !

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    pour régler ce type de problème, un simple tri ne suffit pas, il faut faire un regroupement. Les regroupements en XSLT se font généralement selon la méthode Muench, dont tu trouveras plusieurs descriptions en recherchant par ce nom dans le forum.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,

    pour régler ce type de problème, un simple tri ne suffit pas, il faut faire un regroupement. Les regroupements en XSLT se font généralement selon la méthode Muench, dont tu trouveras plusieurs descriptions en recherchant par ce nom dans le forum.
    merci bcps le probleme est resolu !
    effectivement j'ai utilisé la methode MUENCHEN !

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

Discussions similaires

  1. [debutant][xsl][css] xsl + css
    Par fanchic29 dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 16/04/2008, 18h31
  2. [Debutant] [XSL] Probleme xsl:value-of select
    Par olivier1978 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/09/2007, 19h31
  3. [Debutant(e)]probleme avec un replaceAll
    Par Jovial dans le forum Langage
    Réponses: 11
    Dernier message: 14/06/2004, 16h02
  4. [debutant] XSL
    Par osoudee dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 26/05/2004, 16h20
  5. [debutant]servlet probleme de port
    Par noOneIsInnocent dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 04/09/2003, 16h33

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