wiki:WikiStart/fr
Last modified 3 years ago Last modified on 07/16/11 13:13:30
Error: Failed to load processor NewsFlash
No macro or processor named 'NewsFlash' found

Translations:

XHTML 2 ODT

XHTML2ODT est une bibliothèque de conversion du XHTML vers ODT. Elle est basée sur des feuilles de style XSL pour une meilleure portabilité, et est conçue pour aider les applications web à exporter au format ODT.

Téléchargez la dernière version depuis la page de téléchargement (ou cliquez sur le lien "Download" dans le menu ci-dessus).

Des packages pour votre distribution sont disponibles sur le OpenSuSE Build Service. Distributions concernées :

Pour les utilisateurs de Zero Install, un "feed" est disponible.

Scripts

Dans les sources se trouvent les feuilles de style XSL et deux scripts mettant en œuvre la bibliothèque. Ils ont aussi pour but de servir d'exemple à ceux qui voudraient créer leurs propres plugins d'export. L'un est en PHP et l'autre est en Python. Penchez-vous aussi sur les références plus bas dans cette page, et sur les exemples d'utilisation.

Inconvénients

Le HTML doit être bien formé et valide, il est donc recommandé de le faire passer par Tidy avant de l'envoyer aux feuilles de style.

Les feuilles de styles ne créent pas un fichier ODT complet, elle ne font que convertir le XHTML en XML OpenDocument équivalent. Le résultat peut ensuite être inséré dans un document ODT modèle. Les données en entrée peuvent aussi contenir du XML OpenDocument, seul le XHTML sera converti (le reste ne sera pas modifié). C'est un mode de fonctionnement intéressant quand l'application dispose déjà d'un moteur de template qui produit du HTML, voir par exemple le plugin Dotclear dans les références ci-dessous.

Styles : des styles par défaut seront ajoutés au document, mais pas dans la première passe. Après la conversion en ODT, il faut faire passer les fichiers content.xml et styles.xml (dans le fichier ODT) à travers la feuille de style xsl/styles.xsl pour ajouter les styles manquants. Quand les styles par défaut sont ajoutés, la feuille XSL vérifie que le style n'est pas déjà présent, ainsi les personnalisations faites dans le document modèle ODT sont conservées. Certains styles inutilisés dans le texte seront aussi ajoutés, mais cela ne pose aucun problème.

Images : les images ne sont pas ajoutées, vous devez parcourir tous les éléments draw:image dans le texte ODT converti, et utiliser l'attribut xlink:href pour télécharger ou copier l'image. Tant que vous y êtes, vous devriez régler les dimensions de l'image si elles n'avaient pas été spécifiées dans l'élément HTML img.

Tests

Les tests unitaires sont écrits en Python, il faut installer le module python nose disponible sur PyPI (ou dans votre distribution).

Ensuite, lancez simplement "nosetests tests".

Références

Développment

Vous voulez contribuer ? Super ! Rapportez un bug, proposez une amélioration, attachez le code si vous le pouvez, ou contactez-moi simplement par email : contact(a)xhtml2odt.org.

Pour créer un nouveau ticket sur ce site, vous aurez besoin d'un identifiant OpenID. Si vous en avez déjà un, c'est bon, cliquez simplement sur le lien "OpenID Login" en haut à droite de cette page. Si vous n'en avez pas, allez sur cette page pour choisir un fournisseur et créer un compte. Vous avez peut-être déjà un identifiant OpenID sans le savoir.

Le code source est hébergé chez Gitorious, au cas où vous voudriez le récupérer.

License

Copyright (C) 2009-2010 Aurelien Bompard.

La license est la LGPL v2.1 ou ultérieure.

Inspiré par le convertisseur docbook2odt, par Roman Fordinal. Merci beaucoup à lui.

Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier au titre des clauses de la Licence Publique Générale Amoindrie GNU, telle que publiée par la Free Software Foundation ; soit la version 2.1 de la Licence, soit (selon votre choix) une version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même une garantie implicite de COMMERCIABILITE ou DE CONFORMITE A UNE UTILISATION PARTICULIERE. Voir la Licence Publique Générale GNU pour plus de détails.