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 :

[XSL][XPATH] recopier les attributs d un élément mais pas le


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut [XSL][XPATH] recopier les attributs d un élément mais pas le
    Bonjour,
    je souhaite créer un élément qui porte le nom du noeud courant, en recopiant les attributs MAIS PAS LE TEXT.
    voici ce que j ai pour le moment
    il faut que je précise que je ne veux pas le text()

    <xsl:variable name="NomElement" select="name()"/>
    <xsl:element name="{$NomElement}">
    <xsl:copy-of select="@*"/><!--ICI IL MANQUE QQ CHOSE-->
    </xsl:element>

    Merci

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    cree un noeud de meme nom que le noeud courant pour les attributs il faut le faire à la main.Je te conseille de t'inspirer de ce code:
    http://www.developpez.net/forums/viewtopic.php?t=239000

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    je pense qu une explication s impose car j ai bien compris le template, pas de probleme...ce que je ne comprend sont les lignes d appel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:copy>
      <xsl:apply-templates select="*|@*|text()"/>
    </xsl:copy>
    Comment je me retrouve avec l arbre bien comme il faut, je ne parle pas de la structure mais de tout ce qui concerne les attributs et text??
    je voudrais comprendre comment ça marche en somme

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:apply-templates select="*|@*|text()"/>
    le xsl parse un noeud dans cet ordre: ces attributs puis , suivant celui qui est en premier ou present le noeud text() ou le noeud node()
    cela equivaudrait en gros à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:apply-templates select="@*"/> 
    <xsl:apply-templates select="*|text()"/>
    Donc en premier je parse tous les attibuts et j'applique le template correspondant (ici simple copie) puis je m'attaque aux noeuds de type text() et node() qui sont fils.Principe de recursivité

    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a>
     truc
      <b>machin</b>
     truc
    </a>
    enchainement
    text() node() text()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a>
      <b>machin</b>
     truc
    </a>
    node() text()

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    mon cerveau chauffe, je ne suis pas sur d avoir saisi mais je vais y reflechir derieusement.
    Merci pour ta patience

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/11/2008, 09h58
  2. [DOM] Parcourir les attributs d'un élément de la DOM
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/09/2008, 19h05
  3. [XSLT] Récupération de tous les attributs d'un élément
    Par Lima dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/03/2007, 16h05
  4. [JDOM] Récupérer tous les attributs d'un élément
    Par ammah dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 21/06/2006, 17h05
  5. [XSL][XPATH] pour les tueurs (position() generate-id....
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 15/11/2005, 10h26

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