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.
---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org