======= xml2rst ======= .. contents:: 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 [#deb-lxml]_. .. [#deb-lxml] Under Debian based operating systems try ``apt-get install python-lxml``. Run ``xml2rst --help`` for information on how to run it. .. _flavor: 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. 1. ``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_ [#deb-xsltproc]_. 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. .. [#deb-xsltproc] Under Debian based operating systems try ``apt-get install xsltproc``. Run ``perldoc xml2rstlib/xml2rst-nopy.xsl`` for information on how to run it. 2. ``xml2rstlib/xml2rst-noexslt.xsl`` This version can be processed with every XSLT_ processor like Xalan_ [#deb-xalan]_. If you can use neither ``xml2rst.py`` nor ``xml2rst-nopy.xsl`` you may try this flavor. This version is no longer actively maintained, though. .. [#deb-xalan] Under Debian based operating systems try ``apt-get install xalan``. 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. .. ############################################################################ .. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _Docutils XML: http://docutils.sourceforge.net/docs/ref/doctree.html .. _XSLT: http://www.w3.org/TR/1999/REC-xslt-19991116 .. _Docutils Subversion repository: http://docutils.sourceforge.net/docs/dev/repository.html .. _xalan: http://xalan.apache.org/ .. _GPL: http://www.gnu.org/copyleft/gpl.html .. _ODF: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office .. _EXSLT: http://www.exslt.org/ .. _xsltproc: http://xmlsoft.org/XSLT/xsltproc2.html .. _lxml: http://codespeak.net/lxml/ .. _filterunit: http://www.merten-home.de/FreeSoftware/filterunit/