On Sep 4, 2008, at 10:03, Stefan Bund wrote:

Andreas Delmelle <[EMAIL PROTECTED]> writes:
Seems like a nice job you did here!

Thanks. Do you know, wether my assumptions are valid ? I've been
guessing my way along and it would be nice for someone in the know to
check up on the code.

From what you have described, it seems to be a valid approach, but without looking at the actual code, it's still an impression only...

The only thing I'm slightly concerned with is that the proposed solution would only work for PDF output (not for the AWT preview panel, for example). However, since it is by far the most popular output format, this is not really a big issue. Supporting it for one format is still a lot better than nothing at all. :-)

The quesetion is, how to make the code
available.

As I hinted, creating an 'svn diff' of the altered/added files, and attaching it to a Bugzilla entry (https://issues.apache.org/bugzilla) is the preferred option.

What I don't understand is, how the linking stuff in the renderers
integrates with the Resolvable stuff in the area tree. I do not add
any resolvables in the area tree for the SVG images.

The area tree is created by the layoutengine. When an area has to be generated for a FO node that references another node by its 'id' (like a basic-link, or a page-number-citation), and the 'id' it points to has not yet been associated to a previous page-viewport, a Resolvable is created and added to the IdTracker. Upon generating an area for a FO node with a given 'id', a check is performed to see if any Resolvables exist that reference it. If the 'id' was already added to a previous page, we don't need a Resolvable, as we can immediately get the information we need.

As such, you don't need them, if you can resolve the links in the SVG entirely at the rendering stage. As Jeremias did mention, if you need to track them from the layoutengine (in which case the page they point to may not exist yet in the area tree) then you would need a Resolvable implementation to make sure the resolution is triggered automatically when the corresponding 'id' is encountered on a following page.


If you like, you can already open a Bugzilla entry for this, and
attach a diff against FOP Trunk there.

No problem. Only, what should I do when I later change the code
further? Followup on the Bugzilla entry with a new patch ?

Indeed. Upon adding a new attachment, you can mark the earlier version as 'obsolete'.


Cheers

Andreas

Reply via email to