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 synthèse regroupée par valeurs


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut XSLT synthèse regroupée par valeurs
    bonjour
    je débute sur xml et xslt et je dois avouer que j e rencontre quelque soucis de compréhension.

    Je vous expose mon problème.

    Je dispose d'un fichier XML pour lequel je désire que soit effectué un traitement via un fichier xslt.

    Mon fichier xml est le récapitulatif de valeur de paramètres sur une période.

    Je souhaite que le traitement suivant soit effectué pour chacun des paramètres :
    - avoir la valeur minimale obtenue ainsi que la date
    - avoir la valeur maximale obtenue ainsi que la date
    - avoir la valeur moyenne
    - avoir le nombre d itérations


    Voici un aperçu de mon fichier xml :


    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
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
    <GeneratedReport>
        <Interval Start="2013/04/01 00:00:00.000" End="2013/04/01 23:59:59.000">
    <EngTm Mnemonic="AAA" EngValue="10" Description="description A" Date="2013/04/01 00:00:05.568"/>
    <EngTm Mnemonic="BBB" EngValue="20" Description="description B" Date="2013/04/01 00:00:05.568"/>
    <EngTm Mnemonic="CCC" EngValue="20" Description="description C" Date="2013/04/01 00:00:05.568"/>
    <EngTm Mnemonic="AAA" EngValue="20" Description="description A" Date="2013/04/01 00:00:15.568"/>
    <EngTm Mnemonic="BBB" EngValue="22" Description="description B" Date="2013/04/01 00:00:15.568"/>
    <EngTm Mnemonic="CCC" EngValue="19" Description="description c" Date="2013/04/01 00:00:15.568"/>
    <EngTm Mnemonic="AAA" EngValue="20" Description="description A" Date="2013/04/01 00:00:25.568"/>
    <EngTm Mnemonic="BBB" EngValue="23" Description="description B" Date="2013/04/01 00:00:25.568"/>
    <EngTm Mnemonic="CCC" EngValue="21" Description="description c" Date="2013/04/01 00:00:25.568"/>
    <EngTm Mnemonic="AAA" EngValue="21" Description="description A" Date="2013/04/01 00:00:35.568"/>
    </Interval>
    </GeneratedReport>

    ---------------------------

    le résultat que j attends serait

    AAA 10 2013/04/01 00:00:05.568 21 2013/04/01 00:00:35.568 17.75 4
    BBB 20 2013/04/01 00:00:05.568 22 2013/04/01 00:00:25.568 21.00 3
    CCC 19 2013/04/01 00:00:15.568 21 2013/04/01 00:00:25.568 20.00 3



    Je vous remercie pour vos prochaines réponses et espère que mon demande est suffisamment explicite

    amicalement

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ça peut être assez compliqué car il s'agit d'un regroupement de tous les paramètres AAA, tous les BBB, tous les CCC, etc.

    Tu as le droit d'utiliser XSLT 2.0 ou tu es coincé en XSLT 1.0 ?

    Avec le 2.0, c'est facile, juste une question de <xsl:for-each-group>
    Avec le 1.0, ça va être la mort, il faut un regroupement Muench.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut
    Merci de votre réponse non je ne suis pas limité au 1.0

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Alors utilise le 2.0

    Et un <xsl:for-each-group select="EngTm" group-by="@Mnemonic">.

    Pour plus de détails, montre-nous déjà le genre de choses que tu sais faire en XSLT.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2013
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 86
    Par défaut
    pour l instant je n ai pas encore fait quoique ce soit sous xslt

    Je traitais le fichier avec vba mais la lourdeur du traitement et la lenteur m ont fait réfléchir à une autre solution

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Alors c'est parti vers les tutoriels. Ou un bon bouquin, moi j'ai appris comme ça, je trouve ça mieux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [XSLT 1.0] Générer des index en regroupant par valeurs d'attributs
    Par hilyd dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/02/2011, 15h10
  2. [XSLT 2.0] Regrouper par valeur d'attribut + compteur
    Par karote dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 24/01/2011, 14h15
  3. Regroupement par valeurs
    Par laurentabj dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/09/2007, 12h13
  4. Réponses: 3
    Dernier message: 13/12/2006, 09h19
  5. [XSLT]Regroupement par attribut.
    Par zserdtfg dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 08/12/2006, 11h35

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