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]

Répondre à