Margin properties on region-body

Dear editors,

I've got some questions about the properties used to specify the
position of the region-body.

Most of the discussion in 6.4.13, as well as the illustration, uses the
"absolute" property names "margin-top", "margin-left", etc. to describe
the positioning of the region-body viewport rectangle relative to the
page-reference-area. However, the relative property names are also used,
for example:

"The inline-progression-dimension of the region-viewport-area is
determined by the inline-progression-dimension of the content-rectangle
of the page-reference-area minus the values of the start-indent and
end-indent traits of the region-master. ...

The block-progression-dimension of the region-viewport-area is
determined by the block-progression-dimension of the content-rectangle
for the page-reference-area minus the values of the space-before and
space-after traits of the region-master."

In theory, I find the use of the relative properties preferable, given
that the indents on the region-body are intended to leave space for the
side regions which are named using the writing-mode relative terms
(based on the writing-mode specified on the simple-page-master.)

However there a couple of slightly strange things involved with using
space-before/after and start/end-indent. It would be clearer to use
margin-start, etc, but I suppose you don't want to invent more
properties which aren't generallly useful (quite understandable.)

However the space properties are ranges rather than Lengths, whereas the
margin is a Length value. The obvious solution is to specify that
space-xxx.optimum will be used as the margin value.

Aside from the fact that the use of indent to specify page-master region
offsets doesn't feel very intuitive to me, the fact that indent is an
inherited property would seem to lead to unwanted behavior. Consider the
following case:

Neither start-indent nor the corresponding margin is specified on
region-body, but since start-indent is inherited, we look for a value on
the parent FO which is the simple-page-master. There we may well find a
value for the corresponding margin property. But this is clearly not
what is wanted!

I would suggest that when looking for a value for start-indent (or
end-indent), the inheritance hierarchy be broken at the first ancestor
FO which creates reference areas. In this case, this means that since
the parent of the region-body is a the s-p-m which creates reference
areas, the initial value (0) for start-indent is returned and not the
value of start-indent (or margin-x) on the s-p-m.

In fact, I believe this is a general principle concerning indent. For
example, a table can have indent which positions the table. But that
indent shouldn't generally be propagated to the table contents, since
table and table-cell are reference areas. 

Thank you for considering these issues,

Karen Lease
FOP'er
Senior Software Developer/Consultant
SPX Valley Forge

Received on Monday, 25 February 2002 03:31:54 UTC