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]Tous copier et changer seulement des balises défini


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut [XSLT]Tous copier et changer seulement des balises défini
    Bonjour,

    Voila j'aimerais bien pouvoir faire une transformation générique afin de changer seulement quelque éléments (défini) de mon xml.

    Je m'explique:
    xml de départ:
    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
    <Root><!--attribut inconnu-->
    <!--balise inconnu-->
        <Views><!--attribut inconnu-->
           <!--balise inconnu-->
          <View><!--attribut inconnu-->
            <!--balise inconnu-->
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
            <!--balise inconnu-->
          </View>
          <View><!--attribut inconnu-->
            <!--balise inconnu-->
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
            <!--balise inconnu-->
          </View>
          <View><!--attribut inconnu-->
            <!--balise inconnu-->
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
            <!--balise inconnu-->
          </View>
          <!--balise inconnu-->
        </Views>
        <!--balise inconnu-->
    </Root>
    Mon but est de remplacer les balise Toolbar et menu par des autre qui se trouve dans un fichier xml voisin

    Structuré comme suit:
    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
    30
    <Toolbars>
      <Langue id='1'>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
      </Langue>
      <Langue id='2'>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
         <View>
            <Toolbar>...</Toolbar>
            <Menu>...</Menu>
         </View>
      </Langue>
    </Toolbar>
    Je pensais utiliser la fonction document() pour accéder à mon deuxième XML.

    Mais ce que je ne sais pas faire c'est comment créer exactement le même XML en sortie sauf pour les deux éléments (Toolbar et Menu) qui doive être pris du xml mais sont déjà présent dnas le xml de départ.

    Ma question est donc: Pouvez-vous m'indiquer comment copier génériquement les éléments du xml et pouvoir intervenir que quand certaine balise sont rencontrer? Menu et Toolbar en l'occurence.

    Petite question subsidiaire: peut-on aussi copier les commentaires (<!-- -->)?

    Pour le reste je pense pouvoir me débrouiller!

    Merci

  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
    bon j'ai pas bien compris par quoi tu voulais remplacer les balises toolbar et menu mais voila un exemple qui remplace toolbar par tutu et menu par titi en supprimant les attributs de toolbar et menu
    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
     
    <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="toolbar">
    		<tutu>
    			<xsl:apply-templates select="node()"/>
    		</tutu>
    	</xsl:template>
     
    	<xsl:template match="menu">
    		<titi>
    			<xsl:apply-templates select="node()"/>
    		</titi>
    	</xsl:template>
    </xsl:stylesheet>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    Ah ok il faut faire comme ca merci je vais essayer.

    En faite je remplace toolbar par un autre toolbar de mon second document XML (deuxième xml donnée en exemple dans le premier post).

    En faite c'est pour changer les langue des toolbars et menu(les nom change) sans devoir m'inquiéter du xml que j'ai en entrer. Car il est généré automatiquement par un autre transformation et je ne connait pas vraiment sa structure car elle est variable.

    J'espère que tu as comprendras maintenant.

    Bon je reposterai si j'ai d'autre souci

    Merci

Discussions similaires

  1. [XSLT] Affichage des balises xml en html via une xslt
    Par Eileen dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 20/04/2007, 15h53
  2. [XSLT] Utiliser des balises XHTML dans un fichier XML
    Par zoubidaman dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/03/2007, 14h30
  3. [XSLT]Modifier l'ordre des balises XML
    Par Philos15 dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 18/10/2006, 09h54
  4. [XSLT][>HTML]Affiché des balises HTML
    Par tiboel dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/06/2006, 20h15

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