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-FO] xml vers xsl-fo (pour generation PDF ou RTF)


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Octobre 2003
    Messages : 30
    Points : 24
    Points
    24
    Par défaut [XSL-FO] xml vers xsl-fo (pour generation PDF ou RTF)
    Je cherche a transformer un fichier xml en un fichier PDF(ou RTF). Il existe un outil FOP qui permet de faire cela, qui prend en entrée une feuille XSL-FO (FO signifiant Formatting Ojects). Toute la difficulté réside dans la transformation du fichier xml de départ vers cette feuille xsl-fo.
    Cela nécessite la création d'une feuille xsl intermediaire de transformation du xml vers xsl-fo.
    La question est la suivante: existe t'il des outils libres permettant de créer cette feuille xsl de transformation de manière très intuitive?
    Cet outil devant ne pas être un simple éditeur, mais un outil vraiment adapté a la logique métier xsl-fo.
    Si certains d'entre vous ont déja fait ce genre de transformations (xml -> PDF ou RTF) et ont adoptés d'autres stratégies de développement, j'aimerais également les connaitre.
    merci d'avance,

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 304
    Points : 15 631
    Points
    15 631
    Par défaut
    personnellement je fait les fichiers XSL "à la main" avec l'aide de Bonfire Studio (éditeur xml sous windows) et je ne connais pas de logiciel qui permet de créer un xsl

    l'avantage du XSL est qu'il est basé sur du XML donc il est trés facile à lire et le système de "templates" est trés puissant. c'est pour ca que je pense que c'est pas mal de faire soi même ces fichiers XSL.
    Pourquoi cherches tu un logiciel qui contruit du XSL ? parce que tu as un grand nom de feuille XSL à produire ? parce que tu veux faire un programme utilisable par des personnes qui ne connaissent pas le XSL ?

  3. #3
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Salut dams50,

    Je me suis posé la même question que toi, il y a quelques mois de cela. Entre autre, il me semblait dommage d'utiliser un éditeur/concepteur de feuille XSL "généraliste" (par exemple "styleSheet designer" (ou notepad :-)), alors qu'un outil spécifique, s'il existait, serait beaucoup plus performant (interface WYSIWYG, integration des notions propres à FO : marges, blocks, page-sequence, etc.). Le raisonnement étant : dans le cas d'une feuille XSL "classique", on ne connait pas le vocabulaire XML de destination (bien que ce soit souvent du (X)HTML); avec un feuille XSL-FO on le connait : donc il est possible de faire un outil plus adapté.

    Après une recherche sommaire dans Google, je suis tombé sur un outil open-source nommé Formatting Object Authoring (FOA) (il doit être maintenu chez sourceForge). Je l'ai vaguement essayé (je dois admettre que je n'ai pas été très perseverant), et j'ai vite été découragé. En effet, je m'attendais à voir un bel écran avec une page 21x29.7, mais non. J'ai trouvé qu'il n'y avait pas de réelle difference entre l'utilisation de cet outil et l'écriture "à la main" d'une feuille XSL (à la limite "à la main" ça va plus vite : pas besoin d'ouvrir 50 boites de dialogue; et le copier-coller se fait plus facilement). Pour donner un exemple, l'équivalent des lignes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <fo:simple-page-master master-name="convocation"
                      page-height="29.7cm" 
                      page-width="21cm"
                      margin-top="2cm" 
                      margin-bottom="2cm" 
                      margin-left="1cm" 
                      margin-right="1cm">
    </fo:simple-page-master>
    consisterait à effectuer les manips suivantes dans FOA :
    - commande : "créer un nouveau simple-page-master"
    - fenêtre : "entrer le nom de votre nouveau simple-page-master"
    - puis une boite de dialogue contenant 6 champs saisissable : "page-height", "page-width", "margin-top", "margin-bottom", "margin-left" et "margin-right"
    - "OK/Cancel"

    Comme on le voit, l'outil ne fait qu'encapsuler très légèrement, le code de la feuille XSL sous-jacente. Donc, le gain n'est pas énorme...
    Mais comme je l'ai dit plus haut, je n'ai pas testé l'outil de manière très approfondie.

    Finalement, j'ai décidé d'écrire mes feuilles "à la main", ce qui a également ses avantages (qui doivent être les mêmes que l'écriture de html à la main par rapport à l'utilisation de DreamWeaver ou autre):
    - on maitrise le code généré (donc, à priori ce dernier sera plus concis, performant et lisible).
    - facilité de debuggage. Elle découle du point precedent : il est plus facile de debugger du code que l'on a écrit plutot que du code généré par un outil.
    - on apprend à maitriser un langage plutot qu'un outil.
    - c'est plus satisfaisant pour l'esprit.

    Donc au final, je suis assez d'accord avec "mathix". Mais, d'un autre coté, il faut bien admettre que, dans certains cas, des outils adaptés et performants peuvent permettre de gagner pas mal de temps (cf. DreamWeaver vs Notepad).

    Si tu essais FOA, tiens moi au courant, dis-moi ce que tu en penses.

    Tcho,

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Octobre 2003
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    merci pour vos réponses et excusez le caractère tardif de la mienne, mais j'ai pris le temps de me faire un avis sur l'option "tout fait a la main" et celle "a l'aide de FOA".

    J'ai tout d'abord opté pour le "fait a la main", et pour moi qui n'avais jamais touché a xsl-fo (bien qu'ayant codé 2-3 feuilles xsl par le passé), ce fut le bon moyen pour appréhender les possibilités offertes par XSL, XPath mais aussi par les fonctionnalités FO.
    Résultat: 2 journées pour arriver a un PDF avec table des matières, numérotation des pages (sur total de pages), header et footer de page (encapsulant un tableau).

    Après cela, je me suis fixé l'objectif d'obtenir le meme résultat avec FOA.
    J'ai finalement abandonné apres avoir remarqué l'impossibilité de fournir des contenus statiques, il me semble en effet que toutes les données doivent provenir du doc xml d'entrée. FOA ne permet pas en outre de préciser des modes xsl supplémentaires (nécessaires quand on veut une table des matières), ni de gérer des identifiants de block par exemple.

    En ce sens, FOA me semble limitatif et personnellement, je ne pense pas l'utiliser ... et pense plutôt a faire mes feuilles à la main.

  5. #5
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Merci beaucoup pour le feedback dams50
    (Il me semblait bien que FOA était assez limité...)

    Sinon, juste pour info, le site d'apache reference un certain nombre d'outils d'aide à la conception de XSL/FO :
    * [software] FOA (Formatting Objects Authoring) (MPL)
    * [software] FOEditor by Scruffy Software (Shareware)
    * [software] Scriptura by Inventive Designers (commercial)
    * [software] XSLfast by jCatalog Software AG (commercial)
    * [software] XML Report Styler by Rubico (commercial)
    J'en ai testé aucun; je crois que je vais continuer à écrire mes XSL avec notepad

    Bye,

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Octobre 2003
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Un collègue va essayer Scriptura et xml report styler, j'espère avoir son avis sous peu et vous en ferai part. Wait & see ...

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

Discussions similaires

  1. [AC-2003] Automatisation pour generation PDF
    Par mikael2235 dans le forum VBA Access
    Réponses: 4
    Dernier message: 24/08/2012, 16h26
  2. Mise en page XML avec XSL et XML externe
    Par snopims dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/08/2011, 15h57
  3. Réponses: 2
    Dernier message: 05/03/2008, 19h30
  4. [XSL] Envoyer du code XSL depuis XML
    Par t_ferreira dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 06/09/2007, 14h21
  5. XML vers XML avec XSL
    Par guizz79 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2005, 09h43

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