OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Rotate Region Body for Landscape Pages


And that's why I should test before sending out suggestions.  8^)

That should be name="page.sequence", not "page-sequence" (use dot, not 
dash).

Bob Stayton
Sagehill Enterprises
bobs@sagehill.net


----- Original Message ----- 
From: "Leeloo5e" <leeloo5e79-docbook@yahoo.de>
To: <docbook-apps@lists.oasis-open.org>
Sent: Tuesday, July 08, 2008 5:41 AM
Subject: Re: [docbook-apps] Rotate Region Body for Landscape Pages


>
> Hi,
>
> thank you very much.
>
> First of all, one correction ...
> <xsl: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>
>  </xsl:variable> <!-- <<==============Add this line here after all the
> content -->
>
> I was wondering why the variable appendix.content can't be find while
> processing. Just the prefix xsl: was missing.
>
> Second one is: A template named page-sequence does not exist or something
> else ElemTemplateElement-Error: page-sequence
>
> <!-- And then add this template call -->
>  <xsl:call-template name="page-sequence">
>    <xsl:with-param name="content" select="$appendix.content"/>
>  </xsl:call-template>
>
> I tried to find the template called "page-sequence" but can't find it.
>
> Any further suggestions?
>
> Thanks,
> Best Regards,
> Lee
>
>
>
> Bob Stayton wrote:
>>
>> 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
>>>
>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> 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-tp18260338p18338317.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]