Understanding Conditionality of Borders
I'm trying to understand border conditionality. The text in the XSL spec is pretty brief and because of the way the properties are documented it isn't obvious that these conditions even exist unless you do a close reading of the spec. In section 4.3.1, Space-resolution Rules of XSL 1.0 there is this paragraph: "The border or padding at the before-edge or after-edge of a block-area B may be specified as conditional. If so, then it is set to zero if its associated edge is a leading edge in a reference-area, and the is-first trait of B is false, or if its associated edge is a trailing edge in a reference-area, and the is-last trait of B is false. In either of these cases, the border or padding is taken to be zero for purposes of the stacking constraint definitions." It isn't explicit, but given my experience with how border-width.conditionality="retain" works with XSL Formatter, my interpretation of the above is that when .conditionality="retain", it means that if a block spans two areas (e.g., spans a page), then, for example, the border-after border for that block is "retained" in the block for which is-last is false (that is, the occurrence before the page break). The default for conditionality is "discard". Is this understanding correct? Given that I probably never would have figured this out on my own had the folks at Antenna House not put me on to border-width.conditionality, I would urge the writers of XSL tutorials to include a discussion of this important but subtle aspect of XSL-FO. Thanks, Eliot -- W. Eliot Kimber, eliot@xxxxxxxxxx Consultant, ISOGEN International 1016 La Posada Dr., Suite 240 Austin, TX 78752 Phone: 512.656.4139 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format