xml2rst
What is xml2rst?
xml2rst is a tool to generate reStructuredText syntax back from Docutils XML input. This way you can create an XML files using Docutils XML from some other format (such as ODF) and then transform the result to reStructuredText.
How to use xml2rst
xml2rst.py is a normal Docutils converter program. Try xml2rst.py --help for options.
Dependencies
xml2rst.py depends on the docutils_xml in the Docutils sandbox (http://svn.code.sf.net/p/docutils/code/trunk/sandbox/docutils_xml/). This in turn depends on the lxml package [1].
Run xml2rst --help for information on how to run it.
Other ways to use xml2rst
xml2rst is currently implemented as an XSLT stylesheet usable in two other flavors. However, these flavors are no longer actively maintained and may lack some features.
xml2rstlib/xml2rst-nopy.xsl
This is the core XSLT script without using Python. It uses EXSLT and therefore needs an EXSLT capable XSLT processors such as xsltproc [2].
If you can't use xml2rst.py because you don't have lxml you may try this flavor. This version is no longer actively maintained, though.
Run perldoc xml2rstlib/xml2rst-nopy.xsl for information on how to run it.
xml2rstlib/xml2rst-noexslt.xsl
This version can be processed with every XSLT processor like Xalan [3].
If you can use neither xml2rst.py nor xml2rst-nopy.xsl you may try this flavor. This version is no longer actively maintained, though.
Run perldoc xml2rstlib/xml2rst-noexslt.xsl for information on how to run it.
Availability
xml2rst is available through the Docutils Subversion repository as part of the Docutils sandbox in sandbox/xml2rst.
Moreover you can fetch it directly from the current maintainer at http://www.merten-home.de/FreeSoftware/xml2rst/
Installation
After you obtained the package run python setup.py install.
Depending on the flavor you choose you need to install certain packages to run xml2rst.
Copyright and license
Copyright (C) 2005, 2006 by Stefan Merten and David Priest Copyright (C) 2009, 2010, 2011 by Stefan Merten
License is GPL v2 or later.
Development
Tests
There are test suites in tests*. Use filterunit to run tests.
ToDos
xml2rst.xsl and xml2rst.py contain a couple of comments marked with TODO which contain things which should be done.
Plans
xml2rst should become a normal reStructuredText writer. Starting with V1.0 functionality is moved to a Python based implementation.