Re: [xsl] More free-form layouts - side-by-side

Subject: Re: [xsl] More free-form layouts - side-by-side
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 23 Jan 2015 14:13:42 -0000
At 2015-01-23 12:23 +0000, Kerry, Richard richard.kerry@xxxxxxxx wrote:
What I'm not at all clear about is the meaning of the block-progression-dimension attributes.

In our writing direction it is the height. It is the dimension of the block when heading in the block-progression direction (that is, the direction that blocks and lines stack - remember I told you about how lines are adjacently stacked), as opposed to the inline-progression direction (that is, the direction that inline areas stack) which in our writing direction is the width.


It's absolutely clear that they are necessary - if I remove any one of them from the inner block-containers then its block-container collapses to the height of the text block it contains. If I remove it from the outermost one then the whole block as displayed collapses to the height of any one of the line blocks.

Yep!


I can't find a clear explanation of what block-progression-dimension does and what its parameter means.

Its parameter is just a length value. The length can be absolute or relative, and when relative it is relative to the surrounding reference area. Block containers are examples of formatting objects that create reference areas (blocks are not). Yet more foundations you need to know to use the power XSL-FO makes available.


Also I note that the bottom two block-containers (yellow and purple), with block-progression-dimension as given, stretch to the bottom of the page, not its margins.

Yes, because you haven't indicated what to do when the block overflows. Use overflow="hidden" on the block-container if you don't want your overflow content to be seen. The container is the height that you've set, you just haven't stated all of the contingencies for the data that you are asking to be formatted. I tell my students your responsibility as a stylesheet writer is to think of the contingencies you need to accommodate the data you are asking to be formatted. So what I teach are the contingencies available so that a student can accommodate any situation they find themselves in. I think that equips the student better than doing a few set situations with limited recipes ... a cookbook only teaches the end result to cook by example, not by theory. So I don't have any cookbook approaches to XSL-FO. For some learners, that approach works really well, but they have to be given the precise recipe to follow.


There are many other things you can do with the container, such as set a minimum height for the container but have it grow if needed (perhaps you are setting an exam quiz and you need minimum areas where students write in answers but you don't know how long the questions are):

block-progression-dimension="2cm" block-progression-dimension.maximum="100%"

It is all there in the combinations of the properties.

Using FOP.

I cannot comment on its conformance, I've never used it for my many clients over the years nor any time in the classroom (74 deliveries).


There is helpful information about directions and stacking on on pages 85-87 (A4 version) of my XSL-FO book that is available for free download on a "try and buy" basis at http://www.CraneSoftwrights.com/training/#pfux ... if you decide not to pay for the book, please delete the copy that you download for free. The hyperlinked index is also helpful, and the book hyperlinks out to the W3C specification for more detail.

. . . . . . . Ken


-- Check our site for free XML, XSLT, XSL-FO and UBL developer resources | Free 5-hour lecture: http://www.CraneSoftwrights.com/links/video.htm | Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ | G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx | Google+ profile: http://plus.google.com/+GKenHolman-Crane/about | Legal business disclaimers: http://www.CraneSoftwrights.com/legal |


--- This email has been checked for viruses by Avast antivirus software. http://www.avast.com

Current Thread