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] [xslt]recherche de plusieurs extrema dans une liste indexée


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [debutant] [xslt]recherche de plusieurs extrema dans une liste indexée
    Bonjour tout le monde,

    Voila j’ai un petit soucis concernant une recherche dans une feuille de données XML. Mon maître de stage me demande d’y retrouver des valeurs minimum et maximum, or après maintes lectures de cours et didacticiels sur internet, et armé de mon super bouquin en allemand, je me retrouve dans la nécessité de faire appel au public…

    Données du problème :


    Structure des données :

    <test>
    - <Aktion>
    <AktionName>FindDevice</AktionName>
    <Result>True</Result>
    <Duration>265</Duration>
    <Object>PC877_19_Touch_HmiScadaRT</Object>
    </Aktion>
    - <Aktion>

    La il y a tout plein de nœud «Action »

    </Aktion>
    </test>

    Je dispose également d’un tableau dans lequel on a dans une premiere colonne les noms des différents types d’AktionName, et en parametre (dans la meme ligne) le nombre d’appel a cette Action et la valeur moyenne de leur valeur «Duration » . Mon travail consiste à trouver pour chaque AktionName, la valeur minimale et la valeur maximale du champ Duration.

    Voila le style de ce que je suis en train d’essayer :

    - <xsl:variable name="strActFct">
    <xsl:value-of select="." />
    </xsl:variable>
    - <xsl:variable name="strActObj">
    <xsl:value-of select="../Object" />
    </xsl:variable>

    - <xsl:variable name="ActMinZeit">
    <xsl:value-of select="/test/Aktion[AktionName = string($strActFct) and not(. &gt; /test/Aktion/Duration)]/Duration" />
    </xsl:variable>
    - <xsl:variable name="ActMaxZeit">
    <xsl:value-of select="/test/Aktion[AktionName = string($strActFct) and not(. &lt; /test/Aktion/Duration)]/Duration" />
    </xsl:variable>

    Ici je pense mettre dans la variable « ActMinZeit » (resp ActMaxZeit) la valeur minimum de la durée Duration pour chaque type d’Action (grace encore a mon avis a $ strActFct).

    Je vous montre ci apres l’utilisation que je fais de mes deux variables.

    - <td>
    - <!--
    Minimum
    -->
    <xsl:value-of select="$ActMinZeit" />
    </td>
    - <td>
    - <!--
    Maximum
    -->
    <xsl:value-of select="$ActMaxZeit" />
    </td>


    Voila, donc les problèmes répertoriés sont de deux types : la premiere chose est que les valeurs minimum sont presque toutes bonnes mais en fait pas toutes, et surtout que la valeur maximum qui est rendu est exactement la meme que la minimum et ce pour chaque type d’actions ???

    Merci à tout le monde au moins pour le temps passé a lire et si il y a une aide précieuse qui arrive... (si vous avez besoin d'autre copier coller, il suffit de demander mais j'avais pas envie de trop polluer en balancant tout comme un porki)

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Salut,

    J'ai un peu de mal à te suivre dans ton explication...

    Pourrais tu me réexpliquer cela :

    Je dispose également d’un tableau dans lequel on a dans une premiere colonne les noms des différents types d’AktionName, et en parametre (dans la meme ligne) le nombre d’appel a cette Action et la valeur moyenne de leur valeur «Duration » . Mon travail consiste à trouver pour chaque AktionName, la valeur minimale et la valeur maximale du champ Duration
    Je vais essayer de t'aider du mieux que je peux mais il faut que je comprenne bien quel est ton problème et quel est le résultat final que tu attends !

    Merci
    Bon courage

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    En gros le tableau dont je te parle est un tableau à 5 colonnes dans lequel sont consignés les résultats.
    Je possède dans mes données ùne dizaine de type d'actions (qui sont des appels de fonctions). Pour chacun d'eux j'ai leur nom (AktionName) et leur temps d'éxécution (Duration) et d'autres infos comme tu as pu le voir.

    Le tableau permet de visualiser les résultats des éxécution d'une multitude d'appel d'un point de vue statistique. On aimerait donc avoir dans la premiere colonne les noms des différentes fonctions appelées (une fois chacune) et dans la meme ligne les informations relatives aux appels de ses fonctions. On possède deja la moyenne en temps et le nombre d'appel et je dois trouver la durée de l'appel minimum pour chaque nom de fonctions appelées et la durée maximale.

    Voici un petit exemple dans lequel je dispose de trois fonctions différentes : A, B et C. Elles ont ét´´e appelées plusieurs fois, voici par exemple les appels dans l'ordre chronologique et le temps d'execution en milliseconde a chaque fois:

    A , 100 ms
    C , 900 ms
    C , 850 ms
    B , 50 ms
    C , 950 ms
    A, 124 ms

    Voila c'est pas beaucoup (il y en a beaucoup plus normalement mais ca suffit a comprendre). Le résultat (tableau) espéré est donc :

    AktionName //// moyenne //// minimum //// maximum
    A /////// 112 //////// 100 ///////// 124
    B /////// 50 //////// 50 ///////// 50
    C /////// 900 //////// 850 ///////// 950

    Et voila je pense que c'est plus clair..


    Mon gros probleme c'est de réussir a créer l'instruction qui recherche le minimum parmit tous les echantillons, mais en prenant en compte qu il existe un minimum pour CHAQUE type d'action différent (en gros en procédural je peux le faire sans probleme mais la n'aillant jamais touché le XSL...) et ensuite pareil pour le maximum bien que ca ne doit pas etre plus compliqué qu &lt; a changer en &gt; je pense

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Un peu trop compliqué pour moi ce que tu veux faire (surtout que je n'ai aucun logiciel pour pouvoir tester donc pas évident)...

    Je te souhaite bon courage !
    Ne désespère pas et j'espère qu'un modérateur ou quelqu'un de plus compétent que moi pourra t'aider plus amplement !

    Bon courage...

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    je reconnai aussi que ce n'est pas évident le mieux si ce n'est pas confidentiel c'est de poster tes fichiers complets (fonction attacher un ficheir du forum)..

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici les fichiers, comme vous le voyez le tableau n'est pas encore très très joli, je n'ai pas cherché encore a continuer les traits pour prendre en compte l'ajout des colonnes minimum et maximum, de plus ces deux colonnes balances le meme resultat alors que mes tests sont differents...

    Je ne voulais pas trop balancer ces fichiers pour éviter de faire le gars qui balance son probleme sans faire l'effort d'expliquer pour montrer qu il a de l'interet, mais bon si on me le demande
    Fichiers attachés Fichiers attachés

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Personne n'est capable de m'éclairer un peu ?

  8. #8
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    pour le max et min je ne connais malheureusement pas 36 solutions:

    http://xml.developpez.com/sources/?p...lcul#II_maxmin

Discussions similaires

  1. [XL-2007] Recherche de plusieurs mots dans une colonne
    Par merlinus3000 dans le forum Excel
    Réponses: 2
    Dernier message: 30/09/2013, 12h38
  2. recherche de plusieurs chaînes dans une cellule
    Par polyvan dans le forum Excel
    Réponses: 2
    Dernier message: 21/09/2011, 13h55
  3. Recherche de plusieurs mots dans une chaine
    Par Thib6670 dans le forum C#
    Réponses: 3
    Dernier message: 30/06/2011, 15h19
  4. [Debutant] Peut-on mettre plusieurs "submit" dans une servlet
    Par pracede2005 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 22/10/2007, 10h35
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53

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