Re: XSL:FO: Left ... Center ... Right

Subject: Re: XSL:FO: Left ... Center ... Right
From: "Nikolai Grigoriev" <grig@xxxxxxx>
Date: Sun, 17 Oct 1999 13:21:22 +0400
Yes, I think this is kinda abuse of inline-rules. Strictly speaking,
the flow as written in your example will generate output like this:

Left
Centre
Right

(sic!). This is because "the length of the rule shall expand
to fill any free space that remains on the current line" [WD 5.13.4.1];
we expect that the next item after the rule *will start a new line*.
(Please correct me if my interpretation is wrong).

In the former example from RenderX, the whole thing did work
because it was additionally wrapped into an <... inhibit-line-breaks="true">
sequence; in this situation, we have tacitly resolved the conflict by
shortening
the line, so that inhibit-line-break constraint remains satisfied; that's
why
last words in that example are pulled back to the same line as inline-rules.
I think that in your case, an inhibit-line-break wrapper is also needed.

Please note that this behaviour is specified nowhere in the specs,
and seems more like a proprietary workaround until some less
tricky technique is proposed. This also suffers from many drawbacks -
just think about  multiline constructs. (We have had no time to discuss
it properly in the list; sorry.)

To my mind, extending this even further (i.e. requiring, like in your
example, that in case of two inline-rules with length="auto" on the
same line, their lengths be equal) is a wrong way. We need
something neater for handling dot-filled tabs.

But, in your example, I don't understand why do you need
weirdnesses like this? The point in our example was to obtain
a dotted line filling the gap between two words: and you suppress it.
Just align things with tables - or, if you have none, with nested
lists ;-). You do have tables; so what's the problem?

Nikolai

-----Original Message-----
From: Sebastian Rahtz <sebastian.rahtz@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxx <xsl-list@xxxxxxxxxxxxxxxx>
Date: Sunday, October 17, 1999 3:08 AM
Subject: XSL:FO: Left ... Center ... Right


>What would FO fiends say is the right way of expressing
>
>Left               Centre                 Right
>
>in (for instance :-}) a running head?
>
>What I am using now is
>
>        <fo:static-content flow-name="xsl-after">
>          <fo:block>
>           <fo:linline-sequence>Left</fo:linline-sequence>
>           <fo:inline-rule rule-thickness="0pt"/>
>           <fo:linline-sequence>Centre</fo:linline-sequence>
>           <fo:inline-rule rule-thickness="0pt"/>
>           <fo:linline-sequence>Right</fo:linline-sequence>
>          </fo:block>
>        </fo:static-content>
>
>(based on a clue from Paul T). Is this plausible, or am I abusing the
>system? I'd be glad to hear how other FO writers plan to style such
>examples.
>
>sebastian
>
>
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread