Re: XSL-FO: corresponding margin and space properties

Excellent point about the space-before/-after.contitionality.
We will add text, in the refinement section, that the mapping
from margins includes setting .contitionality to "retain".

We lack the values "auto" for space-before/after, but, since
they are defined to be zero in the block-progresion-dimension
in CSS2, if you specify margin-top/bottom, you will be setting the
space-before/after values in the refinement process, and they would
be set to the computed value instead of auto.

MURAKAMI Shinyu <murakami@nadita.com>@w3.org on 06/25/2001 12:08:58 PM

Sent by:  w3c-xsl-fo-sg-request@w3.org


To:   xsl-editors@w3.org
cc:
Subject:  XSL-FO: corresponding margin and space properties



The XSL CR spec says:

    5.3.2 Margin, Space, and Indent Properties

    The "space-before", and "space-after" properties (block-level
    formatting objects), "space-start", and "space-end" properties
    (inline-level formatting objects) are handled in the same way as
    the properties immediately above, but the corresponding absolute
    properties are in the set: "margin-top", "margin-bottom",
    "margin-left", and "margin-right".
    ...

I understand that in lr-tb writing-mode the correspondences are:
    space-before = margin-top    (block-level)
    space-after  = margin-bottom (block-level)
    space-start  = margin-left   (inline-level)
    space-end    = margin-right  (inline-level)

However, here is not clear about components of the compound space
datatype. How about space-before.precedence and space-before
.conditionality when margin-top is specified?

Naturally, the precedence and conditionality values should take the
initial values.

    space-before.minimum = value_of(margin-top)
    space-before.optimum = value_of(margin-top)
    space-before.maximum = value_of(margin-top)
    space-before.precedence = "0"
    space-before.conditionality = "discard"

But there is a problem. The space.conditionality="discard" feature
is not expected when margin properties are specified (at least in the
CSS model). For compatibility with CSS it should be modified as:

    space-before.minimum = value_of(margin-top)
    space-before.optimum = value_of(margin-top)
    space-before.maximum = value_of(margin-top)
    space-before.precedence = "0"
    space-before.conditionality = "retain" <--- CSS margin is not "discard"


I have another one question -- about "auto" value of margin properties.
The value "auto" is defined in the CSS-derived margin properties,
but in the corresponding space and indent properties, the "auto" value
is not defined.
The "auto" value of margin properties should be ignored?


Regards,

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

Received on Wednesday, 27 June 2001 13:09:46 UTC