On 11.02.2009 13:07:12 Vincent Hennebert wrote:
> Jeremias Maerki wrote:
> > On 10.02.2009 13:22:01 Vincent Hennebert wrote:
> >> Hi Jeremias,
> >>
> >> A few suggestions:
> >>
> <snip/>
> >>>      <section id="introduction">
> >>>        <title>Introduction</title>
> >>>        <p>
> >>> -        The intermediate format (IF) is a proprietary XML format that 
> >>> represents the area tree 
> >>> -        generated by the layout engine. The area tree is conceptually 
> >>> defined in the 
> >>> +        Apache FOP now provides two different so-called intermediate 
> >>> formats. The first one
> >>> +        (let's call it the area tree XML format) is basically a 1:1 XML 
> >>> representation of the FOP's
> >>> +        area tree generated by the layout engine. The area tree is 
> >>> conceptually defined in the 
> >>>          <a 
> >>> href="http://www.w3.org/TR/2001/REC-xsl-20011015/slice1.html#section-N742-Formatting";>XSL-FO
> >>>  specification in chapter 1.1.2</a>.
> >>> -        The IF can be generated through the area tree XML Renderer (the 
> >>> XMLRenderer).
> >> Renaming this class into AreaTreeRenderer or AreaTreeXMLRenderer will
> >> probably allow to avoid confusion in the future.
> > 
> > -1 to that. Will break backwards-compatibility for those who are using
> > this renderer directly. It would break at least two pieces of software I
> > have.
> 
> Breaking backwards-compatibility because of an important change in an
> API is a thing, simply have a class renamed is a non-issue if you ask
> me. It’s just a small search/replace and recompilation.

Ok, then "simply" rename FopFactory to FormattingObjectsProcessorFactory
and see what the FOP users will tell you.

> To make things a little bit smoother though, XMLRenderer could be made
> deprecated with a suggestion to switch to AreaTree[XML]Renderer.

And how would that make the situation any better?

> 
> > If you you generate SAX events
> > (AbstractXMLRenderer.setContentHandler()), working with MIME types isn't
> > enough.
> 
> I’m missing the point here?

If you're selecting the XMLRenderer via its MIME type, renaming
XMLRenderer to anything else is a non-issue because it would be handled
inside FOP. But if you need to send the AT XML as SAX events somewhere
you have to instantiate XMLRenderer yourself.

> 
> > Besides, I don't think that would really improve the whole thing
> > much. After all, with the new IF, we're not primarily talking about
> > renderers but something else (IFDocumentHandler/IFPainter).
> 
> It’s never too obvious. After all, the two sections in the documentation
> are very similar.

Yes, and there is just no way to make them any more dissimilar. Both are
XML-based intermediate formats. Both have their use cases. Better to
keep them close together so people know that there are two and how to
deal with them.


Jeremias Maerki

Reply via email to