On Mon, 2002-05-27 at 11:37, Bertrand Delacretaz wrote:
> Would this scenario be easy to implement?
> 
> startTable
>   startRow (maybe after all FOs for the row have been parsed)
>     startCell (maybe  after all FOs for the cell have been parsed)
>       start/end stuff for cell contents
>     endCell
>     more start/endCell
>   endRow
>   more start/endRow
> endTable
> 
> or do you mean just one startTable with row/columns contained in the FO?

If you need to output the row after all FOs for the row then you could
simply use the endRow to get the row and output its children.

I'm thinking of the start as setting up the current context and the
properties, then when others start it will belong to the current
context. The end can then indicate context and finish off the formatting
object and if easier then to handle the children and put everything into
the output.
These methods are called by the fo tree objects themselves as a result
of the FOTreeBuilder calling through the SAX events.

fo -> rtf
startTable -> setup table
endRow -> create row info in rtf
endTable -> end table in rtf

> I'd prefer many event calls, as the StructureHandler wouldn't need to know as 
> much about FOs in this case. Conceptually (and this might be useful for 
> concrete stuff like testing too), I think the StructureHandler needs to 
> be able to rebuild the XSL-FO structure with as little code as possible.
> 
> Maybe (if easier to implement or to avoid slowing down PDF 
> rendering) this "event generation" can be done by an intermediate component 
> that "decodes" the FOs and generates detailed events?

I think the fastest way to handle this would be to have a boolean where
if true it calls all start/end otherwise it only calls the ones required
by the layout structure handler.
I can't think of any better way without having two fo trees or something
slower being handled in the FOTreeBuilder.

I think the names should be StructureHandler, LayoutHandler, RTFHandler
etc.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to