[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Using multiple columns based on content
At 2011-12-15 14:02 +0000, Struijk, Toon van der wrote:
Is it possible to switch between one or two columns on a specific page, based on the fact if content is available for a specific column. Yours is a very finicky problem that needs a lot of finesse to accomplish. The two XSL-FO examples below work, but I've only got them to work with Antenna House V5.3 (they do not work with Antenna House V4.3 or any other XSL-FO tool that I have on hand). Unfortunately due to mail list constraints I cannot post the two PDF files I've created from these XSL-FO files. If you don't have the software, I suspect you could download the evaluation version of Antenna House V5.3 and try these files with that. I've used a side float and intrusion-displace in order to mimic a second column that dynamically stops on the last page of content for the float. You've used the noun "column" but I cannot see a way of using page columns (with two different flows) or table columns (with two different cells) in order to give you what you want. I don't think the dynamic nature you need of the semantics are available to you using those approaches. There is no way to dynamically change the page geometry or the table geometry when content does or does not flow to the next page. Using a side float was a last-ditch effort that appears to work just fine (a bit to my surprise) based on my understanding of how side floats are supposed to work. "toon1.fo" has 2 pages, the first with the two apparent "columns" and the second with one. "toon2.fo" has 4 pages, the first three with two apparent "columns" and the last with one. You might find using a vendor's intermediate format or custom extension may help you, but I've only looked at this from the perspective of standard XSL-FO constructs. Of course, even with that, it depends on how vendors accommodate standard XSL-FO constructs. For example, I knew Antenna House supported page breaks in block containers in version 5, but I don't think any other tool supports this. I hope this helps. . . . . . . . . . . Ken p.s. does anyone know of a public anonymous place where one can post PDF files for sharing? <?xml version="1.0" encoding="US-ASCII"?><!--toon1.fo--> <root xmlns="http://www.w3.org/1999/XSL/Format" font-family="Times" font-size="20pt"> <layout-master-set> <simple-page-master master-name="frame" page-height="297mm" page-width="210mm" margin-top="15mm" margin-bottom="15mm" margin-left="15mm" margin-right="15mm"> <region-body region-name="frame-body"/> </simple-page-master> </layout-master-set> <page-sequence master-reference="frame"> <flow flow-name="frame-body"> <block intrusion-displace="block"> <float float="end"> <block-container inline-progression-dimension="80mm" background-color="#eeeeee" block-progression-dimension.minimum="250mm" font-style="italic"> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> </block-container> </float> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> </block> </flow> </page-sequence> </root> <?xml version="1.0" encoding="US-ASCII"?><!--toon2.fo--> <root xmlns="http://www.w3.org/1999/XSL/Format" font-family="Times" font-size="20pt"> <layout-master-set> <simple-page-master master-name="frame" page-height="297mm" page-width="210mm" margin-top="15mm" margin-bottom="15mm" margin-left="15mm" margin-right="15mm"> <region-body region-name="frame-body"/> </simple-page-master> </layout-master-set> <page-sequence master-reference="frame"> <flow flow-name="frame-body"> <block-container intrusion-displace="block"> <float float="end"> <block-container inline-progression-dimension="80mm" background-color="#eeeeee" block-progression-dimension.minimum="250mm" font-style="italic"> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> <block>This is the sidebar information with enough content to wrap the line</block> </block-container> </float> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> <block>This is a test of main content with enough content to wrap the line</block> </block-container> </flow> </page-sequence> </root>
|
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
|