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] suppression de doublons


Sujet :

XSL/XSLT/XPATH XML

  1. #21
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    oui, elle est même décrite dans la FAQ du forum : http://xml.developpez.com/faq/?page=3#xslt_regroup... bah! c'est en cherchant qu'on progresse.

  2. #22
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    en voici la mise en oeuvre sur ce cas précis :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
     
      <xsl:key name="regrouper" match="client" use="@secteur"/>
     
      <xsl:template match="/">    
        <clients>
          <xsl:apply-templates select="clients/client[generate-id(.)=generate-id(key('regrouper', @secteur)[1])]">
            <xsl:sort select="@secteur"/>
          </xsl:apply-templates>
        </clients>
      </xsl:template>
     
      <xsl:template match="client">
        <xsl:param name="sect" select="@secteur"/>
        <client>
          <xsl:value-of select="count(//nom[parent::client[@secteur=$sect]])"/> - <xsl:value-of select="@secteur"/> :
          <xsl:apply-templates select="//nom[parent::client[@secteur=$sect]]"/>
        </client>
      </xsl:template>
     
      <xsl:template match="nom">
        <xsl:copy-of select="."/>
      </xsl:template>
     
    </xsl:stylesheet>

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [xslt] Suppression des éléments sans contenu.
    Par dibbouk dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/06/2005, 18h17
  2. Réponses: 17
    Dernier message: 03/12/2004, 12h17
  3. [langage] Suppression de doublon dans tableau
    Par LFC dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2004, 15h08
  4. Requête de suppression de doublons : besoin d'aide
    Par biocorp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2004, 18h04
  5. [LG]Suppression de doublons
    Par moustique31 dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2003, 22h03

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