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] regroupement de balises séquentielles


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut [XSLT] regroupement de balises séquentielles
    Bonjour,

    Je souhaiterai regrouper des balises qui se suivent séquentiellement
    par exemple, j'ai le fichier XML suivant
    (pas vraiment conforme à une dtd, mais c'est ce que j'ai, et je n'ai pas trop le choix)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <numero>1</numero>
    <nom>DUPONT</nom>
    <prenom>pierre</prenom>
    <tel>0101010101</tel>
     
    <numero>2</numero>
    <nom>MARTIN</nom>
    <prenom>georges</prenom>
    <tel>0101010101</tel>
    et je voudrai regrouper toutes les balises comprise entre la balise
    <numero> et sa suivante <numero>
    mais je ne sais aboslument pas comment écrire en XSL ce test
    pour obtenir ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <personne>
    <numero>1</numero>
    <nom>DUPONT</nom>
    <prenom>pierre</prenom>
    <tel>0101010101</tel>
    </personne>
     
    <personne>
    <numero>2</numero>
    <nom>MARTIN</nom>
    <prenom>georges</prenom>
    <tel>0101010101</tel>
    </personne>
    Merci d'avance pour votre aide
    je suis aboslument coincée là...

    Bonne journée!!!

    Julie

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Est-ce que le fichier d'origine n'a bien qu'un seul noeud racine ?
    Si non, normalement c'est compromis car la transformation ne pourra se faire.
    Si oui, voilà une bidouille (qui tente de rattraper quelque chose de mal former à la base) :
    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
    23
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output indent="yes"/>
    	<xsl:template match="/*">
    		<personnes>
    			<xsl:apply-templates/>
    		</personnes>
    	</xsl:template>
    	<xsl:template match="numero">
    		<personne>
    			<xsl:apply-templates select="." mode="grouper" />
    		</personne>
    	</xsl:template>
    	<xsl:template match="*">
    	</xsl:template>
    	<xsl:template match="*" mode="grouper">
    		<xsl:copy-of select="."/>
    		<xsl:variable name="vNext" select="following-sibling::*[1]" />
    		<xsl:if test="name($vNext)!='numero'">
    			<xsl:apply-templates select="$vNext" mode="grouper"/>
    		</xsl:if>
    	</xsl:template>
    </xsl:stylesheet>

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Merci
    Merci, c'est parfait, merci beaucoup!!!

  4. #4
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Si ce n'est pas fait, mettre le tag

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

Discussions similaires

  1. [XSLT] Regroupement par id de balise XML
    Par aandre dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/12/2010, 13h05
  2. [XSLT] Regroupement balises
    Par toMuch dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/09/2010, 16h09
  3. [XSLT] Regrouper des balises pour hiérarchiser
    Par 922374 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/09/2009, 10h42
  4. [XSLT] Regroupement de balises
    Par nadsky dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/06/2009, 11h43
  5. [XSLT] Regroupement de balises
    Par maa dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/10/2007, 06h26

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