keep-*="always" seems to be ambiguous

In a recent discussion on FOP-land, it turned out that the "always"
value for the keep-* properties can be interpreted in two directions:

1. keep conditions with a strength of "always" may never be relaxed
simply based on the value's name: "always". Only numeric keep strengths
may be relaxed.

2. keep conditions with a strength of "always" may be relaxed if they
cannot be satisfied. This view is based on the wording in the last
paragraph of [1], ignoring the implicit meaning of the word "always".
"always" in this case is simply a value that's stronger than any other
value (this is also backed by the spec text).

[1] http://www.w3.org/TR/xsl11/#keepbreak

A quick test reveals that some implementations use interpretation 1 and
risk overflowing a page in b-p-direction, for example. Other
implementations use interpretation 2 and relax the keep constraint to
avoid overflow.

G. Ken Holman asked the same question last year but he didn't get an
answer: http://lists.w3.org/Archives/Public/xsl-editors/2005AprJun/0028

Could anyone please shed some light on the intended behaviour here?

Thanks,
Jeremias Maerki

Received on Monday, 10 July 2006 12:22:02 UTC