Hi all,
I've been exploring the DocBook XML --> RTF output from refdb's make
(refdbxml) system.
Currently, attempting to output even the simplest XML document as RTF
will fail with a jfor error message similar to:
....................................................................................................................................
org.xml.sax.SAXException: IOException in IBuilder:
org.jfor.jfor.converter.ValueConversionException: conversion factor not
found for 'in - -4pc' units
....................................................................................................................................
Anyone playing with XML -> FO -> print formats may have encountered our
old friend: 'in - -4pc'.
For example, the default XML -> PDF pathway via xsltproc and passivetex
gives output with '- -4pc - -4pc' in the top left of every page.
A little googling turns up the following newsgroup posting from (XSL
guru) Bob Stayton
<http://sources.redhat.com/ml/docbook-apps/2003-q3/msg00631.html> where
he explains the cause of the problem.
In short, when converting DocBook to FO, XSLT processors commonly put in
a margin instruction like this:
margin-left="1in - -4pc"
The '-4pc' is a negative expression. According to Stayton it is legal,
but it is obviously not handled very well by some FO processors,
including passivetex.
The only two FO -> RTF processors I've tried -- jfor and XMLmind's
fo2rtf -- both choke on these margin expressions.
Until a sufficiently robust FO --> RTF processor comes along, I fear
that RTF output from DocBook XML will not be possible.
Regards,
David.
P.S. I see that the jfor project is being folded into Apache's FOP.
The plan is to lose jfor's frontend converter (which is causing the
problems) in favour of FOP's frontend parsing and interpretation
engines. The remains of jfor will form an additional FOP backend for
RTF generation. Maybe when that happens we can plug it into refdb for
RTF output.
|