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] - Ajouter à noeud à un endroit bien precis


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier Avatar de jacquesh
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 269
    Points : 119
    Points
    119
    Par défaut [XSLT] - Ajouter à noeud à un endroit bien precis
    Bonjour,

    je souhaiterai via XSLT 1.0 uniquement ajouter un noeud à un endroit précis d'un document XML.

    Exemple :

    <root>
    <a>1</a>
    <c>3</c>
    </root>

    je souhaiterai ajouter "<b>2</b>" juste après '<a>'.

    quelqu'un à une idée ?

    merci d'avance.

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Il faut se baser sur la transformation identité et sur les priorités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <xsl:stylesheet version="1.0">
      <xsl:template match="a" priority="1">
       <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
       </xsl:copy>
       <b>2</b>
      </xsl:template>
      <xsl:template match="@*|node()" priority="0">
       <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
       </xsl:copy>
      </xsl:template>
     </xsl:stylesheet>
    Là, ça rajoute l'élément b après chaque élément a. Si vous voulez restreindre, il faut rajouter une condition selon la syntaxe a[condition] ...

  3. #3
    Membre régulier Avatar de jacquesh
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 269
    Points : 119
    Points
    119
    Par défaut
    malgré ma réponse tardive... ça marche

    merci.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/09/2007, 14h31
  2. [Ajout noeud xml] comment ça marche?
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 37
    Dernier message: 19/07/2007, 22h46
  3. ajouter un document à un endroit bien précis
    Par bidule123456 dans le forum Langage
    Réponses: 7
    Dernier message: 04/07/2007, 17h00
  4. Réponses: 15
    Dernier message: 06/04/2006, 12h05
  5. Div déplaçable dans des endroits bien définis
    Par creale10 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/02/2006, 09h49

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