Chris Bowditch a écrit :
> Andreas L Delmelle wrote:
> 
> <snip/>
> 
>>
>> The Rec in all its glory! :)
>> I wonder what this means for tables that don't have a block-container 
>> parent. Note that, since a block's b-p-d can't be specified, that 
>> leaves only block-container as a possible and reliable base 'block-
>> level FO that generates the closest area ancestor'. If there is no 
>> such block-container, the behavior of percentages would again be 
>> undefined. If there's only a parent block, then this would create a 
>> circular dependency, as you point out...

I don't think there is a circular dependency:

> XSL 1.1 says for percentages in block-progression-dimension:
> The percentage is calculated with respect to the corresponding dimension
> of the closest area ancestor that was generated by a block-level
> formatting object. If that dimension is not specified explicitly i.e.,
> it depends on content's block-progression-dimension), the value is
> interpreted as "auto".

Which I understand as changing the "n%" value of b-p-d for the current
object to "auto". So on Andrea's example:
<fo:table-row>
  <fo:table-cell number-columns-spanned="{all}">
  <fo:block-container block-progression-dimension.optimum="100%"
                      block-progression-dimension.minimum="0pt">
    <fo:block>&#xA0;</fo:block>
  </fo:block-container>
  </fo:table-cell>
</fo:table-row>

The height of the fo:block-container is 100% of the height of the
fo:table (the closest ancestor generating a block-area). As for fo:table
the only sensible value is "auto", then the height of this very
block-container is changed to "auto".

> 
> In the case where fo:table is a child of fo:block or fo:flow isn't the
> nearest ancestor reference area the fo:region-body? Whose bpd will be
> known.

To be precise, the nearest ancestor is the normal-flow-reference-area in
which the table relies, which has the size of its parent
span-reference-area, whose size generally is the size of the
main-reference-area (unless there are several spans) which generally has
the size of the region-body (unless there are before-floats or
footnotes) (see 6.4.14 fo:region-body). Follow me? ;-)
So yes the bpd should be known, unless there are several spans in which
case we can surely imagine a whole bunch of tricky situations with a mix
of auto and percentages, leaving the bpd undefined...


>> Besides that, mind that the native XSL property 'block-progression-
>> dimension' does not directly apply to table or table-row. That is, 
>> specifying block-progression-dimension="100%" on a table or table-row 
>> would (and should) not have any effect. Only the CSS-XSL hybrids 
>> 'height/min-height/max-height' apply to them. Now, these being CSS 
>> properties in origin, I think that either:
>> a) the first rule in 7.3 applies
>> "1. For properties defined in CSS2 referring to the "containing 
>> block", the content-rectangle of the closest ancestor block-area that 
>> is not a line-area is used."
>>
>> or b), the height property being mapped to XSL's block-progression-
>> dimension (or inline-progression-dimension), the fourth rule applies
>> "4. If the formatting object generating the identified area generates 
>> a sequence of such areas, the first area is used for the conversion."
>>
>> I'd put my money on a). Moreover, this is most likely why XSL 

So would I.


>> explicitly refers to CSS in its definition of height, since 
>> percentage heights for tables and table-rows in CSS are /not/ defined 
>> in terms of a containing block --they are undefined altogether :(
>>
>> b) seems to make matters even worse. It would again lead to a 
>> circular dependency for some tables that are direct descendants of 
>> the flow, since that 'first area' could correspond to the first area 
>> generated by the table itself... If not, then it could also be an 
>> area generated by a completely unrelated block (=first block in the 
>> flow) preceding the table...? Big Shrug indeed!

No, the block area in question would be the normal-flow-reference-area
above. Anyway I don't think there is a circular dependency in any case.
As I understand it, at least.


Vincent

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

Reply via email to