Version 2.0 du document (pour OpenOffice 1.0, 1.0.1 et 1.0.2)
2003-04-30
Résumé
Ce document décrit l'installation du filtre Flat Writer XML (FlatXMLfilter) dans OpenOffice.org (Windows et Linux). Ce filtre permet à OpenOffice d'enregistrer directement des fichiers OpenOffice-Writer au format XML.
Table des matières
Le filtre FlatXML (FlatXMLfilter) ajoute à OpenOffice la capacité d'enregistrer (et d'ouvrir) directement un document au format OpenOffice-XML. Au lieu d'obtenir un fichier monDocument.sxw, on obtient un fichier monDocument.xml.
Après l'installation du filtre, on trouve une nouvelle entrée "Flat Writer XML file" dans les boîtes d'ouverture et d'enregistrement d'OpenOffice-Writer.
L'intérêt de ce filtre est que le document produit peut immédiatement être traité comme n'importe quel document XML et notamment être converti grâce à une feuille de style et un processeur XSLT (Saxon, Xsltproc, etc.).
Le filtre FlatXML est disponible pour Windows, Linux et Solaris. L'installation sur Solaris n'est pas abordée dans ce document.
Il existe 2 versions du filtre FlatXML :
Ce filtre est développé par le groupe xml.openoffice.org. Il appartient à un ensemble plus vaste de filtres écrits en Java.
Cette version sera implémentée nativemement dans les prochaines versions d'OpenOffice. Elle est déjà intégrée à OpenOffice 643c (version de développement).
XMerge-FlatXML requiert la présence d'un environnement Java (J2RE 1.4 et +)
XMerge-FlatXML pose de gros problèmes d'installation. Je n'ai pas réussit à tous les résoudre.
A titre personnel, j'ai abandonné l'utilisation de ce filtre sous Linux. En environnement Windows, je n'ai jamais réussit à l'incorporer qu'à une installation standard d'OpenOffice. Echec complet pour un installation réseau/multi-utilisateurs.
De plus, XMerge-FlatXML a un bogue génant. Lorsque des chevrons sont présents dans le corps du texte ("<" et ">"), ils sont passés tels quels au document XML au lieu d'être correctement encodés en < et >. Le document XML obtenu est donc erroné et inutilisable.
Un certains nombre d'éléments peuvent poser problème.
Les marques de révisions (Fichier > Versions...) du document sont perdues.
Les images incorporées sont intégrées au document XML mais elles sont encodées en Base64. Je ne connais aucun moyen de les réutiliser avec un processeur XSLT ou un parseur.
Le résultat concret est qu'elles sont inutilisables.
On peut contourner ce problème en évitant d'incorporer les images dans le document SXW et en utilisant la liaison. Il suffit de cocher Lien dans la boîte de dialogue d'insertion des images. C'est le principe qu'on retrouve dans les pages HTML.
Pour ceux qui visent à produire un document Docbook. Il est possible d'utiliser le filtre OOo2sDbk [1] que je réalise. Il est fourni avec des scripts Python qui extraient les images et créent des liens corrects dans le fichier Docbook.
La procédure ci-dessous a été testée avec OpenOffice-1.0 sur Linux-Mandrake 8.2 et OpenOffice-1.0.1 et 1.0.2 sur Linux-Mandrake 9.0 et 9.1.
Quittez OpenOffice s'il est lancé.
Téléchargez l'archive Flatxmlfilter.zip.
URL : http://api.openoffice.org/servlets/ProjectDownloadList
Décompressez-la. Vous obtenez une répertoire FlatXMLfilter.
Dans ce répertoire, vous trouverez un sous-répertoire Linux contenant deux fichiers :
regcomp
libgenericxmlfilter.so
Copiez ces deux fichiers dans <install-OOo>/program (<install-OOo> est le répertoire où OpenOffice est installé).
Par exemple :
cp ~/FlatXMLfilter/Linux/* /usr/lib/openoffice/program/ |
Exportez la variable d'environnement LD_LIBRARY_PATH pour qu'elle contienne le répertoire <install-OOo>/program.
Par exemple :
export LD_LIBRARY_PATH=/usr/lib/openoffice/program:$LD_LIBRARY_PATH |
Placez-vous maintenant dans le répertoire <install-OOo>/program.
Par exemple :
cd /usr/lib/openoffice/program |
Saisissez alors la commande suivante :
./regcomp -register -r applicat.rdb -c libgenericxmlfilter.so |
Si tout se passe bien, vous obtenez le message suivant :
register component "libgenericxmlfilter.so" in registry "applicat.rdb" succesfull! |
Enfin, copiez le fichier TypeDetection.xml dans votre répertoire personnel de la façon suivante :
cp ~/FlatXMLfilter/TypeDetection.xml \ ~/.openoffice/user/config/registry/instance/org/openoffice/Office |
Redémarrer OpenOffice pour profiter du nouveau filtre
La procédure ci-dessous a été testée avec succès sur Windows 98SE, Me et 2000, elle fonctionne avec OpenOffice-1.0 et 1.0.1.
Quittez OpenOffice s'il est lancé, ainsi que le Démarrage rapide.
Téléchargez l'archive Flatxmlfilter.zip.
URL : http://api.openoffice.org/servlets/ProjectDownloadList
Décompressez-la. Vous obtenez une répertoire FlatXMLfilter.
Dans ce répertoire, vous trouverez un répertoire Windows contenant deux fichiers :
regcomp.exe
genericxmlfilter.dll
Copiez ces deux fichiers dans <install-OOo>\program (<install-OOo> est le répertoire où OpenOffice est installé).
Par défaut, il s'agit du répertoire :
C:\Program Files\OpenOffice.org1.0.1\program |
Ajoutez le répertoire <install-OOo>\program à la variable d'environnement PATH.
Ouvrez une ligne de commande et passez la commande suivante :
set PATH=C:\Program Files\OpenOffice.org1.0.1\program;%PATH% |
Placez-vous maintenant dans le répertoire <install-OOo>/program à l'aide de la commande cd.
Saisissez alors la commande suivante :
regcomp -register -r applicat.rdb -c genericxmlfilter.dll |
Si tout se passe bien, vous obtenez le message suivant :
register component "genericxmlfilter.dll" in registry "applicat.rdb" succesfull! |
En cas de problème, recommencez l'opération en n'utilisant que des noms de fichiers de 8 lettres :
regcomp -register -r applicat.rdb -c generi~1.dll |
Enfin, copiez le fichier TypeDetection.xml -- vous le trouvez à la racine du répertoire FlatXMLfilter -- dans le répertoire suivant :
C:\Program Files\OpenOffice.org1.0.1\share\config\ registry\instance\org\openoffice\Office |
Tous les utilisateurs pourront utiliser le filtre.
Si vous êtes utilisateur de Win2000/XP, vous pouvez placer TypeDetection.xml dans votre répertoire personnel :
C:\Documents and settings\[userName]\OpenOffice.org1.0.1\ user\config\registry\instance\org\openoffice\Office |
Redémarrez OpenOffice pour profiter du nouveau filtre
Pour télécharger le filtre Flatxmlfilter.zip :
Documentation officielle (succincte) :
Le forum de développement du projet api.openoffice.org :
http://api.openoffice.org/servlets/SummarizeList?listName=dev
Dans le forum, une recherche sur le mot-clef "flatxml" donne de bons résultats.
Le projet XMerge