From: redacteurs@xmlfr.org
Date: 29/10/2003 - 09:07
OpenOffice 1.1 et XML
La nouvelle version de la suite bureautique OpenOffice (OO) est
disponible. C'est l'occasion de presenter, et peut etre d'utiliser, son
support XML .
Par Herve AGNOUX , de la SARL diaam informatique.
---------------
Retrouvez cet article en ligne
(http://xmlfr.org/actualites/tech/031029-0001).
Donnez votre avis !
mailto:xml-tech@xmlfr.org?subject=Re:%20INFO%20:%20OpenOffice%201.1%20et%20XML
---------------
OpenOffice est, avant tout, une application bureautique. Outre ses
fonctions dans son domaine propre, son interet est que ses formats de
fichiers sont faits avec XML , et cette propriete permet d'inserer un
travail bureautique dans un flux XML .
A la redaction de XMLfr , nous utilisons OpenOffice pour rediger nos
articles. Celui que vous lisez en ce moment a ete entierement ecrit
avec ce logiciel. Lorsque l'article est ecrit, il est envoye au format
OpenOffice a un serveur redactionnel qui le transforme, avec XSLT , en
document au format XML NITF . Si le document est valide selon la DTD
NITF , il est accepte.
La difficulte que nous rencontrons tient justement a cette etape de
validation. Il nous est difficile de relier de facon automatique un
element non conforme selon la DTD NITF a une utilisation erronee d'un
style OpenOffice . Par contre, pour ce qui est des traitements a partir
du document bureautique, tout se passe tres facilement. A la condition
d'une certaine discipline de la part du redacteur, le processus
fonctionne bien. Mais on voit bien que OpenOffice n'est pas reellement
un editeur XML ; c'est d'abord un logiciel bureautique, et c'est, au
depart, pour cela qu'il doit etre choisi ou rejete.
Le format de sauvegarde des documents OO est parfaitement public [1] .
Il est prevu de telle facon que pratiquement tout ce qui constitue ces
documents soit exprime dans des fichiers XML .
Voici les espaces de noms definis pour gerer ces documents, qui
montrent bien l'etendue des caracteristiques manipulables en XML (les
URI correspondantes sont donnees dans les documents de reference) :
- office : generalites sur les documents bureautiques
- style : information sur les styles de presentation utilises
- text : elements utilises pour les informations a caractere textuel
- table : elements utilises pour les informations en tableau
- draw : elements utilises pour les informations a caractere
graphique
- number : elements decrivant un nombre
- chart : elements decrivant un plan
- dr3d : elements decrivant des objets presentes en 3 dimensions
- form : elements pour decrire des formulaires interactifs
- script : elements de programmation
- xlink : espace de noms XLink (W3C)
- fo : espace de noms XSL-FO (W3C)
- svg : espace de noms SVG (W3C)
- math : espace de noms MathML (W3C)
- dc : Espace de noms des elements Dublin Core (DCMI)
Malgre cette etendue (les specifications du format couvrent plus de 500
pages ! ), les fichiers XML OO sont reputes atteindre le 6eme but du
[2] XML [3] : les documents XML doivent etre lisibles par des humains
et raisonnablement clairs. Ils sont d'exploitation simple et rapide, et
nous en avons fait l'experience avec reussite.
Trois possibilites sont offertes pour manipuler les documents selon des
technologies XML :
- Sur les fichiers eux memes, en dehors d'une utilisation d'
OpenOffice . C'est la facon la plus simple, permettant des
manipulations etendues de ces documents. Il est possible par ce
biais aussi bien de lire que d'ecrire des documents OpenOffice.
- Avec un logiciel externe, qui communique avec OpenOffice par une
socket. SAXEcho [4] presente un exemple de cette technique : c'est
un programme Java qui affiche l'arborescence XML d'un document
OpenOffice en cours d'edition.
- Avec un plugin directement integre a OpenOffice . Il peut s'agir de
macro, ou de programmes realises en Python ou Java , langages
compris de facon directe par OpenOffice . Ces techniques sont
largement presentees dans le guide du programmeur. [5]
La premiere forme est sans doute la plus interessante pour les
applications basees sur XML . Genicorp [6] , une societe francaise,
s'est specialisee sur ce creneau, avec des programmes realises en Perl
. C'est egalement cette forme que nous utilisons pour publier nos
articles.
Depuis l'annonce du groupe KDE [7] , qui veut que le format XML OO
devienne aussi ceux de l'environnement bureautique KDE , on peut
esperer que l'audience de ce procede se developpe.
Et, a cause du grand nombre de formats d'import / export compris par
OpenOffice (dont Microsoft Office ), il est possible d'envisager cette
plate-forme comme outil d'integration dans un environnement bureautique
heterogene.
C'est de cette facon que l'utilise la plate-forme de publication
Cyberdocs [8] . Il s'agit d'un outil dont le principal objectif est de
publier sur le web des theses, ecrites avec divers logiciels de
bureautique, donc principalement avec Microsoft Word . Ces theses sont
transformees en XML avec OpenOffice , de la en documents conformes a la
DTD TEI [9] Lite [10] , format pivot pour la publication sur des
supports diversifies.
Non seulement le schema des documents OO est parfaitement connu, mais
de plus l'organisation des differents modules composant un fichier est
egalement parfaitement connue. Un fichier OpenOffice a le meme modele
pour toutes les applications bureautiques. C'est un fichier zip qui
contient les fichiers XML suivant :
- un fichier XML pour le contenu du document
- un fichier XML pour le style (style et contenu sont presentes de
facon separee)
- un fichier pour les meta-informations (auteur...)
- un fichier pour les choix applicatifs (zoom, imprimante...)
- un fichier d'informations sur la sauvegarde elle-meme (type mime,
methode de chiffrement..)
- un repertoire conservant les fichiers binaires (images...)
- un repertoire conservant les formulaires inclus dans les macros
- un repertoire conservant les macros
- un repertoire conservant les objets issus d'autres applicatifs.
Tout ceci est, rappelons-le, conserve dans un seul fichier zip, dont
l'extension est propre a la nature du document conserve (.sxw pour les
textes, ou .sxc pour les classeurs, par exemple).
Il est egalement possible de conserver, dans les attributs meme des
elements XML , des informations pour des applications externes, sans
casser le comportement d' OpenOffice .
Toutes les applications OpenOffice , quelque soit le systeme
d'exploitation utilise, ont le meme format de fichier.
Pour ceux qui maitrisent la question, il est possible d'associer une
transformation XSLT a l'operation de sauvegarde ou de chargement d'un
document.
Les personnes interessees pourront trouver une abondante documentation.
Outre les liens deja signales, il existe un site [11] sur le format XML
d' OpenOffice , avec en particulier une FAQ [12] , et des listes de
discussion [13] . Les lecteurs francophones pourront se reporter au
site en francais [14] , de facture plus generaliste, mais comportant de
nombreuses experiences locales et concretes sur l'utilisation de ces
logiciels.
D'autres liens sur le web :
- La presentation d' [15] OpenOffice [16] sur les Cover Pages [17] ,
ainsi que les formats [18] XML [19] pour les applications
bureautiques [20] .
- Un livre entier sur le sujet : OpenOffice.org [21] XML [22]
Essentials [23] .
- Thinking [24] XML [25] : The [26] OpenOffice [27] file format [28]
.
- Generation de documents en qualite d'imprimerie [29] .
Sur le format NITF , voir News Industry Text Format [30] .
Autres articles :
- Un publipostage avec [31] OpenOffice [32] sur une source de donnees
[33] XML [34] ? [35] (et messages suivants)
- OpenOffice [36] : le format [37] XML [38] pour les masses [39] .
- Word vers [40] XML [41] et inversement [42] (et messages suivants)
- Balisage et WYSIWYG ne sont pas de bons amis [43] (et messages
suivants).
- XML [44] est arrive chez vous [45] .
Copyright 2003, Herve AGNOUX .
---------------------------------------------------------
References:
[1] http://xml.openoffice.org/general.html
[2] http://www.w3.org/TR/REC-xml#sec-origin-goals
[3] http://www.w3.org/TR/REC-xml#sec-origin-goals
[4] http://xml.openoffice.org/saxecho/
[5] http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html
[6] http://www.genicorp.fr/oodoc/oodoc/
[7] http://dot.kde.org/1061919133/
[8] http://sourcesup.cru.fr/cybertheses
[9] http://www.tei-c.org/Lite/
[10] http://www.tei-c.org/Lite/
[11] http://xml.openoffice.org/
[12] http://xml.openoffice.org/faq.html
[13] http://xml.openoffice.org/servlets/ProjectMailingListList
[14] http://fr.openoffice.org/index.html
[15] http://xml.coverpages.org/ni2003-10-08-a.html
[16] http://xml.coverpages.org/ni2003-10-08-a.html
[17] http://xml.coverpages.org/ni2003-10-08-a.html
[18] http://xml.coverpages.org/xmlFileFormats.html
[19] http://xml.coverpages.org/xmlFileFormats.html
[20] http://xml.coverpages.org/xmlFileFormats.html
[21] http://books.evc-cit.info/book.html
[22] http://books.evc-cit.info/book.html
[23] http://books.evc-cit.info/book.html
[24] http://www-106.ibm.com/developerworks/xml/library/x-think15/
[25] http://www-106.ibm.com/developerworks/xml/library/x-think15/
[26] http://www-106.ibm.com/developerworks/xml/library/x-think15/
[27] http://www-106.ibm.com/developerworks/xml/library/x-think15/
[28] http://www-106.ibm.com/developerworks/xml/library/x-think15/
[29] http://www.objectiva.fr/dossiers.2002-09-30.table.php
[30] http://www.nitf.org/
[31] http://xmlfr.org/listes/xml-tech/2003/07/0133.html
[32] http://xmlfr.org/listes/xml-tech/2003/07/0133.html
[33] http://xmlfr.org/listes/xml-tech/2003/07/0133.html
[34] http://xmlfr.org/listes/xml-tech/2003/07/0133.html
[35] http://xmlfr.org/listes/xml-tech/2003/07/0133.html
[36] http://xmlfr.org/actualites/decid/021219-0001
[37] http://xmlfr.org/actualites/decid/021219-0001
[38] http://xmlfr.org/actualites/decid/021219-0001
[39] http://xmlfr.org/actualites/decid/021219-0001
[40] http://xmlfr.org/listes/xml-tech/2003/04/0029.html
[41] http://xmlfr.org/listes/xml-tech/2003/04/0029.html
[42] http://xmlfr.org/listes/xml-tech/2003/04/0029.html
[43] http://xmlfr.org/listes/xml-decid/2002/11/0002.html
[44] http://xmlfr.org/listes/xml-decid/2003/07/0000.html
[45] http://xmlfr.org/listes/xml-decid/2003/07/0000.html
---------------------------------------------------------
Mail genere par FormatedTextOutputHandler pour XT
(http://4xt.org/downloads/examples/outputhandlers/formatedtext/).
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|