[gull] OpenDocument

Daniel Cordey dc at mjt.ch
Tue Nov 22 12:26:27 CET 2005


On Tuesday 22 November 2005 11:33, Jean-Bruno Luginbühl wrote:

> Bon, sans connaître beaucoup, ce que j'ai compris, c'est que l'interface
> (API) UNO permet d'interfacer un language externe pour piloter les
> fonctions de OpenOffice.org. En fait UNO permet d'écrire des "macros"
> dans un autre language que StarBasic (en offrant les mêmes fonctions!).

Exact. Ca me parait etre une exellente idee qui permet de d'utiliser des 
modules existants ou d'ecrire des choses que l'on ne peut faire en StarBasic.

> Cela fonctionne entre autre avec JAVA aussi et sauf erreur C/C++,
> peut-être aussi perl mais je ne suis pas sûr.

Au pire, on peut interfacer Perl avec Python/java/C/C++ en utilisant UNO...

> Pour ce qui est de l'application de Daniel, générer un fichier exemple
> (plutôt modèle) et modifier le content.xml devrait suffire dans un
> premier temps.

Oui, je ne vais pas me lancer dans l'ecriture de programme de mise en page 
avec UNO... c'est un peu overkilling dans mon cas.  Regenerer un bout du 
fichier document.xml, puis le ziper avec le reste est ce qu'il y a de plus 
simple et rapide a realiser; en tout cas pour le probleme qui m'occupe en ce 
moment.

Par exemple, la modification d'une cellule ne necessite que de generer (par 
exemple):

<table:table-cell table:style-name="ce6" office:value-type="string">
    <text:p>
	Hello world !
    </text:p>
</table:table-cell>

etc.

C'est donc tres proche de la structure de l'HTML et l'utilisation des 'style' 
suit le meme principe que les CSS. DOnc, dans le principe, et tant que l'on 
ne doit pas aller modifie les 'styles' et autres fichiers, c'est extremement 
simple. Mais ce qui est fantastique est que l'on a un grand nombre de 
possibilites pour generer des choses tres complexes si on le desire. Je ne me 
suis pas encore penche sur le lien a propos de DocBook et j'avais toujours 
touve le moyen d'eviter de m'y plonger. Ce n'est pas que je ne trouve pas 
interessant, mais c'est juste une question de temps a disposition. Le "Open 
Document Format for Office Applications (version 1.0)" fait... 706 pages... 
Le probleme est que je n'ai pas trouve quelque chose expliquant en 2 ou trois 
pages comment faire quelque chose de "quick-&-dirty". C'est, soit 707 pages 
(et maintenant nous en sommes a la version 2.0), soit de longs textes 
decrivants les principes et le merites... soit rien. Si vous le desirez, je 
peut faire une petite doc sur ce que je m'aprete a faire. A savoir :

A partir d'un CSV, generer un fichier xml pouvant etre inclus dans une 
structure OpenDocument. Ceci pour un format de tableur et en utilisant un 
document pre-existant comme squelette. Je ne vais pas generer le calcul de la 
taille des colonnes en fonction de leur contenu... quoique je vais voir quel 
attribut 'automatique' peut-etre utilise pour cette definition. Mon code sera 
ecrit en Python, mais contiendra assez de commentaires pour etre 
comprehensible par les Perlistes et les shellistes (ca devrait etre evident 
pour les Javaistes). Ce code n'est pas non plus destine a etre d'usage 
general, mais simplement un exemple tres 'brutal' de generation de ces 
donnees XML.

Donc, si cela interesse quelqu'un, qu'il clique ici [X] :-)

dc



More information about the gull mailing list