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

XML/XSL et SOAP Discussion :

[OOo] import de données xml dans un document open office writer


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut [OOo] import de données xml dans un document open office writer
    Bonjour
    J'ai un document open office writer. Je souhaiterais importer des données XML dans différents champs de ce document. J'ai déjà réussi à importer des données xml mais d'une manière brute sans que les données s'importent dans un espace spécifique du document. Cette page d'internet :
    http://www.bobiciel.com/maxopeninfo/...l/page-35.html présente exactement ce que je voudrais faire. J'ai téléchargé leur dossier d'exemple et tout marche. L'import de données xml se fait dans différents champs d'un document open office.

    J'ai voulu faire de même pour mon propre document writer. J'ai crée différents champs de fusion XML dans mon document. J'ai ensuite décompressé le fichier .odt pour avoir accés aux fichiers XML : content.xml, styles.xml, settings.xml, meta.xml.

    Petite précision : le fichier .odt est aussi une archive contenant entre autre des fichiers xml.
    Sur Windows en tout cas on peut copier le fichier .odt et le renommer en .zip puis le décompresser avec un logiciel adéquat (le truc de windows par exemple)
    Après on a accès à tout les fichiers xml !


    J'ai essayé de reprendre leur filtre de transformation d'export xslt et créer un nouveau filtre de la même façon. Mais ça n'a pas marché. Lorsque j'ouvre mon document xml avec le filtre xslt openoffice renvoie une erreur : Erreur générale d'entrée/sortie. Où est le problème ? En fait comment crée un bon filtre XSLT là j'ai l'impression d'avoir fait du bidouillage ...

    Le zip de mes fichiers. Cliquer sur Mes fichiers. (Avec Ifrance impossible a priori de faire un lien direct vers une archive zip)
    Il contient le document odt dans lequel j'aimerais importer des données xml, un dossier contenant les fichiers xml de ce document odt, le fichier de données xml et le filtre de transformation xslt.
    Les fichiers de Bobiciel
    Si quelqu'un pouvait m'aider ce serait super.
    Merci d'avance

  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
    Le principe de la fusion XML est assurément bien plus intéressant que la fusion CSV que nous connaissons depuis les versions DOS de Word... et j'ai déjà eu ce besoin professionnellement.

    Par contre, le produit que vous citez s'appuie sur un .jar développé pour la version Ooo1.1 et le format .stw... alors que les tests que vous avez réalisés l'ont été avec un .odt ? L'embrouille ne viendrait-elle pas de là ?

    Parmi mes différentes activités, j'envisage sérieusement de creuser ce point mais cela va prendre beaucoup de temps, j'en ai peur... Je vous tiendrai au courant si j'arrive à quelque chose.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Merci pour votre réponse.
    J'ai importé mon document .odt en document .sxw (open office 1) et effectivement, je n'ai plus eu l'erreur générale d'entrée/sortie. Mais les champs de fusion restent tels quels et ne sont pas remplis par les données xml.
    En faisant d'autres recherches sur internet j'ai vu que sur la liste de diffusion users.fr d'open office, certaines personnes discutaient de ce sujet. A priori il y avait même la personne qui a crée le filtre XSLT sur lequel je me suis appuyée. J'y ai donc demandé de l'aide, on verra ce que cela donne

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    En fait le filtre de MaxFusion s'applique à tous les modèles de document, donc il n'y a a priori pas besoin de créer un nouveau filtre XSLT !

    cf : (liste de diffusion users-fr d'OpenOffice) http://fr.openoffice.org/servlets/Re...rs&msgNo=60462 -->
    ----
    Le principe de fonctionnement de MaxFusion est le suivant :

    1) créer un document modèle sous OOo en y intègrant le paramètrage xpath adéquate
    2) enregistrer ce document au travers le filtre "Fusion MaXOpenInfo (writer)" et en écrasant le fichier .../xslt/Fusion MaXOpenInfo
    (writer)/FusionXmlToWriter.xsl

    En fait, le filtre xslt d'import "FusionXmlToWriter.xsl" qui va servir à la fusion est créé automatiquement. C'est vrai que ça peut sembler tordu, mais ça
    fonctionne à merveille ;-) en en plus la méthode est on ne peut plus générique.

    3) ouvrir le fichier source xml au travers du filtre "Fusion MaXOpenInfo (writer)"
    ----

  5. #5
    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
    MaxFusion est gratuit mais pas en OpenSource? Non ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    La licence LGPL c'est opensource à ce qui me semble, donc c'est open source (cf : http://www.bobiciel.com/maxopeninfo/...l/page-35.html paragraphe Licence)

  7. #7
    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
    Sauf que les sources ne sont pas en ligne

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par alain.couthures
    Sauf que les sources ne sont pas en ligne
    Ah bon ? De quelles sources parlez-vous exactement ?
    Pour le script de fusion XSLT, j'ai téléchargé le fichier http://www.bobiciel.com/maxopeninfo/...xooofusion.zip
    Puis dans OOo, je suis allée dans le menu : Outils/Paramétrage du filtre xml. J'ai cliqué sur ouvrir le package, j'ai séléctionné le bon package
    J'ai ensuite sélectionné le filtre "Fusion MaXOpenInfo (Writer)" dans la liste et j'ai cliqué sur le bouton "Editer"
    Dans l'onglet transformation, on voit dans quel répertoire les deux filtres ont été créés, on a donc accès aux sources !
    Est-ce que ça répond à votre question ?

    Autrement, j'ai une autre question : quelqu'un saurait-il comment ouvrir un fichier .xml avec le bon filtre sans avoir à le spécifier dans la fenêtre "Séléction d'un filtre" ? C'est-à-dire qu'on ouvre un fichier .xml avec openoffice et OOo ouvre tout de suite le fichier en ayant sélectionné automatiquement le bon filtre
    Merci d'avance

  9. #9
    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
    Oui, les "sources", c'est-à-dire des fichiers .java compilables et non pas un .jar tout compilé...

    Pour le deuxième point, il devrait s'agir d'une "processing-instruction" indiquant comment "ouvrir" le fichier. M$ faisait comme ça dans Office2003... mais je ne sais pas si cela existe dans Ooo, je n'ai pas l'impression que ce point soit beaucoup développé en ce moment chez eux... J'en veux pour preuve les filtres pour DocBook qui n'ont pas suivi le format .odt et qui sont lamentables au demeurant !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par alain.couthures
    Oui, les "sources", c'est-à-dire des fichiers .java compilables et non pas un .jar tout compilé...
    Peut-être pouvez-vous demander au concepteur les fichiers .java ? (cf adresse mail sur http://fr.openoffice.org/servlets/Re...rs&msgNo=60525 )
    Quelque chose que je viens de découvrir : dans le menu d'OOo : Outils/Paramètres du filtre XML, l'onglet Enregister permet d'enregister un filtre comme package .jar. C'est vraisemblablement comme ça qu'ils ont procédé ! Et ils ne sont sans doute pas partis de fichiers .java compilables !


    Pour le deuxième point, il devrait s'agir d'une "processing-instruction" indiquant comment "ouvrir" le fichier. M$ faisait comme ça dans Office2003... mais je ne sais pas si cela existe dans Ooo, je n'ai pas l'impression que ce point soit beaucoup développé en ce moment chez eux... J'en veux pour preuve les filtres pour DocBook qui n'ont pas suivi le format .odt et qui sont lamentables au demeurant !
    merci ! mais mmh ça reste mystérieux pour moi cette "processing-instruction" c'est quelque-chose liée à un langage de programmation ? On peut l'insérer dans une macro d'Ooo ?
    J'ai fait une macro OOo pour ouvrir un document en indiquant le filtre utilisé.
    Si ça intéresse quelqu'un : http://www.forum-openoffice.org/forum/ftopic4812.html

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par anouka Voir le message
    J'ai fait une macro OOo pour ouvrir un document en indiquant le filtre utilisé.
    Si ça intéresse quelqu'un : http://www.forum-openoffice.org/forum/ftopic4812.html
    Salut Anouka.
    Je souhaitais voir ton exemple car j'ai un petit soucis pour appliquer le filtre docbook dans une macro OpenOffice, mais il n'est plus en ligne. Est-ce que par hasard tu saurais quel nom mettre comme valeur de la propriété nommée 'FilterName' pour appliquer le filtre docbook?
    Si tu passes encore par là et que tu vois ce message, je te remercie d'avance pour ton aide...
    Bonne soirée!

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Salut samalairbien
    J'ai retrouvé un code que j'avais fait l'an dernier il ressemble sans doute à ce que tu veux (et ce que j'avais mis dans le lien qui est mort maintenant ...) mais là c'est pour imprimer automatiquement un fichier avec une ouverture avec un filtre dont le nom est nomFiltre.
    Pour le nom à mettre dans FilterName, va voir dans Outils/Paramètrage du filtre Xml, et là y'a les noms des filtres. Chez moi, c'est DocBook File. Je mettrai donc ça à la place de nomFiltre. J'espère que ses explications pourront t'être utile.

    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
    23
    24
    25
    26
    27
    REM  *****  BASIC  *****
    Sub ouvrir_imprimer(nomFichier As String, nomFiltre As String) 
    	'déclaration des variables : 
    	Dim oDesktop As Object
    	Dim oDocument As Object
    	Dim FileProperties(1) As New com.sun.star.beans.PropertyValue
    	Dim sUrl As String
     
    	Dim mPrintopts1(), x as Variant
    	Dim mPrintopts2(0) As New com.sun.star.beans.PropertyValue
    	Dim mPrinter(0) As New com.sun.star.beans.PropertyValue
     
    	'ouverture :
    	oDesktop = createUnoService("com.sun.star.frame.Desktop")	
    	sUrl = nomFichier
    	FileProperties(0).Name = "FilterName"
    	FileProperties(0).Value = nomFiltre
    	FileProperties(1).Name = "Hidden"
    	FileProperties(1).Value = true
    	oDocument =  oDesktop.LoadComponentFromURL(sUrl,"_blank",0,FileProperties())
     
    	'impression : 
    	mPrinter(0).Name = "Name"
    	mPrinter(0).value = "PDFCreator"
    	oDocument.Printer = mPrinter()
    	oDocument.Print(mPrintopts1())
    End Sub

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

Discussions similaires

  1. importé des données XML dans excel
    Par function_Help dans le forum Excel
    Réponses: 1
    Dernier message: 29/02/2012, 21h45
  2. Réponses: 1
    Dernier message: 16/10/2010, 11h48
  3. [XHTML 1.0] Importer des données XML dans fichier XHTML
    Par StAfX dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 27/01/2009, 14h09
  4. Réponses: 1
    Dernier message: 06/11/2007, 16h43
  5. importer des données XML dans une base Oracle 9
    Par lanfeustdetroll dans le forum JDBC
    Réponses: 3
    Dernier message: 19/07/2007, 00h09

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