[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Rotate Region Body for Landscape Pages
OK, your landscape page-masters are working, as indicated by the results when you put the attribute on the root element. The problem is that a page-master is applied at the page-sequence level, but an appendix inside an article does not generate its own page-sequence. The default assumption was that in an article, you don't want a page break when you start an appendix. To get your appendix to be landscaped, you'll need to change the behavior of the article template and the article/appendix template. Use something like this (untested) in a customization layer: At the end of the template with match="article" in fo/component.xsl, change <xsl:apply-templates/> </fo:flow> </fo:page-sequence> to: <xsl:apply-templates select="node()[not(self::appendix)]"/> </fo:flow> </fo:page-sequence> <xsl:apply-templates select="appendix"/> That excludes each appendix from the article's page-sequence and processes them after the article page-sequence ends. In the template with match="article/appendix", put all the content inside a variable, and then pass that as a parameter to the template named "page.sequence": <xsl:template match="article/appendix"> <xsl:variable name="id"> <xsl:call-template name="object.id"/> </xsl:variable> <xsl:variable name="title"> <xsl:apply-templates select="." mode="object.title.markup"/> </xsl:variable> <xsl:variable name="titleabbrev"> <xsl:apply-templates select="." mode="titleabbrev.markup"/> </xsl:variable> <variable name="appendix.content"> <!-- <<========= Add this line here --> <fo:block id='{$id}'> <xsl:if test="$axf.extensions != 0"> <xsl:attribute name="axf:outline-level"> ... <xsl:apply-templates/> </fo:block> </variable> <!-- <<==============Add this line here after all the content --> <!-- And then add this template call --> <xsl:call-template name="page-sequence"> <xsl:with-param name="content" select="$appendix.content"/> </xsl:call-template> That will put the appendix into its own page-sequence. Bob Stayton Sagehill Enterprises bobs@sagehill.net ----- Original Message ----- From: "Leeloo5e" <leeloo5e79-docbook@yahoo.de> To: <docbook-apps@lists.oasis-open.org> Sent: Friday, July 04, 2008 12:44 AM Subject: Re: [docbook-apps] Rotate Region Body for Landscape Pages > > Hi, > > thanks. I changed it and processed again. The appendix is still in > portrait > not in landscape. > > First processed it with FOP 0.95 beta on Windows-System. > Then processed it with xsltproc to generate a fo and have a look at this. > Finding the page-master-sequence in the fo file > > <fo:page-sequence-master > master-name="landscape"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference > master-reference="blank" > blank-or-not-blank="blank"/><fo:conditional-page-master-reference > master-reference="landscape-first" > page-position="first"/><fo:conditional-page-master-reference > master-reference="landscape-odd" > odd-or-even="odd"/><fo:conditional-page-master-reference > odd-or-even="even" > master-reference="landscape-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master> > > But the PDF-Output is still in portrait also when I processed the FO file > again with the latest build of FOP. > > Just add role="landscape" to my root article and processed again. Now the > whole pdf output is in landscape ... header and footer still portrait - > thats fine. > > The appendix I would like to output in landscape format is inside the root > article and this is still in normal format portrait ... Could be this the > reason? Should I create a separat appendix-file? > > Thank you very much. > Best Regards, > Lee > > > Bob Stayton wrote: >> >> Hi, >> Your customization worked for me. I copied and pasted this into a short >> customization (with one correction: your page-sequence-master was using >> body-odd instead of landscape-odd), and processed it with xsltproc and >> fop >> 0.95beta. When I put role="landscape" on chapter or appendix, they came >> out >> landscape in the PDF. >> >> You might take a peek inside your fo file to see if you are getting >> "landscape" on the page-sequence. That will tell you if something is >> going >> wrong with the stylesheet instead of fop. >> >> Bob Stayton >> Sagehill Enterprises >> bobs@sagehill.net >> >> >> ----- Original Message ----- >> From: <leeloo5e79-docbook@yahoo.de> >> To: <docbook-apps@lists.oasis-open.org> >> Sent: Thursday, July 03, 2008 7:11 AM >> Subject: [docbook-apps] Rotate Region Body for Landscape Pages >> >> >> Hello List, >> >> tried to set up a customized page sequence to rotate a region body. This >> Guide >> (http://www.sagehill.net/docbookxsl/PageDesign.html#LandscapePageSequence) >> was very helpful. So here my customizations: >> >> <xsl:template name="select.user.pagemaster"> >> <xsl:param name="element"/> >> <xsl:param name="pageclass"/> >> <xsl:param name="default-pagemaster"/> >> >> <xsl:choose> >> <xsl:when test="@role = 'landscape'">landscape</xsl:when> >> <xsl:otherwise> >> <xsl:value-of select="$default-pagemaster"/> >> </xsl:otherwise> >> </xsl:choose> >> </xsl:template> >> >> <xsl:template name="user.pagemasters"> >> <fo:simple-page-master master-name="landscape-first" >> page-width="{$page.width}" >> page-height="{$page.height}" >> margin-top="{$page.margin.top}" >> margin-bottom="{$page.margin.bottom}" >> margin-left="{$margin.left.inner}" >> margin-right="{$page.margin.outer}"> >> <xsl:if test="$axf.extensions != 0"> >> <xsl:call-template name="axf-page-master-properties"> >> <xsl:with-param name="page.master">body-first</xsl:with-param> >> </xsl:call-template> >> </xsl:if> >> <fo:region-body margin-bottom="{$body.margin.bottom}" >> margin-top="{$body.margin.top}" >> reference-orientation="90" >> column-gap="{$column.gap.body}" >> column-count="{$column.count.body}"> >> </fo:region-body> >> <fo:region-before region-name="xsl-region-before-first" >> extent="{$region.before.extent}" >> display-align="before"/> >> <fo:region-after region-name="xsl-region-after-first" >> extent="{$region.after.extent}" >> display-align="after"/> >> </fo:simple-page-master> >> >> <fo:simple-page-master master-name="landscape-odd" >> page-width="{$page.width}" >> page-height="{$page.height}" >> margin-top="{$page.margin.top}" >> margin-bottom="{$page.margin.bottom}" >> margin-left="{$margin.left.inner}" >> margin-right="{$page.margin.outer}"> >> <xsl:if test="$axf.extensions != 0"> >> <xsl:call-template name="axf-page-master-properties"> >> <xsl:with-param name="page.master">body-odd</xsl:with-param> >> </xsl:call-template> >> </xsl:if> >> <fo:region-body margin-bottom="{$body.margin.bottom}" >> margin-top="{$body.margin.top}" >> reference-orientation="90" >> column-gap="{$column.gap.body}" >> column-count="{$column.count.body}"> >> </fo:region-body> >> <fo:region-before region-name="xsl-region-before-odd" >> extent="{$region.before.extent}" >> display-align="before"/> >> <fo:region-after region-name="xsl-region-after-odd" >> extent="{$region.after.extent}" >> display-align="after"/> >> </fo:simple-page-master> >> >> <fo:simple-page-master master-name="landscape-even" >> page-width="{$page.width}" >> page-height="{$page.height}" >> margin-top="{$page.margin.top}" >> margin-bottom="{$page.margin.bottom}" >> margin-left="{$margin.left.outer}" >> margin-right="{$page.margin.inner}"> >> <xsl:if test="$axf.extensions != 0"> >> <xsl:call-template name="axf-page-master-properties"> >> <xsl:with-param name="page.master">body-even</xsl:with-param> >> </xsl:call-template> >> </xsl:if> >> <fo:region-body margin-bottom="{$body.margin.bottom}" >> margin-top="{$body.margin.top}" >> reference-orientation="90" >> column-gap="{$column.gap.body}" >> column-count="{$column.count.body}"> >> </fo:region-body> >> <fo:region-before region-name="xsl-region-before-even" >> extent="{$region.before.extent}" >> display-align="before"/> >> <fo:region-after region-name="xsl-region-after-even" >> extent="{$region.after.extent}" >> display-align="after"/> >> </fo:simple-page-master> >> >> <fo:page-sequence-master master-name="landscape"> >> <fo:repeatable-page-master-alternatives> >> <fo:conditional-page-master-reference master-reference="blank" >> >> blank-or-not-blank="blank"/> >> <fo:conditional-page-master-reference >> master-reference="landscape-first" >> page-position="first"/> >> <fo:conditional-page-master-reference master-reference="body-odd" >> odd-or-even="odd"/> >> <fo:conditional-page-master-reference >> odd-or-even="even"> >> <xsl:attribute name="master-reference"> >> <xsl:choose> >> <xsl:when test="$double.sided != >> 0">landscape-even</xsl:when> >> <xsl:otherwise>landscape-odd</xsl:otherwise> >> </xsl:choose> >> </xsl:attribute> >> </fo:conditional-page-master-reference> >> </fo:repeatable-page-master-alternatives> >> </fo:page-sequence-master> >> </xsl:template> >> >> Then I set in my Input-Docbook-XML-File the attribute role to landscape >> in >> the appendix tag like this >> >> <appendix role="landscape"> >> >> Next step was to generate output PDF with FOP 0.95 beta under Win and >> docbook-xsl-1.74.0. Result: Nothing. The appendix and integrated >> informaltable are still in portrait format. >> What is wrong? >> >> The very simplest way is to set orient=land to informaltable and this >> will >> rotate on page but with overfloating the page border ... :-( >> >> <informaltable orient="land"> >> >> Next step is using the PSMI from here >> http://www.cranesoftwrights.com/resources/psmi/index.htm. This changed >> last >> in 2003. Couldn't this included in the Docbook-XSL-Stylesheet? >> >> Any suggestions? >> >> Thanks. >> Best Regards, >> Lee >> >> >> >> __________________________________________________________ >> Gesendet von Yahoo! Mail. >> Dem pfiffigeren Posteingang. >> http://de.overview.mail.yahoo.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org >> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org >> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org >> >> >> > > -- > View this message in context: > http://www.nabble.com/Rotate-Region-Body-for-Landscape-Pages-tp18260338p18274560.html > Sent from the docbook apps mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]