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] Modif. d'arborescence d'un fichier XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [XSL] Modif. d'arborescence d'un fichier XML
    Bonjour le forum,

    Je suis confronté à un souci (sans doute de débutant) sur le traitement xslt d'un fichier xml.

    J'ai un fichier de départ 01.xml de la forme suivante :
    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
    <root>
      <item>
        <id>01</id>
        <nom>Toto</nom>
        <age>20</age>
        <note>05/20</note>
      </item>
      <item>
        <id>02</id>
        <nom>Lulu</nom>
        <age>15</age>
        <note>12/20</note>
      </item>
      ...
    </root>
    C'est à dire un fichier qui contient les données plus ou moins personnelles de plusieurs personnes (plusieurs fiches item).

    Pour une publication à l'aide d'InDesign, je veux séparer les données personnelles (nom et âge) des données à analyser (note) qui apparaitront sur deux calques différents. J'ai donc crée un fichier xsl, qui me permet d'obtenir le fichier 02.xml suivant :
    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
    18
    19
    20
    21
    22
    <root>
      <perso>
        <item>
          <nom>Toto</nom>
          <age>20</age>
        </item>
        <item>
          <nom>Lulu</nom>
          <age>15</age>
        </item>
      </perso>
      <stat>
        <item>
          <id>01</id>
          <note>05/20</note>
        </item>
        <item>
          <id>02</id>
          <note>12/20</note>
        </item>
      </stat>
    </root>
    Jusque là aucun pb, je sais faire, ça marche tout seul.

    Ensuite je voudrais pouvoir faire la réciproque. C'est à dire, à l'aide d'une transformation XSLT, revenir sur un fichier XML avec la structure de départ.
    Je ne sais pas comment faire. J'ai tenté avec des xsl:for-each, ou en jouant sur la position du noeud élément, mais rien ne marche.

    Est-ce que quelqu'un aurait un tuyau ?

    D'avance merci

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Il faut faire une boucle sur une des deux sous-arborescences et mémoriser y dans une variable $pos la position courante grâce à la fonction position() puis se positionner dans l'autre arborescence en repartant de la racine en indiquant comme filtre [$pos] pour aller sur l'élément de même position.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci Alain, ça marche au poil.
    Je retrouve maintenant exactement la même structure qu'au départ et tout est en ordre.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2007, 15h03
  2. Présentation HTML en arborescence d'un fichier XML
    Par tomy29 dans le forum Delphi
    Réponses: 1
    Dernier message: 27/12/2006, 19h06
  3. Afficher l'arborescence d'un fichier XML
    Par kingmandrax dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/09/2006, 17h24
  4. Arborescence d'un fichier XML
    Par lysandra dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 21/08/2006, 15h08
  5. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32

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