Hi Jeremias,

can you clarify some of the comments you made on this. It's not 100% clear to me.


------- Additional Comments From [EMAIL PROTECTED]  2006-04-23 09:41 -------
Pierre-Henri, I've applied your patch with modifications. See:

Thanks a lot for that and sorry for the delay.

I found a remaining problem with your patch. When a formatting object spans
multiple pages, forward references are not properly resolved. You can see that
in the *_basic.xml test case which I've modified and disabled. It looks like you
didn't entirely get my hint last time. The problem is that addAreas() can be
called multiple times. An example: If a block spans multiple pages, it is called
once for each page it generates area for. Since you notify the AreaTreeHandler
after each call to addAreas (and not only after the last) a forward reference
gets the wrong page number (i.e. the one of the first area). Determining the
last call to addAreas for a formatting objects might be a little tricky, 

Are you saying that forward references using page-number-citation is broken when the Area being referenced spans multiple pages?

Furthermore, you've only addressed block-level formatting objects and
page-sequence for ID processing, but some of the inline-level formatting objects
can similarly span multiple pages (like fo:inline for example). I don't think
this is critical since you might rarely refer to an inline-level ID with
page-number-citation-last. The most important use case is certainly referring to
an ID from page-sequence to achieve reliable "page x of y" without the "empty
block with ID" hack we've used until today.

I don't understand what you mean by reference an inline-level ID with page-number-citation-last? Surely page-number-citation-last does not reference an ID, merely return the last page number in the document. So do you mean reference an inline level id with page-number-citation?

I'm leaving the issue open for now.

Is it worth raising a separate bug for this, so this issue can be tracked more easily?


Reply via email to