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

Reply via email to