Welcome to the FOP project. In addition to Simon’s notes, I have a few
more specific comments.

In theory I would be reluctant to work on any features that have not
been standardized yet. The way they are specified may heavily impact the
design, so you face the danger of having to throw away all your work and
restart again. This can be mitigated by a careful definition of the
object model, abstractions and encapsulations but the risk is still

As you mentioned, any non-standardized element should be defined in its
own extension namespace and developed as a plug-in to FOP. This will
allow to avoid conflicts and backwards incompatibilities with later
versions of the Recommendation.

Any work on typesetting is inherently difficult, but FOP has a few
additional challenges of its own. ATM the layout engine is not really
designed to be pluggable, with well-defined extension points. That would
need to be addressed. Also, the data model it’s based on (inspired from
Dr Knuth’ work on digital typography) is fundamentally limited and
doesn’t work well for e.g. tables. Some time ago I started to work on
the prototype of a new layout engine, but unfortunately I was
sidetracked by more urgent work. I’m planning to restart this work at
some point in the future.

The object-oriented paradigm applies well to XSL-FO. Implementing this
paradigm on the layout engine is IMO the only way to keep it manageable
and maintainable, especially if we are to add such complex new features
(XSL-FO 1.1 alone is already extremely complex!). We’re not quite there
yet, but this is doable.

In short, a lot of work and challenges, but this is a very interesting
area, and your full-time developer will definitely be welcome.


On 21/12/10 15:40, Roland Schwarz wrote:
> Dear developers, dear members of the Project Management,
> we work on a research project called "XML-Print" at the University of
> Trier, Germany. The idea is to implement (or improve) a XML to PDF
> typesetter with an easy-to-use GUI which helps humanists to publish
> their critical editions, dictionaries etc. It will be part of the
> toolkit "TextGrid Lab" which is a long-term project to develop a general
> framework containing different tools for collaborative work on digital
> documents (http://www.textgrid.de/en/startseite.html).
> Having looked at existing approaches FOP seems to be a stable and
> promising base to build on. However there are some features missing
> either not yet implemented in FOP itself or even not defined in XSL-FO 1.1.
> We therefore would have to implement features based on XSL-FO 1.1, but
> also on the requirements for XSL-FO 2.0 as described in
> http://www.w3.org/TR/xslfo20-req/.
> Among others we are especially interested in some elements mentioned in
> the current design draft like
> - marginalia (2.2.3)
> - side-by-side flows (2.2.6)
> - line numbering ( **
> - cross references (2.2.8)
> **  The line numbering will also involve some more complex issues, not
> only a simple line numbering of every n-th line. For example there could
> be interactions between line numbers and marginalia, which have to be
> considered in the typesetting process.
> We would also have to design and implement new layout features currently
> not mentioned in any seen XSL-FO design draft like the usage of a
> complex bibliographic apparatus or a grid typesetting feature. There are
> also requirements for complex footnotes, which may lead to an extension
> of the currently available footnote mechanism in the XSL-FO standard.
> At the current point in our work we wonder how we can use the current
> status of FOP, how we can embed our work into future releases and last
> but not least, give some work back to the community. One developer would
> work full-time on FOP for at least one year.
> Furthermore we would like to know if an early implementation of
> requirements -- using a separate namespace of course -- is somehow
> wanted and if there is any other group working on them. What would be
> the next steps for us?
> Thank you for any responses.
> Best regards and Happy Holidays from
> Martin Sievers and Roland Schwarz

Reply via email to