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] Filtrer certaines balises d'un fichier XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [XSLT] Filtrer certaines balises d'un fichier XML
    Salut les gens,

    voilà je me pose la problématique suivante : j'ai en entrée d'un système un fichier XML avec un certain nombre de balises. Exemple bidon simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="iso-8859-1" ?>
    <PeopleList>
       <People ID="1">
          <Name>Toto</Name>
          <Phone>0102030405</Phone>
          <Age>33</Age>
       </People>
       <People ID="2">
          <Name>Titi</Name>
          <Phone>0504030201</Phone>
          <Age>28</Age>
       </People>
    <PeopleList>
    et, toujours par exemple (je simplifie un max), je veux en sortie de ce système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="iso-8859-1" ?>
    <PeopleList>
       <People ID="1">
          <Name>Toto</Name>
       </People>
       <People ID="2">
          <Name>Titi</Name>
       </People>
    <PeopleList>
    Vous me direz, c'est facile, y'a qu'à parser gentillement le fichier, ne lire que les "Name" et réécrire le tout dans un nouveau XML

    Oui, mais je veux que ca soit dynamique, mon outil ne sait pas à l'avance quel sera mon nouveau format de sortie... C'est là que je suis perdu car très novice en XML... j'ai pensé au XSLT, mais est-ce que je peux m'en servir pour sortir du XML en sortie?

    Merci pour vos lumières !!

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    normalement c possible en xslt, il suffit de faire de connaitre les tag à ne pas generer juste avant de lancer la transfo...par exemple les mettre au format xml dans un fichier de parametrage ou truc dans le genre...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    tu aurais un exemple ou le mot clé qui va bien?

    mes recherches avec l'ami google ne me donnent pas satisfaction, il est tjrs question de mise en forme avec CSS / HTML / etc ...

    Merci d'avance
    @+

  4. #4
    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,

    Citation Envoyé par arthix
    Oui, mais je veux que ca soit dynamique, mon outil ne sait pas à l'avance quel sera mon nouveau format de sortie... C'est là que je suis perdu car très novice en XML... j'ai pensé au XSLT, mais est-ce que je peux m'en servir pour sortir du XML en sortie?
    Bien sûr, XSLT peut te servir pour transformer du XML en XML d'une autre forme, mais tu pourrais être plus précis sur l'outil en question ?

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    en gros pour copier des élément de ton xml tu utilise :

    en xsl tu peux créer une sorte de template /fonction que tu peux appeler (avec ou sans parametres) avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:call-template name ="le_nom_deçta_fonction"/>
    à cette fonction tu passe en parametre les noeuds que tu ne veut pas copier et elle fera le nécessaire....un peu plus clair?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,
    Bien sûr, XSLT peut te servir pour transformer du XML en XML d'une autre forme, mais tu pourrais être plus précis sur l'outil en question ?
    Je v éviter de reciter le super exemple de mon premier post, mais en gros l'idée c'est que ce système doit générer des XML propres à plusieurs profils.
    Comme je le disais au début, si le nombre de profil est fini, pas de soucis, le soft peut gérer lui même. Le seul hic, c'est qu'on ne doit pas avoir à le recoder, et de façon très souple pour l'utilisateur (à qui on file un xslt en entrée), le système lui sort un xml au formt dudit xslt, c'est transparent :-)

    je pense pas m'être beaucoup plus expliqué ...
    S clair ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par valal
    en gros pour copier des élément de ton xml tu utilise :

    en xsl tu peux créer une sorte de template /fonction que tu peux appeler (avec ou sans parametres) avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:call-template name ="le_nom_deçta_fonction"/>
    à cette fonction tu passe en parametre les noeuds que tu ne veut pas copier et elle fera le nécessaire....un peu plus clair?

    yep thanks, je v me tester ca
    @+!

Discussions similaires

  1. Supprimer des balises d'un fichier XML via XSLT
    Par LaBastoss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/12/2012, 20h44
  2. [XSLT] Extraire certaines balises d'un document XML
    Par Wookai dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 10/04/2007, 09h09
  3. [XSLT] remplacement de chaine dans un fichier XML
    Par Eldarion dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/07/2006, 13h30
  4. Balise html dans fichier XML
    Par pierrox dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 19/09/2005, 09h20
  5. [XML] Incorporation de balises HTML dans fichier XML
    Par wazzzzza dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 26/07/2005, 14h17

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