Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Manifestations XML francophones et internationales.L'actualité des affaires et stratégies XML.L'actualité des technologies XML.Les nouveautés et l'actualités de notre site.Pointeurs sur l'actualité XML sur d'autres sites, en français comme en anglais.


OpenOffice 1.1 et XML

Répondez à cet article.

La nouvelle version de la suite bureautique OpenOffice (OO) est disponible. C'est l'occasion de présenter, et peut-être d'utiliser, son support XML.

Par Hervé AGNOUX, de la SARL diaam informatique.
Mercredi 29 octobre 2003

OpenOffice est, avant tout, une application bureautique. Outre ses fonctions dans son domaine propre, son intérêt est que ses formats de fichiers sont faits avec XML, et cette propriété permet d'insérer un travail bureautique dans un flux XML.

A la rédaction de XMLfr, nous utilisons OpenOffice pour rédiger nos articles. Celui que vous lisez en ce moment a été entièrement écrit avec ce logiciel. Lorsque l'article est écrit, il est envoyé au format OpenOffice à un serveur rédactionnel qui le transforme, avec XSLT, en document au format XML NITF. Si le document est valide selon la DTD NITF, il est accepté.

La difficulté que nous rencontrons tient justement à cette étape de validation. Il nous est difficile de relier de façon automatique un élément non conforme selon la DTD NITF à une utilisation erronée d'un style OpenOffice. Par contre, pour ce qui est des traitements à partir du document bureautique, tout se passe très facilement. A la condition d'une certaine discipline de la part du rédacteur, le processus fonctionne bien. Mais on voit bien que OpenOffice n'est pas réellement un éditeur XML ; c'est d'abord un logiciel bureautique, et c'est, au départ, pour cela qu'il doit être choisi ou rejeté.

Le format de sauvegarde des documents OO est parfaitement public. Il est prévu de telle façon que pratiquement tout ce qui constitue ces documents soit exprimé dans des fichiers XML.

Voici les espaces de noms définis pour gérer ces documents, qui montrent bien l'étendue des caractéristiques manipulables en XML (les URI correspondantes sont données dans les documents de référence) :

  • office : généralités sur les documents bureautiques
  • style : information sur les styles de présentation utilisés
  • text : éléments utilisés pour les informations à caractère textuel
  • table : éléments utilisés pour les informations en tableau
  • draw : éléments utilisés pour les informations à caractère graphique
  • number : éléments décrivant un nombre
  • chart : éléments décrivant un plan
  • dr3d : éléments décrivant des objets présentés en 3 dimensions
  • form : éléments pour décrire des formulaires interactifs
  • script : éléments 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 éléments Dublin Core (DCMI)

Malgré cette étendue (les spécifications du format couvrent plus de 500 pages ! ), les fichiers XML OO sont réputés atteindre le 6ème but du XML : les documents XML doivent être lisibles par des humains et raisonnablement clairs. Ils sont d'exploitation simple et rapide, et nous en avons fait l'expérience avec réussite.

Trois possibilités sont offertes pour manipuler les documents selon des technologies XML :

  • Sur les fichiers eux mêmes, en dehors d'une utilisation d'OpenOffice. C'est la façon la plus simple, permettant des manipulations étendues de ces documents. Il est possible par ce biais aussi bien de lire que d'écrire des documents OpenOffice.
  • Avec un logiciel externe, qui communique avec OpenOffice par une socket. SAXEcho présente un exemple de cette technique : c'est un programme Java qui affiche l'arborescence XML d'un document OpenOffice en cours d'édition.
  • Avec un plugin directement intégré à OpenOffice. Il peut s'agir de macro, ou de programmes réalisés en Python ou Java, langages compris de façon directe par OpenOffice. Ces techniques sont largement présentées dans le guide du programmeur.

La première forme est sans doute la plus intéressante pour les applications basées sur XML. Genicorp, une société française, s'est spécialisée sur ce créneau, avec des programmes réalisés en Perl. C'est également cette forme que nous utilisons pour publier nos articles.

Depuis l'annonce du groupe KDE, qui veut que le format XML OO devienne aussi ceux de l'environnement bureautique KDE, on peut espérer que l'audience de ce procédé se développe.

Et, à cause du grand nombre de formats d'import / export compris par OpenOffice (dont MicrosoftOffice), il est possible d'envisager cette plate-forme comme outil d'intégration dans un environnement bureautique hétérogène.

C'est de cette façon que l'utilise la plate-forme de publication Cyberdocs. Il s'agit d'un outil dont le principal objectif est de publier sur le web des thèses, écrites avec divers logiciels de bureautique, donc principalement avec MicrosoftWord. Ces thèses sont transformées en XML avec OpenOffice, de là en documents conformes à la DTDTEI Lite, format pivot pour la publication sur des supports diversifiés.

Non seulement le schéma des documents OO est parfaitement connu, mais de plus l'organisation des différents modules composant un fichier est également parfaitement connue. Un fichier OpenOffice a le même modèle 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 présentés de façon séparée)
  • un fichier pour les meta-informations (auteur...)
  • un fichier pour les choix applicatifs (zoom, imprimante...)
  • un fichier d'informations sur la sauvegarde elle-même (type mime, méthode de chiffrement..)
  • un répertoire conservant les fichiers binaires (images...)
  • un répertoire conservant les formulaires inclus dans les macros
  • un répertoire conservant les macros
  • un répertoire conservant les objets issus d'autres applicatifs.

Tout ceci est, rappelons-le, conservé dans un seul fichier zip, dont l'extension est propre à la nature du document conservé (.sxw pour les textes, ou .sxc pour les classeurs, par exemple).

Il est également possible de conserver, dans les attributs même des éléments XML, des informations pour des applications externes, sans casser le comportement d'OpenOffice.

Toutes les applications OpenOffice, quelque soit le système d'exploitation utilisé, ont le même format de fichier.

Pour ceux qui maîtrisent la question, il est possible d'associer une transformation XSLT à l'opération de sauvegarde ou de chargement d'un document.

Les personnes intéressées pourront trouver une abondante documentation. Outre les liens déjà signalés, il existe un site sur le format XML d'OpenOffice, avec en particulier une FAQ, et des listes de discussion. Les lecteurs francophones pourront se reporter au site en français, de facture plus généraliste, mais comportant de nombreuses expériences locales et concrètes sur l'utilisation de ces logiciels.

D'autres liens sur le web :

Sur le format NITF, voir News Industry Text Format.

Autres articles :

Copyright 2003, Hervé AGNOUX.


 

Mots clés.



L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.


Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org