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 :

Regrouper


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut Regrouper
    Salut j'ai ce fichier xml et je veux regrouper par category donc le resultat final est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <catalog>
    	<book category="computer">
    		<auteur>Mr y</auteur>
            <date>02021985</date>
        </book>	
        <book category="science">
    		<auteur>Victor</auteur>
            <date>02021985</date>
        </book>	
        <book category="computer">
    		<auteur>Mr X</auteur>
            <date>02021985</date>
        </book>	
    </catalog>
    sois avec xslt 2 ou bien le 1 merci pour votre aide

  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
    Hello,

    en XSLT 2.0, alors.
    Il suffit d'exploiter le <xsl:for-each-group>, je te laisse te renseigner auprès de ta documentation préférée.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut
    j'ai utilisé <xsl:for-each-group> mais le resultat


    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
    <catalog>
     <book category="computer">
    	<book category="computer">
    		<auteur>Mr y</auteur>
                    <date>02021985</date>
            </book>	
           <book category="computer">
    		<auteur>Mr X</auteur>
            <date>02021985</date>
        </book>
    </book>
        <book category="science">
    		<auteur>Victor</auteur>
            <date>02021985</date>
        </book>	
        <book category="computer">
    		<auteur>Mr X</auteur>
            <date>02021985</date>
        </book>	
    </catalog>
    donc il répet 2 fois la balise

  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
    Du coup tu l'utilises mal, n'est-ce pas ?

    En réalité il faut montrer les codes XML et XSLT de départ. Le résultat obtenu à la fin, bon, c'est pas plus mal, mais c'est beaucoup moins utile.
    C'est toujours comme ça quand on cherche des réponses en informatique.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut
    j'ai utilise aussi xsl ça marche pas voici mon fichier xsl

    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
    28
    29
    <?xml version="1.0"?>
    <xsl:stylesheet version="2.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output omit-xml-declaration="yes" indent="yes"/>
     
     
         <xsl:output method="xml" indent="yes" />
     
        <xsl:key name="category" match="catalog/*" use="@category" />
     
        <xsl:template match="catalog">
            <catalog catalog-id="photo-catalog">
    		 <xsl:apply-templates select="header[1]"  />
    		  <xsl:if test=". != ''">
                <xsl:apply-templates select="*[generate-id(.)=generate-id(key('category',@category)[1])]"/>
    		  </xsl:if>
            </catalog>
        </xsl:template>
     
        <xsl:template match="book">
            <book category="{@category}">
    		 <xsl:if test=". != ''">
                  <xsl:copy-of select="key('category', @category)" />
    		 </xsl:if>
            </book>
        </xsl:template>
     
     
    </xsl:stylesheet>

  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
    .... Je ne vois pas de <xsl:for-each-group> -_-°.
    Et je me rappelle t'avoir aussi demandé le fichier XML.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Regroupement d'enregistrements en ASP/SQL Server
    Par Matlight dans le forum ASP
    Réponses: 3
    Dernier message: 02/04/2004, 13h31
  2. Comment regrouper les 3requêtes SQL?
    Par SkyDev dans le forum Langage SQL
    Réponses: 16
    Dernier message: 06/03/2004, 13h02
  3. Regroupement par mois
    Par fplanglois dans le forum SQL
    Réponses: 7
    Dernier message: 29/07/2003, 16h32
  4. Regrouper 3 requêtes dans une seule
    Par LadyArwen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/06/2003, 09h32
  5. regrouper deux tables
    Par Shabata dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/05/2003, 15h02

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