Bonjour, Laurent,

Tout d'abord, merci pour ta réponse.
Nous travaillons à plusieurs sur ce problème.
J'ai soumis ta réponse avec le mail dessous à un spécialiste java et C++ de 
notre équipe.
Nous venons aussi de découvrir que ce fichier "tree.xml" semble en fait servir 
à recréer un nouveau fichier odt valorisé et traité en fonction des scripts 
dans "tree.xml".

Ce fichier intègre à la fois la structure de l'odt auquel il correspond, mais 
aussi le code des scripts et le mapping des champs entre le flux et le modèle 
de document (odt d'origine). (* description du processus probable en P.S., 
ci-dessous --si cela peut être utile--)

Pour résumer : une IHM a été développée en java par un ex-collègue licencié 
pour faute grave mais qui est parvenu, avant son départ, à saboter l'appli en 
question. Il semble qu'il a utilisé, pour la développer, un composant que les 
collègues "java" ne parviennent pas à identifier.

A ce sujet (je m'adresse à toute la liste) :
voici les imports trouvés par les consultants java dans le code, et donc les 
objets utilisés par ce composant, est-ce cela dit quelque chose à quelqu'un? Et 
si oui, pouvez-vous nous orienter dessus : site web, etc...

import com.sun.star.lib.Repository;
import com.sun.star.lib.ValueConverter;
import com.sun.star.lib.ValueConverters;
import com.sun.star.lib.io.ProcessBridge;
import com.sun.star.lib.view.entity.EntityProvider;
import com.sun.star.lib.view.facade.Action;
import com.sun.star.lib.view.facade.Entity;
import com.sun.star.lib.view.facade.Node;
import com.sun.star.lib.view.facade.Property;

Encore merci d'avance.

Très cordialement,

Jean NEHLIG.


P.S. : Pour ceux qui souhaitent voir dans quel contexte se situe notre problème 
:

Un modèle de document (.odt) est créé dans Writer (via l'IHM citée ci-dessus) 
et enregistré, avec ses textes en durs, ses données variables, ses champs de 
formulaires, ...  (sur le principe d'un document de fusion/publipostage).
L'IHM Java lui octroie alors un nom contenant la date et l'heure, à la suite du 
nom générique du modèle. C'est dans ce nouvel odt qu'est inclus le fichier 
"tree.xml", avec l'arborescence du document (cadres, tableaux, données 
variables, ...) sous forme de tags XML, ainsi que les scripts, sous forme de 
propriétés de ces tags xml.
...
Lorsqu'on lance la production d'un document basé sur ce modèle, l'IHM va 
chercher le dernier odt en date correspondant au modèle générique, puis recrée 
un nouvel odt, valorisé avec les données d'un flux XML en entrée et traité 
selon l'ensemble des scripts qui y sont liés (saisis dans l'IHM).
De là, il crée :
- si besoin, un PDF provisoire avec les zones de saisie-formulaire présentes 
dans le modèle générique (pour que l'utilisateur final remplisse ces champs 
dans son navigateur web); 
- un PDF définitif, pour impression, envoi par fax, e-mail, etc.

====================================================================

-----Message d'origine-----
De : Laurent Godard [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 22 février 2007 14:50
À : [email protected]
Objet : Re: [dev-fr] Intégration de scripts externes dans OOo Writer (2.1 - 
Windows XP)

Bonjour Jean

> Suite à un très gros problème qui nous oblige à rechercher les infos sans 
> délai, sur une application développée en interne mais dont les sources ne 
> sont plus accessibles pour les unes, et très difficilement décodables pour 
> les autres, je souhaiterai savoir s'il existe des docs permettant de voir 
> comment gérer, depuis une appli java, l'insertion de scripts externes dans 
> OOo-Writer.
>

regarde sur la liste [EMAIL PROTECTED] et [EMAIL PROTECTED]
en fin de mail un example en c++ dans une reponse de Mathias Bauer

> ces scripts sont enregistrés par l'appli dans le .odt des documents concernés 
> sous le nom « tree.xml », avec la structure du document (cadres, tableaux, 
> données variables, ...).
>

que contient le fichier manifest.xml ?

> Apparemment, ce fichier « treee.xml » ne fait pas partie des fichiers 
> standard d'un .odt, c'est pourquoi nous pensons que c'est l'appli java 
> spécifique qui le crée (erreur ?...).
>

ce peut etre effectivement des parametrages sopecifiques
maintenant, sans voir le fihcier, c'est difficile à dire

Laurent

'--------

using namespace com::sun::star;
void StoreMyData( sal_Int8* pData, sal_Int32 nDataLen )
{
   Reference <document::XStorageBasedDocument> xDoc( xTextDocument,
     uno::UNO_QUERY );

   if (!xStore.is())
     return;

   Reference <embed::XStorage > xStg( xDoc->getDocumentStorage() );
   Reference <embed::XStorage > xSubStg = xStg->
     openStorageElement( sStorName, embed::ElementModes::READWRITE );
   ::rtl::OUString MyMediaType(...); // whatever you like
   ::rtl::OUString MyStgName(...); // whatever you like
   xSubStg->setPropertyValue(myStgName, makeAny(myMediaType));
   Reference <io::XStream > xStream = xSubStg->openStreamElement(
     myStreamName, embed::ElementModes::READWRITE );
   Reference <io::XOutputStream > xOut = xStream->getOutputStream();

   uno::Sequence < sal_Int8 > aData( pData, nDataLen );
   xOut->writeBytes( aData, nDataLen );
   xOut->closeOutput();
   xSubStg->commit();
}

I recommend to use a MediaType that points to your own "name space".

As an example, I would use "vnd.sun.star.MyComponent.MyData" (as I am
working for Sun/StarOffice).

So if you are a working on the component "Blob" for the company
"BlobFactory" perhaps "vnd.BlobFactory.Blob.BlobData" would be a good
idea. The name for your storage should probably also use this namespace
while the name of the stream is not important as only your own component
will access your sub storage.

Ciao,
Mathias
--
Mathias Bauer (mba) - Project Lead OpenOffice.org Writer

--
Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org -
http://www.indesko.com
Nuxeo Enterprise Content Management >> http://www.nuxeo.com -
http://www.nuxeo.org
Livre "Programmation OpenOffice.org", Eyrolles 2004-2006

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



----------------------------------------------------------
The information contained in this document is attorney privileged and
confidential.The information is intented only for the use of the individual
or entity named above. Should you receive this message in error, please delete
it immediately from your system and notify the sender of the wrong delivery
and the mail deletion. If the reader of this message is not the intended 
recipient,
you are hereby notified that any use, disclosure, dissemination copying
(either whole or partial) of this document, or any information it contains,
is strictly prohibited.
E. mail  transmission cannot be guarantee to be secure or error free as
information could be intercepted, corrupted, lost, destroyed, arrive late
or incomplete, or contain viruses. The sender Company shall not be liable
for the contents said document.
If verification is required please request a hard copy version.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à