You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Jeremias Maerki <de...@jeremias-maerki.ch> on 2005/12/05 11:53:27 UTC

4.3.2 Overconstrained space-specifiers

You will have seen that I've been working on overconstrained documents.
5.3.4 Overconstrained Geometry is more or less implemented, so now I
need to have a look at 4.3.2 which proves quite difficult to understand.
At least I can't make much sense of it ATM. Here's what I found out so
far with a some help from Manuel via IM:

First of all, what's strange is that the situation in which
overconstrainment relaxing is applied is defined more or less by a
single example, and a wrong one at that:

"for example an incompletely-filled fo:block with a specified size."

The problem: fo:block can't have a specified size and therefore can't by
incompletely filled. The block-progression-dimension property doesn't
apply to fo:block. I assume fo:block-container was meant.

Take this example by Manuel:

<fo:block-container block-progression-dimension="100pt">
  <fo:block space-after="50pt" space-after.conditionality="retain">
    <fo:instream-foreign-object height="90pt" ...
  </fo:block>
</fo:block-container>

The contents make up 140pt together while the block-container is only
100pt high. A classic overflow scenario, but probably an overconstrained
area tree as described by 4.3.2. Assuming display-align="before", the
last normal child of P (= the last normal area of the block-container in
this case) has a space-after which is subject to overconstrainment
relaxing.

Ok, so we run this through rule 4 in space-resolution. That means we set
the maximum value of the space-specifier of the fo:block to the
block-progression-dimension of the containing block-area which is the
reference are of the block-container (= 100pt). Right? If yes, that
makes the space-after even bigger than before not helping the situation
at all.

Or what do you do here?

<fo:block-container block-progression-dimension="100pt">
  <fo:block space-after="50pt" space-after.conditionality="retain">
    <fo:instream-foreign-object height="90pt" ...
  </fo:block>
  <fo:block>test</fo:block>
</fo:block-container>

You don't even have a space-after on the last normal child anymore.

Bottom line: I don't get it.

If anyone has an idea what rule 4 in 4.3.1 or the section 4.3.2 is about
I'd love to read your thoughts. Otherwise, I will run this through the
XSL editors list.

Thanks,
Jeremias Maerki


Re: 4.3.2 Overconstrained space-specifiers

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Thanks, Luca. It does make sense but I'm having trouble mapping your
interpretation to what is written in the spec. I wonder: Do you agree
with me that my second example wouldn't be affected by the rules
described in 4.3.2? 

Anyway, I think I'm going to let this rest and instead concentrate on
detecting overflow situations. After all, this stuff here seems pretty
exotic.



On 09.12.2005 14:40:01 Luca Furini wrote:
> Jeremias Maerki wrote:
> 
> > You will have seen that I've been working on overconstrained documents.
> > 5.3.4 Overconstrained Geometry is more or less implemented, so now I
> > need to have a look at 4.3.2 which proves quite difficult to understand.
> > At least I can't make much sense of it ATM.
> > 
> > [...]
> > 
> > If anyone has an idea what rule 4 in 4.3.1 or the section 4.3.2 is about
> > I'd love to read your thoughts. Otherwise, I will run this through the
> > XSL editors list.
> 
> I always thought (probably wrongly) these sections of the spec refer to 
> the page regions, maybe because of the property display-align, and more as 
> a way to "formally justify" what is usually done than as prescribing some 
> particular behaviour.
> 
> To be more clear (I hope :-)): region viewports usually have a well-known 
> height (unless there is only a single page whose height is unbounded); 
> their area children don't always fill them completely.  The content areas 
> are placed at the top / center / bottom of the viewport according to the 
> value of display-align: but, as these extra spaces may be in contrast with 
> the space properties of the first and last child areas, we need, from a 
> formal point of view, a rule saying that we are allowed to do this, 
> otherwise the specs would be inconsistent.
> 
> In other words, I always read these rules as: "spaces added ad the top / 
> bottom of a page to implement display-align have greater precedence than 
> space-before or space-after traits of the child areas". According to me, 
> rule 4 should state something like this: "the maximum value of the 
> space-specifier is set to the difference between the containing height and 
> the content height".
> 
> Don't know if this makes any sense ...
> 
> Regards
>      Luca



Jeremias Maerki