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] soucis de détection d'un noeud (name spaces ?)


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut [XSLT] soucis de détection d'un noeud (name spaces ?)
    bonjour,

    j'ai un soucis de détectection d'un noeud au sein d'un document XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8"?>
    <feed xmlns="http://www.w3.org/2005/Atom"
          xmlns:bm="http://xxx.net/ns/"
          xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
          xmlns:app="http://purl.org/atom/app#">coucou
    </feed>
    mon code XSL ne détecte pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          <xsl:template match="feed">
                <xsl:message>Matched FEED node</xsl:message>
          </xsl:template>
    </xsl:stylesheet>
    je n'ai rien à l'affichage

    par contre, si mon XML est différent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8"?>
    <feed>coucou</feed>
    j'aurais bien le message Matched FEED node.

    Que me faut-il faire pour contourner cela ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    ouaip, c'est un pb de namespace, il y a pas mal d'info là : http://www.developpez.net/forums/sho...d.php?t=389086

  3. #3
    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
    sinon si tu souhaites avoir que les balises tutu quelques soit le namespace tu peux utiliser pour identifier les balises à traiter la fonction local-name()
    avec un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <xsl:template match = "local-name()='tutu'" >  
    </xsl:template>

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par fraoustin
    sinon si tu souhaites avoir que les balises tutu quelques soit le namespace tu peux utiliser pour identifier les balises à traiter la fonction local-name()
    avec un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <xsl:template match = "local-name()='tutu'" >  
    </xsl:template>
    ok, on essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      <xsl:template match="local-name()='feed'">
    		<xsl:message>Matched feed root node</xsl:message>
      </xsl:template
    cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Type de noeud inconnu : local-name

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:template match = "*[local-name()='tutu']" >  
    </xsl:template>

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Morbo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:template match = "*[local-name()='tutu']" >  
    </xsl:template>
    excellent !
    (et je n'ai rien vu)

    merci

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Enfin bon il y a un seul namespace de défini je vois pas pourquoi ne pas l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:atom="http://www.w3.org/2005/Atom">
       <xsl:template match = "atom:tutu">  
       </xsl:template>
    </xsl:stylesheet>

  8. #8
    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
    excuse moi pour ma réponse un peu rapide
    mais j'avais l'idée alors je me suis que cela pouvais t'aider

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par fraoustin
    excuse moi pour ma réponse un peu rapide
    mais j'avais l'idée alors je me suis que cela pouvais t'aider
    pas de problème ! c'était effectivement une bonne idée.
    pour ma part, je ne suis pas à fond sur cette problématique dans l'immédiat, alors ca ne me dérange pas de ne aps avancer "à pas de loup"

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

Discussions similaires

  1. [XSLT]introduire la valeur d'un noeud dans une balise html
    Par delma dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/10/2006, 22h08
  2. [XSLT] Afficher un attribut d'un noeud pere
    Par Oberown dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/10/2006, 11h10
  3. [XSLT] Obtenir la position d'un noeud
    Par zoubidaman dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/09/2006, 09h34
  4. [XSLT] remplacer le contenu d'un noeud
    Par casgr1 dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 29/06/2006, 09h50
  5. [XSLT] Connaitre le chemin d'un noeud
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/03/2006, 13h48

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