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

Bibliothèques et frameworks PHP Discussion :

[XSL] Grouper par balise + count


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 788
    Points : 446
    Points
    446
    Par défaut [XSL] Grouper par balise + count
    Bonjour à tous,
    j'ai un fichier XML qui ressemble à ça :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <params>
        <param id="1">
            <nom>toto</nom>
            <type>config</type>
        </param>
        <param id="2">
            <nom>tutu</nom>
            <type>variable</type>
        </param>
        <param id="3">
            <nom>titi</nom>
            <type>config</type>
        </param>
    </params>

    J'aimerai récupérer grouper les résultat par type et avoir le nombre
    Ainsi j'aurai un fichier comme celui ci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <setting name="config" value="2" />
    <setting name="variable" value="1" />

    Mais pour le moment, j'arrive juste à récupérer les différents type triés (oui je suis loin du résultat voulu). Néanmoins, je vous donne mon code :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:apply-templates select="/params/param/type"><xsl:sort select="."/></xsl:apply-templates>
    <xsl:template match="type">
    <setting>
    	<xsl:attribute name="name">
    		<xsl:value-of select="."/>
    	</xsl:attribute>
    </setting>
    </xsl:template>

    Au passage, comment fais ton une balise simple pour setting et non double ?
    Le savoir est une arme alors soyons armés

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 788
    Points : 446
    Points
    446
    Par défaut
    J'ai trouvé comme un grand :
    Code xml : 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
     
    <?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="type" use="."/>
    <xsl:template match="/">
    	<xsl:apply-templates select="/params/param/type[generate-id(.)=generate-id(key('regrouper',.)[1])]"></xsl:apply-templates>
     </xsl:template>
    <xsl:template match="type">
    	<xsl:param name="typ" select="."/>
    		<set>
    			<xsl:attribute name="name">
    				<xsl:value-of select="."/>
    			</xsl:attribute>
    			<xsl:attribute name="value">
    				<xsl:value-of select="count(//type[.=$typ])"/>
    			</xsl:attribute>
    		</set>
    </xsl:template>
     
    </xsl:stylesheet>
    Le savoir est une arme alors soyons armés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ XML ][ XSL ] tri par date
    Par zozolh2 dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/08/2004, 10h19
  2. limiter le résultat retourné par le count
    Par SuperFoustan dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/08/2003, 12h10
  3. [XSL] insérer une balise <a name>
    Par guibong dans le forum XMLRAD
    Réponses: 2
    Dernier message: 01/08/2003, 15h04
  4. [XSL]faire une balise dans une balise??? (ComboBox)
    Par rastoix dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/05/2003, 08h34
  5. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57

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