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] Problème de condition sur un XSLT


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 20
    Par défaut [XSLT] Problème de condition sur un XSLT
    Bonjour,

    Je cherche une solution a mon problême de condition dans le cadre de mon fichier de conversion XSLT.

    J'ai un fichier XML qui décrit différentes informations sur une personne, notamment ses différentes adresses. Dans le cadre de ma conversion, si la personne n'a qu'une seule adresse elle est prise en compte. Cependant si la personne à plusieurs adresses, alors un test est necessaire sur la valeur d'un noeud "DefaultAddress" pour savoir laquelle il faut garder.

    D'un point de vu code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <personne>
         <nom>Durant</nom>
         <prenom>Jean</prenom>
         <adress>
              <num>14</num>
              <rue>rue durant</num>
              <ville>Paris</ville>
         </adress>
    </personne>
    deviendrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <personne>
         <nom>Durant</nom>
         <prenom>Jean</prenom>
         <adress>
              <num>14</num>
              <rue>rue durant</num>
              <ville>Paris</ville>
         </adress>
    </personne>
    Et :

    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
    16
    17
     
    <personne>
         <nom>Durant</nom>
         <prenom>Jean</prenom>
         <adress>
              <num>14</num>
              <rue>rue durant</num>
              <ville>Paris</ville>
              <defaultAddress>false</defaultAddress>
         </adress>
         <adress>
              <num>15</num>
              <rue>rue dupont</num>
              <ville>Paris</ville>
              <defaultAddress>true</defaultAddress>
         </adress>
    </personne>
    deviendrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <personne>
         <nom>Durant</nom>
         <prenom>Jean</prenom>
         <adress>
              <num>15</num>
              <rue>rue dupont</num>
              <ville>Paris</ville>
        </adress>
    </personne>

    Comment peut se présenter mon fichier .xslt afin de palier à se problême de condition?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Je pense qu'il faudrait faire quelque chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:template match="personne">
       <personne>
          <xsl:copy-of select="nom"/>
          <xsl:copy-of select="prenom"/>
          <xsl:copy-of select="adress[count(current()/adress) = 1 or ./defaultAddress = 'true']"/>
       </personne>
    </xsl:template>
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

Discussions similaires

  1. Problème de condition sur les dates
    Par machipot dans le forum Struts 1
    Réponses: 1
    Dernier message: 24/07/2007, 20h18
  2. [XSLT]Problème de namespace sur un export XMi (UML 2.1/XMi 2.1)
    Par CocoRambo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 25/06/2007, 09h50
  3. problème de condition sur un entier
    Par Stouille89 dans le forum C
    Réponses: 18
    Dernier message: 19/11/2006, 11h51
  4. [XSLT] Problème de chemin d'accès + XSLT
    Par Jorus dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/09/2004, 08h36

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