On 26.04.2006 11:53:59 Chris Bowditch wrote: > [EMAIL PROTECTED] wrote: > > Hi Jeremias, > > can you clarify some of the comments you made on this. It's not 100% > clear to me. > > <snip/> > > > ------- Additional Comments From [EMAIL PROTECTED] 2006-04-23 09:41 ------- > > Pierre-Henri, I've applied your patch with modifications. See: > > http://svn.apache.org/viewcvs?rev=396243&view=rev > > > > 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, > > however. > > Are you saying that forward references using page-number-citation is > broken when the Area being referenced spans multiple pages?
Not for page-number-citation, only for page-number-citation-last. > > > > 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? Ok, to be precise: page-number-citation(-last) references the first/last area generated by the formatting object with the "id" referenced by the "ref-id" property. So my "referencing an inline-level ID" is this: [..] <fo:inline id="myid">hiccup</fo:inline> [..] <fo:page-number-citation-last ref-id="myid"/> [..] > > > > 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? Hmm, doesn't matter to me. Jeremias Maerki