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 :

[XPATH] problème avec le nom des noeud fils


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut [XPATH] problème avec le nom des noeud fils
    Rebonjour ...

    voila mon problème est assez simple (j'ai encore beaucoup de mal avec XPATH ...)

    j'ai une structure comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <papa>
           <fils1>moi</fils1>
           <fils2>mon petit frère </fils2>
    </papa>
    qui pourrais etre egalement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <papa>
           <fils1>moi</fils1>
           <fils2>mon petit frère </fils2>
           <fils3>arheu</fils3>
    </papa>
    et donc mon problème est comment controler la valeur des balises filles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:for-each select="papa">
        <xsl:choose>
            <xsl:when test="papa.childnode='fils1' ">
                  <!-- faire quelquechose -->
            </xsl:when>
        </xsl:choose>
    </xsl:for-each>
    et ça ne marche pas ... et je comprend pas pourquoi
    ou c'est que je ne suis pas la bonne doc : doc sur l'objet node

    merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    bonjour,
    est ce que tu ne peux pas changer ta structure en
    <papa>
    <fils>moi</fils>
    <fils>mon petit frère </fils>
    <fils>arheu</fils>
    </papa>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut
    bonjour,
    est ce que tu ne peux pas changer ta structure en
    <papa>
    <fils>moi</fils>
    <fils>mon petit frère </fils>
    <fils>arheu</fils>
    </papa>
    non, bon mon exemple n'est pas bon ...

    je recommence tout !!

    la dtd me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <!ELEMENT description (text)+>
     
    <!ELEMENT text (#PCDATA)>
    <!ATTLIST text
       proglang %word; #IMPLIED
       lang    %word; #IMPLIED
       href     %word; #IMPLIED
    >
    <!--     lang='fr' ou lang='en', ...            -->
    et mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <description>
    <fr>blabla en français</fr>
    <en>blabla in english</en>
    </description>
    donc ce que je voudrais c'est dans le sous arbre description reperer les balises qui y sont presentes et savoir si c'est une balise <fr>, <en> ou ... car elles ont un traitement différents.
    je pourrais avoir une balise <ge> ou <cz> .... mais à priori je ne sais pas quelles sont les balises contenu ...

    j'espere avoir été plus clair ce coup là ...

  4. #4
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Hello voila un exemple...

    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
      <xsl:template match ="/">
       <xsl:for-each select="papa/*">
          <xsl:value-of select="name()"/>
          <xsl:choose>
                  <xsl:when test="name()='fils1' ">
                        <!-- faire quelquechose -->
                        [ok]
                  </xsl:when>
        </xsl:choose>
    </xsl:for-each>
      </xsl:template>
    </xsl:stylesheet>
    A+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut
    Super merci


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

Discussions similaires

  1. Réponses: 14
    Dernier message: 04/10/2012, 13h14
  2. Réponses: 1
    Dernier message: 09/08/2011, 16h28
  3. [JDOM] Problème avec les nom contenant des tirets '-'
    Par malimaot dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 09/02/2011, 17h57
  4. [StAX] Problème underscore dans le nom des noeuds XML avec stax/xstream
    Par mandarindi dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 19/08/2010, 09h51
  5. [VB Excel] Problème avec le nom automatique des TCD
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/12/2005, 13h30

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