Difference between revisions of "Odt2Wiki"
From Apache OpenOffice Wiki
m (→Convert Files) |
|||
Line 137: | Line 137: | ||
== Convert Files == | == Convert Files == | ||
− | To export choose File -> Export and select | + | To export choose File -> Export and select Odt2Wiki (.txt) as file format. |
Now you can paste the content of the file in the edit form of MediaWiki. | Now you can paste the content of the file in the edit form of MediaWiki. |
Revision as of 12:12, 22 September 2006
Converting OpenDocument/Text to WikiPedia/MediaWiki format
Odt2Wiki is an export filter for OpenOffice 2.0 by Bernhard Haumacher. It will let you convert OpenOffice.org Writer files (OpenDocument/Text) to MediaWiki (WikiPedia) text format.
Test it online
You can upload the odt and download the txt in MediaWiki format:
http://www.ipd.uni-karlsruhe.de/~hauma/odt2txt/
Odt2Wiki.xslt
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" exclude-result-prefixes="office text" > <xsl:output method="text" media-type="text/plain" encoding="UTF-8" /> <xsl:template match="office:document-content"> <xsl:apply-templates/> </xsl:template> <xsl:template match="office:body"> <xsl:apply-templates/> </xsl:template> <xsl:template match="draw:page"> <xsl:value-of select="concat(' <!-- Page ', @draw:name, '--> ')"/> <xsl:apply-templates/> <xsl:value-of select="' ---- '"/> </xsl:template> <xsl:template match="text:list-item"> <xsl:value-of select="'* '"/> <xsl:apply-templates/> </xsl:template> <xsl:template match="text:h[@text:outline-level = 1]"> <xsl:value-of select="'= '"/> <xsl:apply-templates/> <xsl:value-of select="' = '"/> </xsl:template> <xsl:template match="text:h[@text:outline-level = 2]"> <xsl:value-of select="'== '"/> <xsl:apply-templates/> <xsl:value-of select="' == '"/> </xsl:template> <xsl:template match="text:h[@text:outline-level = 3]"> <xsl:value-of select="'=== '"/> <xsl:apply-templates/> <xsl:value-of select="' === '"/> </xsl:template> <xsl:template match="text:span[@text:style-name='WikiMath']"> <xsl:value-of select="'<math>'"/> <xsl:apply-templates/> <xsl:value-of select="'</math>'"/> </xsl:template> <xsl:template match="text:span[@text:style-name='WikiLink']"> <xsl:value-of select="'[['"/> <xsl:variable name="link-def" select="string(.)"/> <xsl:variable name="link-label" select="normalize-space(substring-before($link-def, '['))"/> <xsl:variable name="link-ref" select="normalize-space(substring-before(substring-after($link-def, '['), ']'))"/> <xsl:choose> <xsl:when test="boolean($link-ref)"> <xsl:value-of select="concat($link-ref, '|', $link-label)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$link-def"/> </xsl:otherwise> </xsl:choose> <xsl:value-of select="']]'"/> </xsl:template> <xsl:template match="text:p[string-length(.) > 0]"> <xsl:apply-templates/> <xsl:value-of select="' '"/> <xsl:if test="position() < last()"> <xsl:value-of select="' '"/> </xsl:if> </xsl:template> <xsl:template match="text:p[string-length(.) = 0 and string-length(preceding-sibling::text:p[1]) > 0]"> <xsl:value-of select="' '"/> </xsl:template> <xsl:template match="text:p/text() | text:h/text() | text:span/text()"> <xsl:value-of select="."/> </xsl:template> <xsl:template match="office:* | text:* | draw:frame | draw:text-box"> <xsl:apply-templates/> </xsl:template> <xsl:template match="node()"> </xsl:template> </xsl:stylesheet> <!-- Local Variables: tab-width: 2 sgml-indent-step: 2 End: -->
Installation in OpenOffice.org 2.0
To install the export filter:
- Create the file Odt2Wiki.xslt:
- Go here #Odt2Wiki.xslt
- Select all
- Paste it to a new text file
- Save it as Odt2Wiki.xslt
- Start OpenOffice.org 2.0.
- From Tool choose XML Filter Settings.
- choose New and in General fill the form with the following data:
- Filter name: Odt2Wiki
- Application: OpenOffice.org Writer (.odt)
- Name of file type: Odt2Wiki
- File extention: txt
- Choose Transformation and fill the form with the following data:
- XSLT for Export: put the full path to Odt2Wiki.xslt
Convert Files
To export choose File -> Export and select Odt2Wiki (.txt) as file format.
Now you can paste the content of the file in the edit form of MediaWiki.
Additional information
http://qa.openoffice.org/issues/show_bug.cgi?id=48409
Alternative
There is similar alternative:
http://www.activasoft.com/OpenOffice2MediaWiki
is slower for long documents, but works better for bold and italics and works different for tables, lists and images.