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] boucler sur des attributs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 27
    Points : 24
    Points
    24
    Par défaut [XSLT] boucler sur des attributs
    Bonjour à tous
    j'aimerai savoir comment peut-on boucler sur des atttributs d'un noeud
    je pensais que ceci marcherai.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:for-each select="@*">
    					<xsl:attribute name="{name()}">
    							<xsl:value-of select="(.)"></xsl:value-of>
    					</xsl:attribute>
    				</xsl:for-each>
    manifestement non(bien sur pour l'instant c bout de code est cencé recopier l'attribut, et il existe xsl:copy, mais des test à l'inbtérieur de la boucle seront ajouter)

    Merci pour vos réponses.

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Deux questions:

    Es-ce que dans ton template plus haut tu est bien dans le bonne élément ?

    Pourquoi: <xsl:value-of select="(.)"></xsl:value-of> ?


    Moi ca me donne plutot ca?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:template match="@*"> 
    <xsl:attribute name="{local-name()}"> 
    <xsl:value-of select="."/> 
    </xsl:attribute> 
    </xsl:template>
    ++

    Thierry

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Tu as des parenthèses en trop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:for-each select="@*"> 
      <xsl:attribute name="{name()}"> 
        <xsl:value-of select="."/>
       </xsl:attribute> 
    </xsl:for-each>
    Une remarque importante à propos de xsl:attribute : l'attribut ne sera créé que s'il n'y a pas encore de contenu à l'élément courant ; si tu essaies de créer un attribut pour un élément dans lequel tu as déjà placé des éléments fils ou des noeuds textuels, cela ne fonctionnera pas et le processeur XSLT ne te le signalera pas forcément.

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    merci, cela fonctionne, peux tu me dire quel est la différence entre name et local-name?

Discussions similaires

  1. [XSLT] Select sur plusieurs attributs
    Par maitrebn dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 28/11/2006, 13h13
  2. [XSLT]Sort sur un attribut dont la valeur est en param
    Par Trin dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/11/2005, 16h16
  3. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15
  4. boucler sur des checkboxes
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/10/2004, 08h27
  5. [VB6] Comment boucler sur des controls d'un form ?
    Par lankviller dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2003, 16h29

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