{{{ #!NewsFlash = Version 1.3 = 2011-07-16 -- La version 1.3 a été publiée. Reportez-vous au [source:NEWS.txt fichier News] pour les détails (en anglais). Comme toujours, vous pouvez l'obtenir depuis [//dl/ la page de téléchargement] ou le [https://build.opensuse.org/project/show?project=home:abompard:xhtml2odt OpenSuSE Build Service]. Un [//dl/0install/xhtml2odt.xml "feed" Zero Install] est aussi disponible. = Packages = 2010-09-10 -- Des '''packages''' pour votre distribution sont maintenant disponibles sur le [https://build.opensuse.org/project/show?project=home:abompard:xhtml2odt OpenSuSE Build Service]. = Version 1.2 = 2010-08-24 -- La version 1.2 a été publiée. Reportez-vous au [source:NEWS.txt fichier News] pour les détails (en anglais). Comme toujours, vous pouvez l'obtenir depuis [//dl/ la page de téléchargement]. }}} [[TranslatedPages]] = XHTML 2 ODT = XHTML2ODT est une bibliothèque de conversion du XHTML vers [http://fr.wikipedia.org/wiki/OpenDocument 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 [//dl/ 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 [https://build.opensuse.org/project/show?project=home:abompard:xhtml2odt OpenSuSE Build Service]. Distributions concernées` `: * Ubuntu [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/xUbuntu_9.10/ 9.10], [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/xUbuntu_10.04/ 10.04], [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/xUbuntu_10.10/ 10.10] et [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/xUbuntu_11.04/ 11.04], * Debian [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Debian_5.0/ Lenny (5.0)] et [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Debian_6.0/ Squeeze (6.0)], * Fedora [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Fedora_14/ 14] et [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Fedora_15/ 15], * Mandriva [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Mandriva_2010/ 2010.0] et [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/Mandriva_2010.1/ 2010.1], * OpenSUSE [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/openSUSE_11.3/ 11.3], [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/openSUSE_11.4/ 11.4] et [http://download.opensuse.org/repositories/home:/abompard:/xhtml2odt/openSUSE_Factory/ Factory] Pour les utilisateurs de '''Zero Install''', [//dl/0install/xhtml2odt.xml un "feed"] est disponible. == Scripts == Dans les sources se trouvent les feuilles de style XSL et deux '''[wiki:Scripts/fr 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 références] plus bas dans cette page, et sur les [wiki:Examples/fr exemples d'utilisation]. == Inconvénients == Le HTML doit être bien formé et valide, il est donc recommandé de le faire passer par [http://tidy.sourceforge.net/ 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 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 [http://pypi.python.org/pypi/nose/ nose] disponible sur PyPI (ou dans votre distribution). Ensuite, lancez simplement "`nosetests tests`". == Références == * [http://lab.dotclear.org/wiki/plugin/odt/fr Export ODT pour Dotclear] * [http://trac-hacks.org/wiki/OdtExportPlugin Export ODT pour Trac] * [http://www.dokuwiki.org/plugin:odt Export ODT pour Dokuwiki] (n'utilise pas ce projet, mais similaire et du même auteur) == Développment == {{{ #!html