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] Créer plusieurs fichiers Xml avec une feuille de style Xslt


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [XSLT] Créer plusieurs fichiers Xml avec une feuille de style Xslt
    Bonjour,

    J'utilise actuellement une feuille de style XSL que j'applique sur des fichiers XML.
    Maintenant, je souhaiterais utiliser cette feuille de style pour créer plusieurs fichiers XML à
    partir d'une seule source XML (en le découpant suivant certaines balises).


    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
    Bonjour,

    Ce n'est pas une possibilité XSLT 1.0 que de générer plusieurs documents par une seule transformation.

    XSLT 2.0 le permet, semble t'il, mais je n'ai pas encore eu l'occasion de le tester.

    Dans le projet OpenSource que je réalise (http://www.agencexml.com/txs/fr/), j'ai intégré la possibilité de sauvegarder un sous-arbre. Pour ce que vous cherchez à faire, il suffirait, avec tXs, que l'arborescence résultante inclut autant d'appel à la commande <txs:save filename="..." format="xml"> que souhaité.
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

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

    C'est possible avec XSLT 2.0. XSLT 1.0 ne le permet en principe pas, sauf en utilisant les extensions fournies par certains processeurs XSLT (ex: <saxon:ouput> pour Saxon, <redirect:write> pour Xalan, etc.).
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour et merci de vos réponses.

    J'ai finalement utilisé une combinaison de :
    - <xsl:for-each ...> pour boucler sur les balises souhaitées,
    - et <redirect:write file="{$file}"> pour écrire et rediriger mon flux de sortie vers le fichier souhaité (en modifiant le chemin de mon fichier à chaque boucle, cela permet de créer plusieurs fichiers).

    Voilà, cela semble marcher... en tout cas le résultat correspond à mes attentes.

    Merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2009, 16h43
  2. Lien vers un fichier XML avec une feuille XSLT
    Par Raphael_Lemaire dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 01/10/2008, 23h16
  3. Diviser un fichier XML en plusieurs fichiers XML avec XSLT
    Par bobkorn dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2008, 12h13
  4. Réponses: 2
    Dernier message: 05/03/2008, 19h30
  5. [xerces] Lier un xml avec une feuille de style
    Par alexthomas dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 15/11/2007, 13h21

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