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 :

Requête xsl /xpath


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Requête xsl /xpath
    Bonjour à tous,
    alors voila j'ai ce type de structure:
    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
     <Biblio>
        <Livre>
          <auteur>A</auteur>
          <auteur>B</auteur>
          <auteur>C</auteur>
        </Livre>
            <Livre>
          <auteur>A</auteur>
          <auteur>E</auteur>
          <auteur>G</auteur>
        </Livre>
        <Livre>
          <auteur>F</auteur>
        </Livre>
     </Biblio>
    et j'aimerai récupérer l'auteur le plus cité (dans ce cas A) avec son nombre d'apparition (ici 2)

    j'ai commencé par faire un foreach sur les auteurs puis dans le for each un count avec un where auteur=current() mais je ne vois pas trop comment continuer.

    Quelqu'un aurait une idée ?

    Merci beaucoup

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    C'est intéressant... Pour commencer il faut faire un regroupement Muench pour avoir la liste de tous les auteurs différents.

    Reste à déterminer quel est le max d'occurrences et qui le détient. On pourrait utiliser la fonction EXSLT dyn:max() pour ça... Si on a EXSLT à dispo.
    Sinon, je vois qu'un template nommé récursif, auquel on passe en paramètre :
    - l'ensemble des noms d'auteur uniques
    - la position dans cet ensemble du prochain nom à examiner
    - le record actuel du plus grand nombre de citations
    - qui détient ce record.
    et quand on a fini, refiler le détenteur du record, et l'utiliser comme on veut.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Pas mieux mais si on travaille avec EXSLT autant l'utiliser à fond et utiliser leur fonction distinct au lieu de passer par Muench, ce qui ramènera l'ensemble du problème à 2 lignes de code.

Discussions similaires

  1. [XML/XSL/XPATH]Requete XPATH pour transformation
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 04/01/2006, 17h32
  2. [XSL][XPATH] pour les tueurs (position() generate-id....
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 15/11/2005, 10h26
  3. xsl+xpath--->selection et filtrage
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 27/09/2005, 11h15
  4. [XSL][XPATH] recopier les attributs d un élément mais pas le
    Par Triangle dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/08/2005, 16h07
  5. Comment traduire une requête en XPATH ?
    Par vincent1 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 24/06/2005, 12h46

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