On second thought, Jeremias, instead of arguing this, why don't we just compromise at 75pt. margins? ;)
Glen --- Glen Mazza <[EMAIL PROTECTED]> wrote: > --- Jeremias Maerki <[EMAIL PROTECTED]> > wrote: > > > Hi Luca, > > > > the reason for the effect you're seeing is the > > inheritance of > > start-indent and end-indent. In your exapmle, if > you > > specify a > > margin-left and margin-right on the > > simple-page-master, > > (margin-left and margin-right of 50pt each on > fo:s-p-m) > > > this results > > (corresponding properties) in a start-indent and > > end-indent of 50pt each. > > via the second set of formulas, because margins are > explicitly specified and fo:s-p-m does not generate > any area and hence does not generate a reference > area > (although it is used by fo:page-sequence to do so): > I > agree here. > > > > Now, because start|end-indent are inherited, > > region-body also starts > > with a start-indent and end-indent of 50pt which > > I agree, but these properties are not explicitly > specified on fo:region-body, so the first two sets > of > formulae are not relevant here. Nor would they be > anyway because I don't believe fo:region-bodies > generate reference areas. > > > > together with the > > parent's start-indent accumulates 100pt because > each > > of the FOs are > > generating a reference area. > > I don't think so here--I don't believe either > fo:s-p-m > or fo:region-body generate reference areas--indeed, > I > don't think anything located outside of > fo:page-sequence does. The spec says they are > *used* > to create a reference area, but they don't generate > one themselves. So maybe your calculations here may > need changing--because different formulae in 5.3.2 > would hence be activated. > > Section 6.1 [1] says "There are three kinds of > formatting objects: (1) those that generate areas, > (2) > those that return areas, but do not generate them, > and > (3) those that are used in the generation of areas." > > fo:s-p-m and fo:region-body are type (3), not type > (1). > > fo:s-p-m text: The fo:simple-page-master formatting > object generates no area directly. It is used in the > generation of pages by an fo:page-sequence. type (3) > > fo:r-b text: The fo:region-body formatting object > is > used to generate one region-viewport-area and one > region-reference-area whenever an > fo:simple-page-master that has an fo:region-body as > a > child is used to generate a page. (i.e., type 3) > > > [1] > http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo-section > > > > So in your case you could specify > > a margin="0pt" on > > the region-body which triggers the first formula > > given in 5.3.2. > > Again, I don't think so because fo:region-body never > generates a reference-area. Hence, with no explicit > specification of margin properites, the third set of > formulas then activates: > > margin-corresponding = start-indent - > inherited_value_of(start-indent) - > padding-corresponding - border-corresponding-width > > with the additional rule that: "If the > "start-indent" > or "end-indent" properties are not specified their > inherited value is used in these formulae." > > Since start-indent and end-indent were not > specified, > then we have: > > margin-corresponding = > inherited_value_of(start-indent) - > inherited_value_of(start-indent) - > padding-corresponding - border-corresponding-width, > > or zero for the margin properties on fo:region-body. > > (i.e., we just rely on the 50pt. on > simple-page-master.) > > So Luca is correct that both fo:simple-page-masters > should generate the same overall margins of 50 pt. > each, no? > > Thanks, > Glen > >