On Sep 10, 2005, at 21:33, Simon Pepping wrote:
Hi Simon,
You are asking a lot of questions. To most I have no answer, but I
have one reservation.
On Sat, Sep 10, 2005 at 01:41:05AM +0200, Andreas L Delmelle wrote:
The only downside is that certain information is lost. The tree
structure won't be the structure as specified in the source document,
but will actually correspond to another structure that yields exactly
the same results.
This bothers me. It may hinder proper calculation of property value
inheritance, which follows the tree as given by the user. We do
property refinement on the tree; other than that it is a precise
reflection of the user's fo document. I am reluctant to change that.
I understand your reluctance. I have similar reservations, which is
exactly why I'd rather gather more opinions on the matter before
proceeding.
Let me explain a bit further...
My idea is inspired by the way XEP performs this kind of normalization.
It does so by performing a pre-processing XSL transform on the FO
source document --so the actual input for XEP isn't always an exact
copy of the tree as defined in the user's document.
Since we have no such pre-processing step --and, of course, stealing
that idea is out of the question--, the only place we could perform
such normalization is precisely in our FOTree.
Besides that, nothing changes WRT hierarchy. The relationships between
the elements will stay the same, so inheritance/property refinement
shouldn't pose a problem.
Almost on the contrary, in a certain way, not performing such
normalization and deferring those matters to the layout package seems
to have precisely the effect of not being able to correctly refine the
properties in the FOTree itself --we'd always have to wait for layout,
which in turn seems to contradict the idea of having a FOTree module
that doesn't depend on any particular layout engine (if this idea is
still relevant, that is...).
IMO, the least the FOTree should be able to provide is the correct
initial values for the properties, which becomes next to impossible if
the mentioned issues are dealt with only when layout begins.
Cheers,
Andreas