diff --git a/src/Makefile.am b/src/Makefile.am
index c4a08722..2333c5d2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -649,6 +649,12 @@ filterdir = $(pkgdatadir)/filters
filter_DATA = \
desktop/hotrecoll.py \
filters/abiword.xsl \
+filters/fb2.xsl \
+filters/gnumeric.xsl \
+filters/msodump.zip \
+filters/okular-note.xsl \
+filters/opendoc-flat.xsl \
+filters/ppt-dump.py \
filters/rcl7z \
filters/rclabw.py \
filters/rclaptosidman \
@@ -680,19 +686,19 @@ filters/rcllatinstops.zip \
filters/rcllyx \
filters/rclman \
filters/rclmidi.py \
-filters/rclpdf.py \
-filters/rclps \
filters/rclokulnote.py \
filters/rclopxml.py \
+filters/rclpdf.py \
filters/rclppt.py \
+filters/rclps \
filters/rclpurple \
filters/rclpython \
filters/rclrar \
filters/rclrtf.py \
filters/rclscribus \
filters/rclshowinfo \
-filters/rclsoff.py \
filters/rclsoff-flat.py \
+filters/rclsoff.py \
filters/rclsvg.py \
filters/rcltar \
filters/rcltex \
@@ -706,11 +712,11 @@ filters/rclxmp.py \
filters/rclxslt.py \
filters/rclzip \
filters/recoll-we-move-files.py \
-filters/ppt-dump.py \
+filters/recollepub.zip \
+filters/svg.xsl \
filters/xls-dump.py \
filters/xlsxmltocsv.py \
-filters/msodump.zip \
-filters/recollepub.zip \
+filters/xml.xsl \
python/recoll/recoll/conftree.py \
python/recoll/recoll/rclconfig.py
diff --git a/src/filters/fb2.xsl b/src/filters/fb2.xsl
new file mode 100755
index 00000000..2d6554fa
--- /dev/null
+++ b/src/filters/fb2.xsl
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/filters/gnumeric.xsl b/src/filters/gnumeric.xsl
new file mode 100755
index 00000000..efd48e70
--- /dev/null
+++ b/src/filters/gnumeric.xsl
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ date
+
+
+
+
+
+
+ abstract
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/filters/okular-note.xsl b/src/filters/okular-note.xsl
new file mode 100755
index 00000000..c25a9529
--- /dev/null
+++ b/src/filters/okular-note.xsl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+ Okular notes about:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/filters/opendoc-flat.xsl b/src/filters/opendoc-flat.xsl
new file mode 100755
index 00000000..7c0c0ddf
--- /dev/null
+++ b/src/filters/opendoc-flat.xsl
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abstract
+
+
+
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/filters/svg.xsl b/src/filters/svg.xsl
new file mode 100755
index 00000000..e6047721
--- /dev/null
+++ b/src/filters/svg.xsl
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+
+
+ keywords
+
+
+
+
+
+
+
+
+
+ description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/filters/xml.xsl b/src/filters/xml.xsl
new file mode 100755
index 00000000..ccbdc790
--- /dev/null
+++ b/src/filters/xml.xsl
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sampleconf/mimeconf b/src/sampleconf/mimeconf
index 658f5d3a..1ab2f270 100644
--- a/src/sampleconf/mimeconf
+++ b/src/sampleconf/mimeconf
@@ -84,9 +84,9 @@ application/vnd.oasis.opendocument.text-template = execm rclsoff.py
application/vnd.oasis.opendocument.presentation = execm rclsoff.py
application/vnd.oasis.opendocument.spreadsheet = execm rclsoff.py
application/vnd.oasis.opendocument.graphics = execm rclsoff.py
-application/vnd.oasis.opendocument.presentation-flat-xml = execm rclsoff-flat.py
-application/vnd.oasis.opendocument.text-flat-xml = execm rclsoff-flat.py
-application/vnd.oasis.opendocument.spreadsheet-flat-xml = execm rclsoff-flat.py
+application/vnd.oasis.opendocument.presentation-flat-xml = internal xsltproc opendoc-flat.xsl
+application/vnd.oasis.opendocument.text-flat-xml = internal xsltproc opendoc-flat.xsl
+application/vnd.oasis.opendocument.spreadsheet-flat-xml = internal xsltproc opendoc-flat.xsl
application/vnd.openxmlformats-officedocument.wordprocessingml.document = \
execm rclopxml.py
application/vnd.openxmlformats-officedocument.wordprocessingml.template = \
@@ -110,7 +110,7 @@ application/vnd.sun.xml.writer = execm rclsoff.py
application/vnd.sun.xml.writer.global = execm rclsoff.py
application/vnd.sun.xml.writer.template = execm rclsoff.py
application/vnd.wordperfect = exec wpd2html;mimetype=text/html
-application/x-abiword = internal xsltproc abw.xsl
+application/x-abiword = internal xsltproc abiword.xsl
application/x-awk = internal text/plain
application/x-chm = execm rclchm
application/x-dia-diagram = execm rcldia;mimetype=text/plain
@@ -118,12 +118,12 @@ application/x-dvi = exec rcldvi
application/x-flac = execm rclaudio
application/x-gnote = execm rclxml.py
application/x-gnuinfo = execm rclinfo
-application/x-gnumeric = execm rclgnm.py
+application/x-gnumeric = internal xsltproc gnumeric.xsl
application/x-kword = exec rclkwd
application/x-lyx = exec rcllyx
application/x-mimehtml = internal message/rfc822
#application/x-mobipocket-ebook = execm rclmobi
-application/x-okular-notes = execm rclokulnote.py
+application/x-okular-notes = internal xsltproc okular-note.xsl
application/x-perl = internal text/plain
# Returned by xdg-mime for .php. Future-proofing
application/x-php = internal text/plain
@@ -149,7 +149,7 @@ image/jpeg = execm rclimg
image/png = execm rclimg
image/tiff = execm rclimg
image/vnd.djvu = execm rcldjvu.py
-image/svg+xml = execm rclsvg.py
+image/svg+xml = internal xsltproc svg.xsl
image/x-xcf = execm rclimg
image/x-nikon-nef = execm rclimg
inode/symlink = internal
@@ -168,7 +168,7 @@ text/css = internal text/plain
application/javascript = internal text/plain
text/x-bibtex = exec rclbibtex.sh ; mimetype = text/plain
text/x-csv = internal text/plain
-text/x-fictionbook = execm rclfb2.py
+text/x-fictionbook = internal xsltproc fb2.xsl
text/x-gaim-log = exec rclgaim
text/x-html-aptosid-man = exec rclaptosidman
text/x-lua = internal
@@ -190,7 +190,7 @@ text/x-tex = exec rcltex
# All parameter and tag names, attribute values etc, are indexed as
# text. rclxml.py tries to just index the text content.
#application/xml = execm rclxml.py
-#text/xml = execm rclxml.py
+#text/xml = internal xsltproc xml.xsl
application/xml = internal text/plain
text/xml = internal text/plain