- From: Paul Grosso <pgrosso@arbortext.com>
- Date: Sat, 23 Mar 2002 16:27:47 -0600
- To: "Arved Sandstrom" <asandstrom@accesswave.ca>, "'Www-Xsl-Fo" <www-xsl-fo@w3.org>
At 23:24 2002 03 22 -0500, Arved Sandstrom wrote: >I've got a question related to keeps. >Let's say that I have 2 >simple-page-masters defined: one called "small", with a fairly small >region-body, and one called "large", with a larger region-body. > >The flow content looks like > ><fo:block break-after="page">NOT MUCH STUFF</fo:block> > ><fo:block keep-together.within-page="1"> > .... QUITE A LOT OF STUFF .... ></fo:block> What you probably want to have here for the sake of your point is keep-together.within-page="always". With any lesser value, the implementation is allowed to say "well, the stylesheet says it would be nice to keep it together, but since there is too much to fit on the page, I guess I'll break it anyway." Back to your question, implementations are not expected to decide what page master to use based on keeps and/or the page size. The only conditions that are used to pick page masters are those "constraints of the corresponding sub-sequence specifier" and "There are three traits, page-position, odd-or-even, and blank-or-not-blank that specify the sub-conditions on the use of the referenced page-master." Therefore, an implementation would pick the page master based on those three traits, find out that its height is "small", discover that it's got a chunk kept together with a keep condition of strength 1 and that that chunk's height is greater than the height of the page, so it realizes it must ignore that keep condition. (The point of keep strengths is that, once keep conditions of strength 1 are ignored, then if there are sub-chunks of the whole chunk kept together with strength 2, the implementation would obey those and break between subchunks--unless a single subchunk were larger than a page, then it would have to ignore the keep condition on that subchunk and look for a break within that subchunk while attempting to obey all keep conditions therein of strength 3 or greater, etc.) If (and only if) the keep condition's strength were "always", then there would be an overflow condition on the page, and that would be handled by the implementation depending on the value of the overflow property (and note that only values of "auto" [user agent dependent] and "visible" are required to be supported). In no case would an overflow situation cause an implementation to choose another page master. paul >The fo:flow, for sake of simplicity, contains these only. Simple-page-master >(SPM) "small" cannot accommodate the second block, but SPM "large" can. >Furthermore, the containing page-sequence maps to > ><fo:page-sequence-master master-name="psm"> > <fo:single-page-master-reference master-reference="small"/> > <fo:single-page-master-reference master-reference="small"/> > <fo:repeatable-page-master-reference master-reference="large"/> ></fo:page-sequence-master>
Received on Saturday, 23 March 2002 17:28:19 UTC