You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Jeremias Maerki <de...@jeremias-maerki.ch> on 2005/12/01 12:53:56 UTC

Indent Inheritance and Collapsing Border Model

Hey gang,

There are two issues I'd like to discuss. They come from feedback from
customers:

The first concerns indent inheritance which I documented in [1]. It
turns out that most commercial implementations decided to deliberately
break indent inheritance to work around the expectations of
inexperienced XSL-FO users. This obviously breaks the specification and
it creates an interoperability issue. This becomes an issue, especially
since I know a few companies that would like switch from commercial
implementations back to Apache FOP now that it's "more usable" now. I've
asked the XSL WG in [2] on their updated opinion about the issue. There
are arguments in both directions.

So what I'd like to do is implement the alternative behaviour as a
configurable option in the FO tree. The default would still be what the
specification describes (see [1]), but users would be able to set a
switch that would make FOP reset start-indent and end-indent to zero in
cases where in the area tree a reference area boundary would be crossed
(block-containers and table-cell, mainly).

[1] http://wiki.apache.org/xmlgraphics-fop/IndentInheritance
[2] http://lists.w3.org/Archives/Public/xsl-editors/2005OctDec/0024.html


The second issue is about the collapsing border model. Currently, having
an fo:table with no explicit border-collapse="separate" results in a
warning message in the log as well as frequent exceptions due to the
fact that this border model not completely implemented. I would like to
modify the FO tree in a way that a table always reports being in
separate border model mode. The other idea would have been to change the
default but I don't particularly like that approach because it breaks
the spec. Obviously, this is only a temporary measure until the
collapsing border model becomes usable. I was recently thinking about
doing a scaled-down implementation which ignores the tricky interactions
between headers/footers and the table-body. But my priorities here are
not particularly high, so it might be some time until I get to this.

Any objections? Comments?

Thanks,
Jeremias Maerki


Re: Indent Inheritance and Collapsing Border Model

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Both proposed changes are now implemented. I'm not sure if I got
everything right WRT the indent behaviour. I guess I'll have to wait for
feedback from those people who wanted that "feature" in the first place.

http://svn.apache.org/viewcvs?rev=354763&view=rev
http://svn.apache.org/viewcvs?rev=354075&view=rev

On 01.12.2005 12:53:56 Jeremias Maerki wrote:
> Hey gang,
> 
> There are two issues I'd like to discuss. They come from feedback from
> customers:
> 
> The first concerns indent inheritance which I documented in [1]. It
> turns out that most commercial implementations decided to deliberately
> break indent inheritance to work around the expectations of
> inexperienced XSL-FO users. This obviously breaks the specification and
> it creates an interoperability issue. This becomes an issue, especially
> since I know a few companies that would like switch from commercial
> implementations back to Apache FOP now that it's "more usable" now. I've
> asked the XSL WG in [2] on their updated opinion about the issue. There
> are arguments in both directions.
> 
> So what I'd like to do is implement the alternative behaviour as a
> configurable option in the FO tree. The default would still be what the
> specification describes (see [1]), but users would be able to set a
> switch that would make FOP reset start-indent and end-indent to zero in
> cases where in the area tree a reference area boundary would be crossed
> (block-containers and table-cell, mainly).
> 
> [1] http://wiki.apache.org/xmlgraphics-fop/IndentInheritance
> [2] http://lists.w3.org/Archives/Public/xsl-editors/2005OctDec/0024.html
> 
> 
> The second issue is about the collapsing border model. Currently, having
> an fo:table with no explicit border-collapse="separate" results in a
> warning message in the log as well as frequent exceptions due to the
> fact that this border model not completely implemented. I would like to
> modify the FO tree in a way that a table always reports being in
> separate border model mode. The other idea would have been to change the
> default but I don't particularly like that approach because it breaks
> the spec. Obviously, this is only a temporary measure until the
> collapsing border model becomes usable. I was recently thinking about
> doing a scaled-down implementation which ignores the tricky interactions
> between headers/footers and the table-body. But my priorities here are
> not particularly high, so it might be some time until I get to this.
> 
> Any objections? Comments?
> 
> Thanks,
> Jeremias Maerki



Jeremias Maerki


Re: Indent Inheritance and Collapsing Border Model

Posted by Andreas L Delmelle <a_...@pandora.be>.
On Dec 1, 2005, at 12:53, Jeremias Maerki wrote:

Hi,

> There are two issues I'd like to discuss. They come from feedback from
> customers:
>
> The first concerns indent inheritance which I documented in [1].
> <snip />

+1 for making this configurable.

>
> [1] http://wiki.apache.org/xmlgraphics-fop/IndentInheritance
> [2] http://lists.w3.org/Archives/Public/xsl-editors/2005OctDec/ 
> 0024.html
>
>
> The second issue is about the collapsing border model. Currently,  
> having
> an fo:table with no explicit border-collapse="separate" results in a
> warning message in the log as well as frequent exceptions due to the
> fact that this border model not completely implemented. I would  
> like to
> modify the FO tree in a way that a table always reports being in
> separate border model mode.

Easiest way, I guess, would be to expand the already existing test in  
fo.flow.Table.bind()... Weird that this wasn't already being done. I  
must have read over that bit a hundred times, and never wondered  
about it, but indeed, it's almost like saying: "Not implemented, and  
now we're going to prove it to you by just continuing as if it  
were... Who knows, maybe you're lucky." :-)

+1

Cheers,

Andreas

Re: Indent Inheritance and Collapsing Border Model

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
On 01.12.2005 13:30:05 Luca Furini wrote:
> Jeremias Maerki wrote:
> 
> > The first concerns indent inheritance [...]
> > 
> > So what I'd like to do is implement the alternative behaviour as a 
> > configurable option in the FO tree. The default would still be what the 
> > specification describes (see [1]), but users would be able to set a 
> > switch that would make FOP reset start-indent and end-indent to zero in 
> > cases where in the area tree a reference area boundary would be crossed 
> > (block-containers and table-cell, mainly).
> 
> I agree with the need to provide users what they expect, but I did not 
> understand where this switch will be: 

I did not say.

> in the configuration file (+1) or in 
> the document itself as an extension property / element (not so 
> enthusiastic about that)?
> 
> In the first case the file would be correct, only its rendering will be 
> "deliberately wrong": the user is aware that he is requiring a 
> non-standard rendering *to the formatter*.
> 
> In the second the document itself would require a non-standard rendering, 
> which only our implementation will provide; in other words, it seems to me 
> that this solution would give the impression that the file itself is 
> enough to achieve the expected result, while it is not.
> 
> Or maybe you were thinking of something else?

No. The second idea would kill the effect of the change. Someone would
still have to modify a stylesheet to make it work with FOP. That is not
the idea. I assume it will be good enough to control the option via the
user agent and indirectly through the configuration file.

> > The second issue is about the collapsing border model. Currently, having 
> > an fo:table with no explicit border-collapse="separate" results in a 
> > warning message in the log as well as frequent exceptions due to the 
> > fact that this border model not completely implemented. I would like to 
> > modify the FO tree in a way that a table always reports being in 
> > separate border model mode. The other idea would have been to change the 
> > default but I don't particularly like that approach because it breaks 
> > the spec. Obviously, this is only a temporary measure until the 
> > collapsing border model becomes usable.
> 
> I agree with you, I prefer the first option.

Thanks for your feedback.


Jeremias Maerki