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 :

renommer une sous balise xml


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut renommer une sous balise xml
    Bonjour
    j'ai un petit soucis:
    voici mon xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <catalogue>
    <titre>
    <produit atribut1="bla bla bla" atribut2="bla bla bla">
    	<nom>bla bla bla </nom>
    	<lien>
    		<produit>bla bla bla </produit>
    		<image>bla bla bla </image>
    	</lien>
    </produit>
    <produit>...</produit>
    <produit>...</produit>
    </catalogue>
    -j'aimerai renommer la balise orange <produit> qui a le meme nom de la balise mere.
    -la balise <produit atribut1="bla bla bla" atribut2="bla bla bla"> a toujours des attributs, la sous balise <produit>n'en a pas.
    je veux faire en sorte soit de renommer la balise <produit> qui n'as pas d'attributs,
    ou de renommer la balise <produit> qui est dérivé du la la balise lien.

    comment je peux faire ça en xsl?
    je suis encore débutant en xsl

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    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
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output 
      		encoding="ISO-8859-15"
      		method="xml"
      		indent="yes" />
     
    	<xsl:template match="node() | @*">
    		<xsl:copy>
    			<xsl:apply-templates select="@* | node()"/>
    		</xsl:copy>
    	</xsl:template>
     
    	<xsl:template match="produit[count(./parent::produit) = 1]">
    		<produitmere>
    			<xsl:apply-templates select="@* | node()"/>
    		</produitmere>
    	</xsl:template>
    </xsl:stylesheet>
    en gros pour une balise normal je copie, pour une balise produit qui a un parent produit je génère une balise produitmère

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut
    Merci de votre reponse je vais essayer ça et je vous met au courant

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut
    je suis débutant en xsl,
    j'ai pas pu manupuler votre code.

    voila mon vrai fichier

    et je veux changer la sousbalise product dérivé de la balise URL par un autre nom

    >mon fichier contiendra plusieur produits
    Merci de m'aider

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut Sculpteur
    c'est resolu
    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
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output   method="xml"  encoding="UTF-8"  doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system=""  indent="yes" />
     
    <xsl:template match="@*">
      <xsl:copy />
    </xsl:template>
    <xsl:template match="*">
      <xsl:element name="{name()}" >
        <xsl:apply-templates select="* | text() | @*"/>
      </xsl:element>
    </xsl:template>
     
     
    <xsl:template match="lien">
    <productUrl>
    	<xsl:value-of select="produit"/>
    </productUrl>
    <image>
    	<xsl:value-of select="image"/>
    </image>
    </xsl:template>
    </xsl:stylesheet>
    Merci fraoustin pour votre aide

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

Discussions similaires

  1. [CSS 3] Appliquer un style sur une sous-balise
    Par L'aigle de Carthage dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/09/2013, 15h41
  2. [XSLT 1.0] [XSD] Rendre une sous balise obligatoire
    Par djibril dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 14/12/2011, 15h33
  3. récupérer une sous arbre XML avec Xpath
    Par imen1986 dans le forum APIs
    Réponses: 2
    Dernier message: 20/05/2010, 20h04
  4. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 12h59
  5. [JDOM] données un attribut à une balise xml
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 09/07/2004, 15h54

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