XSO FO: Border/Padding conditionality

Dear xsl-editor

The XSL FO draft spec (WD-xsl-20000327) says the border-before-width,
border-after-width, padding-before and padding-after properties of 
block-level formatting objects may have <length-conditional> compound
values.

I have some question and requests about it.

<quote>
7.6.9 "border-before-width"
...
<length-conditional> 
A compound value specifying the width and any conditionality of the 
border for the before-edge.

The .length component is a <length>. The .conditionality component may 
be set to "discard" or "retain" to control if the border should be 0 or 
retained if it's associated edge is a leading-edge in a reference-area 
for areas generated from this formatting object that have an is-first 
value of "false". See [4.3 Spaces and Conditionality] for further 
details. The initial value of the .conditionality component is "retain".
</quote>


Question 1. Why the initial value is "retain"?

I think .conditionality="discard" is more convenient.

.conditionality="discard"
    +---------------+
    |The quick brown|
    |fox jumps over |
    
  (page-or-column-break here)
    
    |the lazy dog.  |
    +---------------+

      VS.

.conditionality="retain"
    +---------------+
    |The quick brown|
    |fox jumps over |
    +---------------+
  (page-or-column-break here)
    +---------------+
    |the lazy dog.  |
    +---------------+


Question 2. bug?
<quote>
4.3.1 Space-resolution Rules
...
The border or padding at the before-edge or after-edge of a block-area 
may be specified as conditional. If so, then it is set to zero if its 
associated edge is a leading or trailing edge in a reference-area. In 
this case, the border or padding is taken to be zero for purposes of the 
stacking constraint definitions.
</quote>

In this description, missing the is-first and is-last trait conditions.


Question 3. Inline-level border/padding conditionality

Why only block-level border/padding properties have <length-conditional>
values?  I think border-start-width, border-end-width, padding-start
and padding-end also should take <length-conditional> values.

.conditionality="discard"
              +-----
    The quick |brown
    ---+      +-----
    fox| jumps over 
    ---+
    the lazy dog.

        VS.

.conditionality="retain"
              +-----+
    The quick |brown|
    +---+     +-----+
    |fox| jumps over 
    +---+
    the lazy dog.

I think .conditionality="discard" is the initial value.


Thanks,
MURAKAMI Shinyu
murakami@nadita.com

Received on Tuesday, 16 May 2000 07:30:28 UTC