2002-12-29
Version 0.3 pour Ooo2sDbk-0.4.2
Copyright © 2002 Éric Bellot
Licence
Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ;
Avec les sections inaltérables suivantes : - La section « Licence »
Avec le texte de première page de couverture suivant: - pas de texte de première page de couverture -
Avec le texte de dernière page de couverture suivant : - pas de texte de dernière page de couverture -
La licence officielle peut être consultée sur le Web à l'adresse suivante :
Table des matières
OOo2sDbk est un ensemble de feuilles de styles XSLT qui permettent de convertir un document OpenOffice au format Docbook. Elles sont pilotées par une série de scripts Python qui automatisent le processus.
Pour pouvoir fonctionner Ooo2sDbk requiert Python et un processeur XSLT (Saxon, Xalan, xsltproc, etc.).
Les utilisateurs du filtre FlatXML peuvent se dispenser du recourt aux scripts Python. Le filtre FlatXML permet de produire directement un document OpenOffice au format XML. Il suffit donc d'un processeur XSLT et de la feuille ooo2sdbk.xsl pour réaliser la conversion.
OOo2sDBK converti un document SXW en Docbook en 3 étapes :
Décompression des fichiers XML du document OpenOffice-Writer[1] et, s'il y a lieu, extrraction des images incorporées.
Concaténation de ces différents fichiers en un gros document XML temporaire[2],
Conversion du document temporaire au format Docbook simplifié par le processeur XSLT et la feuille de styles ooo2sdbk.xsl.
Le modèle ooo2sdbk.stw facilite la rédaction de documents Docbook avec OpenOffice.
Il ajoute à OpenOffice toutes une série de styles de caractères et de paragraphes adaptés à la création de balises Docbook. Plus d'une cinquantaine de styles "spécial Docbook" a été ajoutés. On trouvera par exemple un style de paragraphe Abstract. Le paragraphe sur lequel on applique ce style sera encadré de balises <abstract> dans le document Docbook généré par Ooo2sDbk.
On trouvera une présentation détaillées des styles et de leur utilisation dans le guide Rédaction d'un document Docbook avec OpenOffice.
Le fichier d'autotexte ooo2sdbk.bau propose des exemples de pages de titre pour OpenOffice. Elles contribuent à générer des sections <infoarticle> correctes dans les documents Docbook.
Note | |
---|---|
Ooo2sDbk peut parfaitement fonctionner sans le modèle, ni l'autotexte. Il est capable de convertir des documents OpenOffice standards. Toutefois, le modèle permet de réaliser des documents nettement meilleurs. |
Pour qu'OOo2sDbk fonctionne, Python et un processeur XSLT doivent être fonctionnels. Ce document n'explique pas l'installation de ces différents logiciels. Reportez-vous à la documentation des fabricants.
Les processeurs XSLT suivants fonctionnent correctement avec Ooo2sDbk :
Il supporte très bien tous les standards (mieux que Xsltproc) mais est assez lent car il fonctionne sous Java.
Il est très rapide mais semble moins fiable que Saxon, en particulier sous Windows. Les dernières versions semblent toutefois excellentes même sur Windows.
Logiciels |
Versions testées |
Python 2.1 ou + |
|
Saxon 6.5.2 Saxon requiert une plateforme JAVA2 pour fonctionner |
Saxon 6.5.2 Plateformes JAVA testées :
|
Xsltproc (fourni avec LibXSL) Requiert :
|
Sous Linux et Windows
LibXML et LibXSL s'améliorent constamment. Choisissez toujours la version la plus récente. |
Téléchargez la dernière version d'OOo2sDBK.
Décompressez ooo2sbk-all-xxx.zip. Vous trouverez une série de répertoires.
Copiez le répertoire ooo2sbk dans <python-dir>/site-packages ou n'importe quel emplacement référencé dans la variable d'environnement PYTHONPATH.
Copiez le fichier ooo2sbk/sitecustomize.py dans /usr/lib/Python2.2.
Il permet à Python de travailler en UTF-8 au lieu de l'ASCII. L'encodage UTF-8 est requit pour le XML.
Copiez le fichier shell-linux/ooo2sdbk dans /usr/bin ou n'importe quel emplacement référencé dans la variable d'environnement PATH.
Le script est opérationnel
Téléchargez la dernière version d'OOo2sDBK.
Décompressez ooo2sbk-all-xxx.zip. Vous trouverez une série de répertoires.
Copiez le répertoire ooo2sbk dans <python-dir>/Lib/site-packages ou n'importe quel emplacement référencé dans la variable d'environnement PYTHONPATH.
Copiez le fichier shell-windows/ooo2sdbk.bat dans emplacement référencé dans la variable d'environnement PATH.
Editez ooo2sdbk.bat et vérifiez que la variable OOO2SDBK contienne bien le chemin d'accès au script ooo2sdbk.py. Par défaut, il pointe vers :
C:\Python22\Lib\site-packages\ooo2sdbk\ooo2sdbk.py.
Le script est opérationnel
Elle est identique sous Linux et Windows.
Syntaxe :
ooo2sdbk [ OPTIONS ] openoffice-writer-filename
Chemin d'accès relatif ou absolu vers un fichier *.sxw (Writer d'OpenOffice)
Ce paramètre est obligatoire.
Nom du fichier Docbook en sortie. Si ce paramètre et omis, le fichier Docbook reçoit le même nom que le document OpenOffice ; l'extension *.sxw est remplacée par l'extension *.xml.
Par exemple, mydoc.sxw => mydoc.xml.
Nom de la conversion XSL utilisée. Les commandes disponibles sont répertoriées dans ooo2sdbk/config.xml. Deux sont prédéfinies : xsltproc et saxon. Il est possible d'en ajouter (voir section 5 Fichier de configuration).
Si ce paramètre est omis, XSLTproc est utilisé par défaut.
Permet de conserver le fichier OpenOffice au format XML. Ce fichier est la concaténation de tous les fichiers XML du document OpenOffice. Il sert de base à la conversion. Surtout utile pour le développement.
Il a le même nom que le fichier OpenOffice suivi de "_oo.xml".
Exemple : mydoc.sxw => mydoc_oo.xml.
Affiche l'aide
Exemples de commandes :
ooo2sdbk mydoc.sxw
ooo2sdbk -d mydoc-dbk.xml mydoc.sxw
ooo2sdbk -c saxon mydoc.sxw
ooo2sdbk -d mydoc.dbk -c saxon -f mydoc.sxw
OOo2sDBK exporte une méthode convert qui permet de réaliser la conversion d'un document OpenOffice-Writer grâce à un script Python.
import ooo2sdbk ooo2sdbk.convert("myDoc.sxw",docbook="myDocbook.xml", \ command="saxon") |
Enregistrez le script avec l'extension *.py (par exemple : conversion.py) dans le même répertoire que le document OpenOffice
Ouvrez un shell sous Linux ou une session DOS sous Windows :
Placez-vous dans le dossier ou se trouve votre script avec la commande cd
Saisissez la commande : python conversion.py
Après quelques instants, la conversion est faite (la durée dépend de la taille du document OpenOffice, de la rapidité du processeur XSLT et, bien sûr, de celle de la CPU).
convert(openoffice-filename, command=commandName, \ [docbook=docbook-filename], [imagesrew=0|1] [deltemp=0|1]) |
Option obligatoire
Chemin d'accès (relatif ou absolu) au fichier OpenOffice-Writer à convertir
Option obligatoire.
commandName est le nom de la commande utilisée pour la conversion.
La liste des commandes disponibles se trouve le fichier de configuration config.xml. Le fichier contient 2 commandes préconfigurées : xsltproc et saxon (Voir section 5 Fichier de configuration).
Option facultative.
Chemin d'accès (relatif ou absolu) au fichier Docbook produit.
Si ce paramètre est omit, le fichier Docbook aura le même nom que le fichier OpenOffice et l'extension *.xml à la place de *.sxw. Il sera enregistré dans le même répertoire.
Par exemple : myDoc.sxw => myDoc.xml
Images Rewriting.
Option facultative (1 par défaut).
Ne concerne que les images incorporées au document OpenOffice.
Si la valeur est 1, les images incorporées au document OpenOffice écrasent les images ayant le même nom dans le répertoire de destination.
Si la valeur est 0, les images déjà présentes dans le répertoire de destination ne sont pas réécrites.
Delete temporary file.
Cette option est facultative.
Si deltemp est 0, le fichier temporaire global.xml est préservé. Par défaut, il est détruit à la fin de la conversion (deltemp=1).
Le fichier global.xml est la concaténation de tous les fichiers XML du document OpenOffice. Il sert de base à la conversion. Surtout utile pour le développement. Par défaut, deltemp=1.
Les fichiers sont ici indiqués avec de chemins absolus, on utilise le processeur Saxon.
import ooo2sbk ooo2sbk.convert("C:\monDocumentOOo.sxw", \ docbook="C:\monDocbook.xml", command="saxon") |
Les chemins d'accès aux fichiers sont relatifs, cela suppose, ici, que le script se trouve dans le même répertoire que les fichiers. Le fichier Docbook produit sera : monDocumentOOo.xml
import ooo2sbk ooo2sbk.convert("monDocumentOOo.sxw", command="saxon") |
Le fichier de configuration config.xml se trouve à la racine du répertoire ooo2sdbk. Il permet notamment de configurer les modèles de commandes des processeurs XSLT disponibles
<config> <xslt-command name="xsltproc" command="xsltproc -o %o %s %i"/> <xslt-command name="saxon" command="java com.icl.saxon.StyleSheet -o %o %i %s"/> <xslt-stylesheet stylesheetPath="docbook.xsl"/> <images imageNameRoot="img" imagesRelativeDirectory="images"/> </config> |
Permet de définir un modèle de commande pour le processeur XSLT
Nom du modèle de commande. Il sera appelé dans le script Python.
Commande de conversion du processeur XSL. Trois variables sont disponibles :
output, le nom du fichier XML produit
input, le nom du fichier XML entrant
stylesheet, le nom de la feuille de style XSL
Voici quelques exemple de commandes utilisables. Elles sont à adapter à votre système :
java com.icl.saxon.StyleSheet %i %s > %o java -jar /usr/java/classes/saxon/saxon.jar -o %o %i %s (Linux) java -cp C:\saxon\saxon.jar com.icl.saxon.StyleSheet %i %s > %o (Windows) |
Permet de définir le chemin d'accès vers la feuille de style ooo2sdbk.xsl
Chemin relatif vers la feuille de style XSL à partir du fichier ooo2sdbk.py.
Permet de configurer l'extraction des images incorporées au document OpenOffice.
Radical du nom attribué aux images extraites du document OpenOffice.
Le radical "img" produira des images ayant pour nom : img001.png, img002.jpg, etc.
Le radical "pix" produira des images ayant pour nom : pix001.png, pix003.jpg, etc.
Les images sont numérotées selon leur ordre d'apparition dans le document.
Nom du répertoire qui accueille les images extraites du document OpenOffice. Ce répertoire est généré automatiquement dans le même répertoire que le document Docbook.
Fermez OpenOffice et, s'il y lieu, le démarrage rapide.
Décompressez ooo2sbk-all-xxx.zip. Vous trouverez une série de répertoires.
Dans le répertoire template vous trouverez deux fichiers :
ooo2sdbk.stw. C'est le modèle de document
ooo2sdbk.bau. C'est le fichier d'autotexte
Placez le fichier ooo2sdbk.stw dans votre répertoire des modèles.
Sous Linux : ~/.OpenOffice.org1.0.1/user/template
Sous Windows :
C:\Documents and settings\[user]\OpenOffice.org1.0.1\user\template
ou C:\Program files\OpenOffice.org1.0.1\user\template
Placez le fichier ooo2sdbk.bau dans votre répertoire autotexte.
Sous Linux : ~/.OpenOffice.org1.0.1/user/autotext
Sous Windows :
C:\Documents and settings\[user]\OpenOffice.org1.0.1\user\autotext
ou C:\Program files\OpenOffice.org1.0.1\user\autotext
Dorénavant, vous pourrez créer de nouveaux documents orientés Docbook en faisant Fichier > Nouveau > Modèles et documents > Default et en choisissant ooo2sdbk.
Vous pourrez créer rapidement des pages de titre en faisant Edition > Autotexte et en choisissant un des textes de la rubrique ooo2sdbk.