You missed several important points, however.

First, ODF and OOXML are not WYSIWYG formats. They cannot do what XSL-FO
says that they should. So any transformation from XSL-FO to ODF or OOXML is
fundamentally wrong. It violates the XSL-FO specification in various ways,
and there's no way to know what the output will actually be.

XSL-FO processors don't exist to generate "something". They must generate a
specific thing (within tolerances, of course). They must do exactly what
they are told, as defined by the XSL-FO specification. And if an output
format can't handle what the spec says to do, then it is the output format
that is wrong.

The second problem is that ODF and OOXML have semantic constructs that
XSL-FO cannot replicate. Dates, chapters, etc, all of that information has
been lost by the time the FO was generated. So the ODF or OOXML files
generated from a FO will be, not wrong, but entirely unsemantic. Your
DocBook document with its nice chapters and so forth will end up with just
text. Formatted text, as per the FO, but the concept of chapters, articles,
etc, have all been lost, and ODF/OOXML have the semantic structures to
contain some of these.

So, from the perspective of making a proper XSL-FO implementation, ODF/OOXML
formats are bad. And from the perspective of making a good ODF/OOXML file,
using FO as a source is bad.

The best you could hope to get out of this code path is something that looks
OK. And what's the point of bothering to generate complex XSL-FO documents
if all that descriptive power goes to waste? I mean, XSL-FO has all of this
expressive power, and the most you can think to do with it is throw it away
on an ODF file?

Mark C. Allman wrote:
> Well...not exactly, IMHO.
>> What a person wanting to put documents in a Word-readable format wants
> is to
>> be able to take his original XML file and turn it into something that
> can be
>> used by someone else. In that case, what is necessary is an XSLT to
> convert
>> the XML into ODF or whatever.
> By analogy, if I want to put XML data in PDF format, do I write XSLT to
> convert it to PDF?  We don't do that now.  We write an XSLT script to
> covert to XSL-FO, then the FOP engine converts to PDF.
> The FOP engine is a converter from XSL-FO to something else.  Word, ODF,
> RTF, PDF, text, whatever.  We all already write XSLT scripts to
> transform from data (XML) to XSL-FO.  I'm not trying to be argumentative
> at all, just also not demanding of a project team that's providing me a
> great tool at no cost to me.  I'd like to keep RTF, or in it's absence
> have something I can use in its place.  Also, people who ask for things
> should be prepared to chip in and help.
> BTW, also IMHO, it'd be cleaner to have one XSLT "super-script" to
> convert from XSL-FO to ODF (or OOXML or whatever Microsoft calls their
> "open" standard).  If I write an XSLT script to transform data in XML to
> an ODF document then I write it for each schema.  So if I want to
> generate both PDF and ODF then I'm forced to write two XSLT scripts (one
> to XSL-FO and another to ODF).  If we wrote an admittedly rather complex
> XSLT script to transform from XSL-FO to ODF then we'd only write it
> once.  It's an academic point, since I think writing such an XSLT script
> is outside the bounds of the FOP project.  No scope creep here, please.
> Just my 2 cents....
> -- Mark C. Allman,
> -- Allman
> Professional
> Consulting, Inc.
> -- 617-947-4263
> --

View this message in context:
Sent from the FOP - Dev mailing list archive at

Reply via email to