Well, section.container.element approach worked like a charm. Thanks Bob! For the sake of simplicity, I modified the section template to use the RenderX extension and I'll tell the authors to locate the tables in question in standalone sections.
Nice to know about PSMI approach; I'll be writing some layout-intensive publishing scripts from scratch later this year and that looks very well suited to the task. Cheers, Jeff. -----Original Message----- From: Bob Stayton [mailto:b...@sagehill.net] Sent: September-05-13 9:27 AM To: Jeff Hooker; docbook-apps@lists.oasis-open.org Subject: Re: [docbook-apps] PDF Output: calling a different page master for a specific element Hi Jeff, Your requirement is not unusual, but the XSL-FO standard was not written to allow nested page-sequences. The extensions developed by XEP and Antenna House try to correct for that limitation. A new page-sequence always starts a new page, so DocBook XSL does not allow that in the middle of a chapter or section where you want content to flow. Also, it is tricky in XSLT to convert a hierarchy into a flat sequence for arbitrary depths of nesting. One option you could try is to set the stylesheet param 'section.container.element' from block to wrapper. Then section will not start a new block. If your content is a direct child of chapter or section (not in a para), then the table will be a direct child of the flow. See this section for more information: http://www.sagehill.net/docbookxsl/MultiColumns.html#PageColSpans Otherwise, you'll need to look at PSMI. Restarting a flow in the middle of a page-sequence is what the PSMI scheme does. It terminates one page sequence, inserts a new one for the table, and then restarts the previous page-sequence with the rest of the material. It's quite brilliant, and actually works. Bob Stayton Sagehill Enterprises b...@sagehill.net -------------------------------------------------- From: "Jeff Hooker" <jeff.hoo...@pmcs.com> Sent: Thursday, September 05, 2013 9:03 AM To: "Bob Stayton" <b...@sagehill.net>; <docbook-apps@lists.oasis-open.org> Subject: RE: [docbook-apps] PDF Output: calling a different page master for a specific element > Hi Bob, > > I'm using XEP, so the rx:flow-section container is available to me. > The RenderX docs, though state that is must be a direct child of > fo:flow, which brings me back to only being able to inflict my will on > children of the root node rather than their descendants, and the > elements I want to format could be buried an any depth in the document. > > This is the same issue I have with the approach in Docbook XSL; it > appears to be limited to calling custom page masters at the same point > that normal page-sequence-masters would be called, which I'm sure is > useful, just not in my context. > > I have successfully set up page masters and had them applied to the > elements of the document that matter to me, but I'm still doing > something wrong because XEP simply drops them from the document. I can > see them in FO, but not in the PDF. I think my misunderstanding could > be in how to restart a flow; restarting the flow is necessary for > changing page-squence-masters, correct? > > I feel like I must be missing something basic here. Is this > requirement really so unusual? > > Cheers, > Jeff. > > -----Original Message----- > From: Bob Stayton [mailto:b...@sagehill.net] > Sent: September-04-13 3:02 PM > To: Jeff Hooker; docbook-apps@lists.oasis-open.org > Subject: Re: [docbook-apps] PDF Output: calling a different page > master for a specific element > > Hi Jeff, > If you are using XEP for your XSL-FO processor, you can use the > rx:flow-section extension element provided by RenderX that is like a > block that supports multiple columns. > > If you are using Antenna House, you can use their extension that > allows a axf:column-count property on an fo:block-container. > > If you are using FOP, it is possible, but not easy. As you found, the > basic problem is that the page column layout is defined in the > page-master, but you can only change page-masters when you start a new > page-sequence. But chapters start new page-sequences, not tables. > > There is a workaround for FOP. G. Ken Holman of Crane Softwrights Ltd. > has published a method for breaking up a single page-sequence into multiple > page-sequences with different masters. His Page Sequence Master > Interleave > (PSMI) method introduces an intermediate XSL process to rearrange the > pages in an FO file. PSMI is described at > http://www.cranesoftwrights.com/resources/psmi/index.htm. > > Bob Stayton > Sagehill Enterprises > b...@sagehill.net > > -------------------------------------------------- > From: "Jeff Hooker" <jeff.hoo...@pmcs.com> > Sent: Wednesday, September 04, 2013 2:36 PM > To: <docbook-apps@lists.oasis-open.org> > Subject: [docbook-apps] PDF Output: calling a different page master > for a specific element > >> Hi all, >> >> I'd like to call a specific page master for an element that contains >> a specific attribute value. Essentially, if for long, narrow tables I >> want to be able to call a three-column page master that prevents it >> from flowing over a 100 pages when 33 would do. I'm having issues >> figuring out how to call the new master, and a certain degree of >> difficulty understanding the exact hierarchy I'm working with here. >> >> I've been puzzling over the references in Docbook XSL trying to >> understand how to apply them to this case, but have so far come up >> dry. Has anyone written up a good explanation of this somewhere? >> >> Cheers, >> Jeff. >> >