XSL-FO: text-align on fo:block-container etc.

In the XSL CR spec the description of the text-align property seems to be 
insufficient.

The text-align should have two meanings:

  (a) how inline content of a block is aligned
  (b) how reference-area is aligned

In [7.14.9 "text-align"] of the spec only (a) is mentioned.
But (b) is also found in [6.6.5 fo:external-graphic],
[6.6.6 fo:instream-foreign-object] and [6.7.2 fo:table-and-caption].

    6.6.5 fo:external-graphic
    ...
    Once scaled, the reference-area is aligned with respect to the 
    viewport-area using the text-align and display-align traits.
    ...
    The following properties apply to this formatting object:
    ... [7.14.9 "text-align"] ...

    6.6.6 fo:instream-foreign-object
    ...(ditto)

    6.7.2 fo:table-and-caption
    ...
    The children of the areas generated by the fo:table-and-caption 
    are one or two areas; one for the table caption and one for the table 
    itself. They are placed relative to the content-rectangle of the 
    generated area as specified by the text-align trait.
    ...
    ...(but text-align is not found in this fo's property list)

That is, the text-align on fo:external-graphic aligns the graphic 
reference-area, and the text-align on fo:table-and-caption aligns 
the table-caption and the table reference-areas.

I have several questions.

How is the text-align="justify" treated? -- treated as "start"?

Is text-align applied to other formatting objects?
I think that the following formatting objects may have text-align property.

    fo:block-container
    fo:inline-container
    fo:table-and-caption
    fo:table-caption
    fo:table-cell

These formatting objects generate reference-areas that may contain child 
block-level reference-areas which the text-align may be applied to.

And more clarification note is needed.

<fo:block-container text-align="center" width="10cm">
  <fo:block-container text-align="end" width="5cm" 
                      start-indent="2cm" end-indent="1cm">
    ...
  </fo:block-container>
</fo:block-container>

How the inner area (5cm) aligned in the outer area (10cm)?
"center" aligned (specified on the outer block-container) or 
"end" aligned (specified on the inner block-container)?
(probably "center" is the answer but it is not very clear.)

And how about the effect of start-indent and end-indent?
(probably should be aligned between start-indent and end-indent)


Regards,

Shinyu Murakami
Antenna House XSL Formatter team
http://www.antennahouse.com

Received on Monday, 25 June 2001 13:05:20 UTC