Re: [users-fr] import de données xml dans un document open office
Bonjour Bob, Ce n'est pas moi qui ai crée ce fichier XML mais d'après ce que j'ai compris, le fichier xml est crée avec des requêtes SQL dans un programme en delphi C'est bien ce qu'il me semblait, car le schéma de tes fichiers est conforme aux datasets Borland. Pour info : si vous avez accès aux sources de l'appli Delphi ou si il est possible de lui greffer des modules externes facilement, ton travail MaXFusion pourra être intégré à l'appli pour générer directement les documents à partir de l'appli Delphi. Merci pour l'info mais en fait, le but de mes recherches c'est d'utiliser OpenOffice comme moteur d'impression. On utilise OpenOffice pour imprimer un document xml. Alors si l'on a besoin d'une appli externe, le but est raté ! [...] Le principe est le suivant : J'ai imbriqué 3 sous-tableaux dans le tableau principal. Je n'ai pas crée des sous-tableaux et ça a marché aussi en fait, mais c'est vrai que pour la lisibilité et la legereté c'est mieux (avec mon doc, chaque cellule occupe 9 lignes sinon !) je suppose que le tableau doit se nommer : {/datasets} et le contenu des cellules doit être : [EMAIL PROTECTED]'AgrImmob']/record[i]/@num} ça marche aussi très bien, amha, plus difficile à maintenir. Coté performance du filtre, ça ne doit pas changer grand chose. [...] Ok, effectivement ça marche ! Par contre, c'est fastidieux ! Est-ce que par hasard tu connaîtrais un moyen simple d'augmenter automatiquement le chiffre entre [] pour chaque cellule ({record[1]/@num}, {record[2]/@num}) ? Sinon, sans doute par macro ? En fait, j'ai construit le paramètrage sous Calc, avant de l'importer dans le tanleau Writer. Le doc calc est ici : http://ooo.bobiciel.com/filtres_xslt/documents/formules_borderaux.ods Bizarrement, le copier/coller du champs de cellules de Calc vers le tableu Writer ne fonctionne pas directement ! (alors que ça marchais très bien avec OOo 1 !!!) Pour palier à cette régression, l'astuce est la suivante : 1) dans calc, copier le champs de cellules 2) dans Writer, dans le corps du document, coller spécial (texte non formaté) ==> les valeurs sont collées séparées par des tabulations 3) sélection des valeurs collées 4) tableau > convertir > texte en tableau 5) sélection des cellules du tableau ainsi créé 6) coller dans le véritable tableau cible 7) ouf ! C'est un peu fastidieux, mais ça permet de gagner du temps par rapport à une saisie manuelle et d'éviter les erreurs. J'ai testé et effectivement, c'est beaucoup mieux que la saisie manuelle, merci ! [...] Pour la section prenant en compte deux noeuds, comme je suppose qu'une expression XPATH est nécessaire et suffisante, j'ai posté un message à ce sujet dans un forum Est fait, si j'ai bien compris, tu souhaites lister le contenu de tous les attributs num des éléments record qui possède un attribut verif='O' {/datasets/dataset/[EMAIL PROTECTED]'O'[EMAIL PROTECTED] devrait faire l'affaire non ? Oui tout à fait, ça marche très bien ! Merci ! Par contre, ce qui me pose problème, c'est le rendu souhaité : la concaténation de tous les @num, séparés par un tiret. Pour le moment, je ne voit pas comment faire ça simplement. Le paramètrage sous forme de section affiche le résultat avec des sauts de ligne. J'y réfléchit toujours ;-) Par curiosité, tu es abonné à quel forum ? c'est un forum in french ? Forum de développeurs, en français oui. 4)Comment mettre en gras certaines données ? Pour ça je suis d'accord pour tester ton nouveau filtre Bob ! ok, je t'envoie la nouvelle version en privé Mmh, pour l'instant, je n'ai rien reçu, peut-être bientôt ? Il faut que je trouve le temps de tester avant de te l'envoyer, car cette mouture est en plein chantier ... D'accord ! Bonne journée, Anne _ Personnalisez votre Messenger avec Live.com http://www.windowslive.fr/livecom/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] import de données xml dans un document open office
Bonjour Bob, J'ai enfin trouvé le temps de bosser sur ton modèle borderaux (très interessant d'ailleur, comme exo de fusion xml ;-) Super, vraiment merci !! par curiosité, elles sortent de quelle appli, tes données xml ? Ce n'est pas moi qui ai crée ce fichier XML mais d'après ce que j'ai compris, le fichier xml est crée avec des requêtes SQL dans un programme en delphi Tu trouveras une ébauche de modèle et le résultat obtenu ici : http://ooo.bobiciel.com/filtres_xslt/documents/bordereau_modele_bob.odt http://ooo.bobiciel.com/filtres_xslt/documents/bordereau_resultat_bob.odt et la source xml http://ooo.bobiciel.com/filtres_xslt/documents/bordereau.xml Le principe est le suivant : J'ai imbriqué 3 sous-tableaux dans le tableau principal. Je n'ai pas crée des sous-tableaux et ça a marché aussi en fait, mais c'est vrai que pour la lisibilité et la legereté c'est mieux (avec mon doc, chaque cellule occupe 9 lignes sinon !) Pour fusionner des données dans le document, il n'est pas nécessaire de faire systématiquement appel à une section. J'ai supprimé les sections que j'ai jugé inutile. ok Voir mes comentaires dans le texte ci-dessous. anne Parlebas a écrit : Bonjour Bob, J'aimerais donc faire un import de données dans un autre de mes documents et je me heurte à quelques problèmes. 1)Dans un tableau, je souhaiterais récupérer plusieurs fois des enregistrements multiples et je souhaiterais que chaque enregistrement s'inscrive dans une cellule différente(et non pas avoir une cellule qui s'agrandit). Comment faire ? En fait, dans ce cas, il est nécessaire de renseigner chacune des cellules du tableau avec l'expression xpath qui convient (voir bordereau_modele_bob.odt) Ok, effectivement ça marche ! Par contre, c'est fastidieux ! Est-ce que par hasard tu connaîtrais un moyen simple d'augmenter automatiquement le chiffre entre [] pour chaque cellule ({record[1]/@num}, {record[2]/@num}) ? Sinon, sans doute par macro ? 2)Comment faire pour que les données passent d'une colonne à une autre ? J'ai trouvé comment obtenir, dans une section, plusieurs colonnes mais ça n'a pas l'air de marcher. 3)Comment faire une section prenant en compte deux noeuds différents ? Je souhaiterais dans cet exemple importer les numéros qui concernent les palettes et les pupitres qui ont été vérifiés. j'y réfléchit ;-) Pour la section prenant en compte deux noeuds, comme je suppose qu'une expression XPATH est nécessaire et suffisante, j'ai posté un message à ce sujet dans un forum 4)Comment mettre en gras certaines données ? Pour ça je suis d'accord pour tester ton nouveau filtre Bob ! ok, je t'envoie la nouvelle version en privé Mmh, pour l'instant, je n'ai rien reçu, peut-être bientôt ? En espèrant que cela t'*agrée* :-) sympa le jeu de mots ;) Bon après-midi Anne _ Gagnez des pc Windows Vista avec Live.com http://www.image-addict.fr/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] import de données xml dans un document open office
Bonjour Bob, J'aimerais donc faire un import de données dans un autre de mes documents et je me heurte à quelques problèmes. 1)Dans un tableau, je souhaiterais récupérer plusieurs fois des enregistrements multiples et je souhaiterais que chaque enregistrement s'inscrive dans une cellule différente(et non pas avoir une cellule qui s'agrandit). Comment faire ? 2)Comment faire pour que les données passent d'une colonne à une autre ? J'ai trouvé comment obtenir, dans une section, plusieurs colonnes mais ça n'a pas l'air de marcher. 3)Comment faire une section prenant en compte deux noeuds différents ? Je souhaiterais dans cet exemple importer les numéros qui concernent les palettes et les pupitres qui ont été vérifiés. 4)Comment mettre en gras certaines données ? Pour ça je suis d'accord pour tester ton nouveau filtre Bob ! Si tu veux bien m'aider Bob, ce serait super sympa. Le fichier .odt modèle avec les sections ... : http://anoukaya.ifrance.com/bordereau_modele.odt Le filtre XSLT crée grâce au filtre MaxOpenInfo : http://anoukaya.ifrance.com/bordereau_modele.xsl Le fichier de données xml : http://anoukaya.ifrance.com/bordereau.xml Le fichier obtenu grâce au filtre : http://anoukaya.ifrance.com/bordereau_rendu.odt Le fichier que je veux obtenir : http://anoukaya.ifrance.com/bordereau_a_obtenir.odt Merci d'avance ! Bonne soirée, Anne _ Personnalisez votre Messenger avec Live.com http://www.windowslive.fr/livecom/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] import de données xml dans un document open office
Bonsoir Bob, Bonjour Anne, > Pour les totaux, on peut faire une somme en utilisant la fonction somme. Le problème, c'est que je ne sais pas si c'est possible de sélectionner automatiquement toutes les cellules d'une colonne, mon nombre de lignes est variable ! Le problème est traité pour les formules dans Calc, je vais voir si je peux faire la même chose avec les formules de tableau dans Writer. Merci ! > Même si le paramètrage est un peu rustique, tant qu'il permet de faire ce que l'on souhaite, c'est bien :) J'ai un autre doc dans lequel j'aimerais faire un import de données xml et là ça > me semble moins évident (données qui doivent continuer à s'écrire dans une autre colonne, ça, normalement avec des sections multicolonnes, ça doit être jouable D'accord mais comment peut-on faire des sections multicolonnes ? > affichage d'un texte en gras suivant la valeur d'un attribut xml ...) J'ai sous le coude une nouvelle version de filtre de fusion ODF qui permet de paramètrer le nom des styles à l'aide d'expressions xpath. ça devrait répondre au besoin. Et j'aurai besoin de testeurs ;-) Je suis complétement d'accord pour tester !! Bonne soirée, Anne _ Avec Windows Live OneCare éliminez tous les virus de votre PC ! http://www.windowslive.fr/liveonecare/default.asp - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] import de données xml dans un document open office
Bonjour Bob, From: Bob <[EMAIL PROTECTED]> Reply-To: users@fr.openoffice.org To: users@fr.openoffice.org Subject: Re: [users-fr] import de données xml dans un document open office Date: Sat, 21 Apr 2007 23:58:16 +0200 Bonsoir Anne, Comme promis, la nouvelle version du filtre xslt de fusion peut être téléchargée ici : http://ooo.bobiciel.com/filtres_xslt/MaXOOoFusionWriter124.jar à installer avec la procédure décrite sur le site : http://www.bobiciel.com/maxopeninfo/default_zone/fr/html/page-35.html rmq : ces filtres s'appuient sur le format xml d'origine de OOo, mais fonctionnent sans problème avec OOo 1 et OOo 2. Oui effectivement ça fonctionne avec OOo2 aussi, super ! Je t'ai préparé une maquette pour ta fusion xml. Je n'ai pas eu grand chose à retoucher dans le modèle que tu as construit. J'ai simplement modifié le nom des sections texte et du tableau de la façon suivante : {/ImprRelvFact} {Client} {Periode} {Factures/Facture} Rmq : La section {/ImprRelvFact} enveloppe toutes les autres sections, ainsi que le tableau (conformément au schéma du fichier xml source). Le modèle modifié est ici : http://ooo.bobiciel.com/filtres_xslt/documents/uti_ImprRelvFact_10_Bob.sxw Tu peux y intègrer la macro présente dans l'exemple que tu as téléchargé, ou bien utiliser la procédure en 3 étapes La source xml avec laquelle j'ai fait le test : http://ooo.bobiciel.com/filtres_xslt/documents/uti_ImprRelvFact_10.xml Et le résultat enregistré au format ODF : http://ooo.bobiciel.com/filtres_xslt/documents/uti_ImprRelvFact_10_resultat_fusion.odt 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)" On obtient un document OOo qui est le résultat de la fusion des données xml dans le modèle Writer. La macro inclue dans le document rend l'opération 2) totalement transparente pour l'utilisateur final. A ce sujet, si un spécialist des applications packagées pouvait me donner un petit coup de main pour finaliser ce travail d'intégration, ce serait sympa. Il est déja bien avancé, mais je bute sur des problèmes qui semblent être des bogues d'OOo. Il faudra que je me penche à nouveau sur le sujet un de ces jours pour voir si ces problèmes sont règlés avec les nouvelles versions. Rmq : d'après les commentaires présents dans le fichier xml source, tu envisages de gèrer la mise en page à la source. Pourquoi ne pas laisser ce travail à OOo ? Tu peux paramètrer ton tableau de sorte que les titres de colonnes soient répétés lors d'un changement de page et pour les totaux, il doit exister une solution automatique. Oui, c'est vrai si OOo peut faire ce travail, autant le laisser faire ! Pour les totaux, on peut faire une somme en utilisant la fonction somme. Le problème, c'est que je ne sais pas si c'est possible de sélectionner automatiquement toutes les cellules d'une colonne, mon nombre de lignes est variable ! Si ça t'interesses, tu peux également télécharger des versions du filtre de fusion qui fonctionnent avec Calc et Draw : http://ooo.bobiciel.com/filtres_xslt/MaXOOoFusionDraw124.jar http://ooo.bobiciel.com/filtres_xslt/MaXOOoFusionCalc124.jar Merci mais pour l'instant ça ira, je me concentre sur writer. C'est vrai que le paramètrage est un peu rustique, mais pour l'import de données xml dans OOo, ça permet de faire (presque) aussi bien qu'avec MS Office 2007. Ce qui semble la moindre des choses, vu qu'OOo avait 7 ans d'avance en adoptant dès sa naissance an l'an 2000 xml comme format pour ses documents. Même si le paramètrage est un peu rustique, tant qu'il permet de faire ce que l'on souhaite, c'est bien :) J'ai un autre doc dans lequel j'aimerais faire un import de données xml et là ça me semble moins évident (données qui doivent continuer à s'écrire dans une autre colonne, affichage d'un texte en gras suivant la valeur d'un attribut xml ...) Je verrai par la suite. En tout cas, merci beaucoup Bob d'avoir pris le temps de regarder mes fichiers, de m'avoir envoyé une correction, d'avoir mis en ligne le nouveau filtre XSLT ... Bonne journée Anne _ Windows Live Messenger sur i-mode : dialoguez avec vos amis depuis votre mobile comme sur PC ! http://mobile.live.fr/messenger/bouygues/ --
Re: [users-fr] import de données xml dans un document open office
Bonjour Bob, désolé, je fais court, le webmail et un wifi chaotique viennent d'envoyer en fumé, le message complet que je viens de rédiger :-( ok, si ça fonctionne tu as certainement dû corriger le problème lié au chemin d'accès au répertoire des filtres xslt. (sinon, voir mes échanges avec Nicolas Jeudi sur la liste prog) hmm, je ne me souviens plus avoir dû changer quelque chose dans le chemin d'accès au répertoire des filtres xslt, ça marchait tout de suite. > J'ai voulu avoir la même chose pour mon propre document, j'ai donc crée différents > champs de fusion dans un doc .sxw. Pour le filtre d'import j'ai en gros récupéré les fichiers > content.xml, meta.xml, settings.xml, styles.xml de mon document .sxw et j'en ai copié le contenu. là, je ne comprends pas ce que tu chercches à faire !!! MaxFusion a justement été créé pour ne plus avoir à fabriquer les filtres xslt à la mano. Alors ça, c'est super !! Je pensai que c'était un filtre XSLT pour un modèle de document en particulier, c'est pour ça que je voulais recréer un filtre pour le mien. 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)" On obtient un document OOo qui est le résultat de la fusion des données xml dans le modèle Writer. La macro inclue dans le document rend l'opération 2) totalement transparente pour l'utilisateur final. j'ai essayé cette méthode mais au premier essai ça n'a pas marché, je vais regarder plus attentivement le tuto et mon doc. A ce sujet, si un spécialist des applications packagées pouvait me donner un petit coup de main pour finaliser ce travail d'intégration, ce serait sympa. Il est déja bien avancé, mais je bute sur des problèmes qui semblent être des bogues d'OOo. Il faudra que je me penche à nouveau sur le sujet un de ces jours pour voir si ces problèmes sont règlés avec les nouvelles versions. > Mais la fusion xml ne marche pas, les champs de fusion ne sont pas remplacés par leur valeur. Donc, me serais-je trompée dans la création des champs de fusion et/ou aurais-je crée un mauvais filtre XSLT ? > Autrement, j'ai vu que Bob proposait d'avoir une version plus récente du filtre maxooofusion. > Comme j'ai la version 2 d'OOo serait-il possible de l'avoir ? Je t'envoie tout ça dès mon retour au bureau samedi. (avec une vrai connxion et un vrai courrielleur) Merci beaucoup ! > J'ai mis le zip de mes fichiers sur anoukaya.ifrance.com, cliquez sur Mes fichiers. Le dossier contient le document sxw dans lequel j'aimerais importer des données xml, un dossier contenant les fichiers xml de ce document sxw, un fichier de données xml et le filtre de transformation xslt. Ok, je télécharge et j'essaie de trouver le temps pour te préparer une maquette sur la base de ton modèle. C'est super gentil ça, merci bcp Bob ! Bonne journée Anne De rien, merci à toi de t'interesser à MaXFusion Bonne journée Bob _ Windows Live Messenger sur i-mode : dialoguez avec vos amis depuis votre mobile comme sur PC ! http://mobile.live.fr/messenger/bouygues/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[users-fr] import de données xml dans un document ope n office
Bonjour, En regardant les archives de cette liste de diffusion, je suis tombée sur ces sujets qui m'intéressent : OOo 2.1 : Base de donnees XML en entree (fusion, ...) et Fusion XML >>> OOo. J'ai effectivement un document writer et je souhaiterais importer différentes données xml dans des champs particuliers de ce document. J'ai téléchargé le filtre d'import de MaXFusion : http://www.bobiciel.com/maxopeninfo/default_zone/documents/maxooofusion.zip et vu que tout marchait. J'ai voulu avoir la même chose pour mon propre document, j'ai donc crée différents champs de fusion dans un doc .sxw. Pour le filtre d'import j'ai en gros récupéré les fichiers content.xml, meta.xml, settings.xml, styles.xml de mon document .sxw et j'en ai copié le contenu. Mais la fusion xml ne marche pas, les champs de fusion ne sont pas remplacés par leur valeur. Donc, me serais-je trompée dans la création des champs de fusion et/ou aurais-je crée un mauvais filtre XSLT ? Autrement, j'ai vu que Bob proposait d'avoir une version plus récente du filtre maxooofusion. Comme j'ai la version 2 d'OOo serait-il possible de l'avoir ? J'ai mis le zip de mes fichiers sur anoukaya.ifrance.com, cliquez sur Mes fichiers. Le dossier contient le document sxw dans lequel j'aimerais importer des données xml, un dossier contenant les fichiers xml de ce document sxw, un fichier de données xml et le filtre de transformation xslt. Merci d'avance Cordialement, Anne _ Ten : Messenger en illimité sur votre mobile ! http://mobile.live.fr/messenger/ten/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]