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 :

distinct d'un groupement


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut distinct d'un groupement
    Bonjour,

    je tente de faire un distinct suite à un groupement et ça coince :-(

    quand j'ai la grappe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <MAIN>
    	<VALUE>A</VALUE>
    	<VALUE>B</VALUE>
    	<VALUE>AB</VALUE>
    	<VALUE>A</VALUE>
    	<VALUE>AB</VALUE>
    </MAIN>

    j'applique le xpath suivant sans problème qui me ramène chaque valeur unique A, B, AB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MAIN/VALUE[not(following::VALUE/text() = text())]
    Par contre, si j'ai la grappe suivante et que j'essaye de grouper avant de faire un distinct :
    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
     
    <MAIN>
    	<BLOC>
    		<TYP>1</TYP>
    		<VALUE>A</VALUE>
    	</BLOC>
    	<BLOC>
    		<TYP>1</TYP>
    		<VALUE>BA</VALUE>
    	</BLOC>
    	<BLOC>
    		<TYP>1</TYP>
    		<VALUE>B</VALUE>
    	</BLOC>
    	<BLOC>
    		<TYP>1</TYP>
    		<VALUE>A</VALUE>
    	</BLOC>
    	<BLOC>
    		<TYP>2</TYP>
    		<VALUE>A</VALUE>
    	</BLOC>
    	<BLOC>
    		<TYP>2</TYP>
    		<VALUE>C</VALUE>
    	</BLOC>
    </MAIN>
    en appliquant ce xpath :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MAIN/BLOC[TYP=1]/VALUE[not(following::VALUE/text() = text())]
    je n'ai pas toutes les valeurs, il me retourne BA et B mais sans le A.
    Et je n'arrive pas à comprendre pourquoi et comment résoudre le problème. Avez-vous une idée ? Merci d'avance.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Ben, following:: ne va pas deviner que tu essayes de grouper par TYP. Il faut le lui dire !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    following::VALUE[../TYP=1]
    Ou alors un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MAIN/BLOC[TYP=1 and not(following::BLOC[TYP=1]/VALUE = VALUE)]/VALUE
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [XSLT 1.0] groupement + fonction distinct-values()
    Par win_ubuntu dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 30/01/2013, 10h36
  2. [CR] Groupement dynamique sur plusieurs champs paramètrés
    Par CDRIK dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 07/06/2004, 17h55
  3. equivalent SELECT DISTINCT pour MyBase?
    Par chrisou31 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 19h33
  4. Lier 2 bases distinctes
    Par seb.49 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/02/2004, 10h19
  5. tri obligatoire avec DISTINCT?
    Par Marseillais9 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 31/07/2003, 17h50

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