mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-30 20:01:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1038 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1038 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
| <?xml version='1.0'?>
 | |
| <!-- 
 | |
| 
 | |
|   fo.xsl: FO specific customizations (as a base for pdf)
 | |
| 
 | |
| -->
 | |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 | |
|                 xmlns:fo="http://www.w3.org/1999/XSL/Format"
 | |
|                 version="1.0">
 | |
| 
 | |
| <xsl:import href="docbook/fo/docbook.xsl"/>
 | |
| <xsl:include href="common.xsl"/>
 | |
| 
 | |
| 
 | |
| <!-- Enable FOP extensions -->
 | |
| <xsl:param name="fop.extensions" select="1"/>
 | |
| 
 | |
| <!-- Adjust the paper-Type -->
 | |
| <xsl:param name="paper.type">
 | |
|  <xsl:choose>
 | |
|   <xsl:when test="$l10n.gentext.language='de' or
 | |
|                   $l10n.gentext.language='hu'">'A4'</xsl:when>
 | |
|   <xsl:otherwise>'USletter'</xsl:otherwise>
 | |
|  </xsl:choose>
 | |
| </xsl:param>
 | |
| 
 | |
| <!-- Don't move TITLEs to the left -->
 | |
| <xsl:param name="title.margin.left" select="'-0pc'"/>
 | |
| 
 | |
| 
 | |
| <!-- Let's give the terms in varlistentries enough space -->
 | |
| <xsl:param name="variablelist.as.blocks" select="1"/>
 | |
| 
 | |
| 
 | |
| <!-- ==========================   TOC   =================================== -->
 | |
| 
 | |
| <xsl:param name="toc.section.depth">0</xsl:param>
 | |
| 
 | |
| <!-- Supress the ",figure,example,equation" -->
 | |
| <xsl:param name="generate.toc">
 | |
| /appendix toc,title
 | |
| article/appendix  nop
 | |
| /article  toc,title
 | |
| book      toc,title
 | |
| chapter   toc,title
 | |
| part      toc,title
 | |
| /preface  toc,title
 | |
| qandadiv  toc
 | |
| qandaset  toc
 | |
| reference toc,title
 | |
| /sect1    toc
 | |
| /sect2    toc
 | |
| /sect3    toc
 | |
| /sect4    toc
 | |
| /sect5    toc
 | |
| /section  toc
 | |
| set       toc,title
 | |
| </xsl:param>
 | |
| 
 | |
| 
 | |
| <!-- ======================  PAGENUMBERS IN TOC  ========================= -->
 | |
| <!-- Give the following elements an id, so that the toc can point to them  -->
 | |
| <!-- Exception PART: Here the TOC in the part itself is added by hand -->
 | |
| 
 | |
| <!-- Correct page numbers for PARTS in main-TOC
 | |
|      and provide an own TOC in the several parts -->
 | |
| <xsl:template match="part">
 | |
|   <xsl:if test="not(partintro)">
 | |
|     <xsl:variable name="id">
 | |
|       <xsl:call-template name="object.id"/>
 | |
|     </xsl:variable>
 | |
|     <xsl:variable name="master-reference">
 | |
|       <xsl:call-template name="select.pagemaster"/>
 | |
|     </xsl:variable>
 | |
| 
 | |
|     <fo:page-sequence id="{$id}"
 | |
|                       hyphenate="{$hyphenate}"
 | |
|                       master-reference="{$master-reference}">
 | |
|       <xsl:attribute name="language">
 | |
|         <xsl:call-template name="l10n.language"/>
 | |
|       </xsl:attribute>
 | |
| 
 | |
|       <xsl:if test="not(preceding::chapter) and not(preceding::part)">
 | |
|         <xsl:attribute name="initial-page-number">1</xsl:attribute>
 | |
|       </xsl:if>
 | |
| 
 | |
|       <xsl:if test="$double.sided != 0">
 | |
|         <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
 | |
|       </xsl:if>
 | |
| 
 | |
|       <xsl:apply-templates select="." mode="running.head.mode">
 | |
|         <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|       </xsl:apply-templates>
 | |
|       <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|         <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|       </xsl:apply-templates>
 | |
| 
 | |
|       <fo:flow flow-name="xsl-region-body">
 | |
|         <fo:block id="{$id}">
 | |
|           <xsl:call-template name="part.titlepage"/>
 | |
|         </fo:block>
 | |
|     
 | |
|         <xsl:variable name="toc.params">
 | |
|           <xsl:call-template name="find.path.params">
 | |
|             <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|           </xsl:call-template>
 | |
|         </xsl:variable>
 | |
| 
 | |
|         <xsl:if test="contains($toc.params, 'toc')">
 | |
|           <xsl:call-template name="division.toc"/>
 | |
|         </xsl:if>
 | |
|       </fo:flow>
 | |
|     </fo:page-sequence>
 | |
|   </xsl:if>
 | |
|   <xsl:apply-templates/>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Correct page numbers for CHAPTERS in main-TOC -->
 | |
| <xsl:template match="chapter">
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="master-reference">
 | |
|     <xsl:call-template name="select.pagemaster"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:page-sequence id="{$id}"
 | |
|                     hyphenate="{$hyphenate}"
 | |
|                     master-reference="{$master-reference}">
 | |
|     <xsl:attribute name="language">
 | |
|       <xsl:call-template name="l10n.language"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:attribute name="format">
 | |
|       <xsl:call-template name="page.number.format"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="not(preceding::chapter
 | |
|                           or preceding::appendix
 | |
|                           or preceding::article
 | |
|                           or preceding::dedication
 | |
|                           or parent::part
 | |
|                           or parent::reference)">
 | |
|         <xsl:attribute name="initial-page-number">1</xsl:attribute>
 | |
|       </xsl:when>
 | |
|       <xsl:when test="$double.sided != 0">
 | |
|         <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
 | |
|       </xsl:when>
 | |
|     </xsl:choose>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.head.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
|     <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <fo:flow flow-name="xsl-region-body">
 | |
|       <fo:block id="{$id}">
 | |
|         <xsl:call-template name="chapter.titlepage"/>
 | |
|       </fo:block>
 | |
| 
 | |
|       <xsl:variable name="toc.params">
 | |
|         <xsl:call-template name="find.path.params">
 | |
|           <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:variable>
 | |
| 
 | |
|       <xsl:if test="contains($toc.params, 'toc')">
 | |
|         <xsl:call-template name="component.toc"/>
 | |
|         <xsl:call-template name="component.toc.separator"/>
 | |
|       </xsl:if>
 | |
|       <xsl:apply-templates/>
 | |
|     </fo:flow>
 | |
|   </fo:page-sequence>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- Correct page numbers for APPENDICES in main-TOC,
 | |
|      and make appendix 'Resources' landscape pages   -->
 | |
| <xsl:template match="appendix">
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="master-reference">
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="@id='resource'">
 | |
|         <xsl:value-of select="'landscape-first'"/>
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
|         <xsl:call-template name="select.pagemaster"/>
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:page-sequence id="{$id}"
 | |
|                     hyphenate="{$hyphenate}"
 | |
|                     master-reference="{$master-reference}">
 | |
|     <xsl:attribute name="language">
 | |
|       <xsl:call-template name="l10n.language"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:attribute name="format">
 | |
|       <xsl:call-template name="page.number.format"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="not(preceding::chapter
 | |
|                           or preceding::appendix
 | |
|                           or preceding::article
 | |
|                           or preceding::dedication
 | |
|                           or parent::part
 | |
|                           or parent::reference)">
 | |
|         <!-- if there is a preceding component or we're in a part, the -->
 | |
|         <!-- page numbering will already be adjusted -->
 | |
|         <xsl:attribute name="initial-page-number">1</xsl:attribute>
 | |
|       </xsl:when>
 | |
|       <xsl:when test="$double.sided != 0">
 | |
|         <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
 | |
|       </xsl:when>
 | |
|     </xsl:choose>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.head.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <fo:flow flow-name="xsl-region-body">
 | |
|       <fo:block id="{$id}">
 | |
|         <xsl:call-template name="appendix.titlepage"/>
 | |
|       </fo:block>
 | |
| 
 | |
|       <xsl:variable name="toc.params">
 | |
|         <xsl:call-template name="find.path.params">
 | |
|           <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:variable>
 | |
| 
 | |
|       <xsl:if test="contains($toc.params, 'toc')">
 | |
|         <xsl:call-template name="component.toc"/>
 | |
|         <xsl:call-template name="component.toc.separator"/>
 | |
|       </xsl:if>
 | |
|       <xsl:apply-templates/>
 | |
|     </fo:flow>
 | |
|   </fo:page-sequence>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Correct page numbers for the PREFACE in main-TOC -->
 | |
| <xsl:template match="preface">
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="master-reference">
 | |
|     <xsl:call-template name="select.pagemaster"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:page-sequence id="{$id}"
 | |
|                     hyphenate="{$hyphenate}"
 | |
|                     master-reference="{$master-reference}">
 | |
|     <xsl:attribute name="language">
 | |
|       <xsl:call-template name="l10n.language"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:attribute name="format">
 | |
|       <xsl:call-template name="page.number.format"/>
 | |
|     </xsl:attribute>
 | |
| 
 | |
|     <xsl:if test="$double.sided != 0">
 | |
|       <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
 | |
|     </xsl:if>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.head.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <fo:flow flow-name="xsl-region-body">
 | |
|       <fo:block id="{$id}">
 | |
|         <xsl:call-template name="preface.titlepage"/>
 | |
|       </fo:block>
 | |
| 
 | |
|       <xsl:variable name="toc.params">
 | |
|         <xsl:call-template name="find.path.params">
 | |
|           <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:variable>
 | |
|       <xsl:if test="contains($toc.params, 'toc')">
 | |
|         <xsl:call-template name="component.toc"/>
 | |
|         <xsl:call-template name="component.toc.separator"/>
 | |
|       </xsl:if>
 | |
| 
 | |
|       <xsl:apply-templates/>
 | |
|     </fo:flow>
 | |
|   </fo:page-sequence>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Correct page numbers for the REFERENCE in main-TOC -->
 | |
| <xsl:template match="reference">
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="master-reference">
 | |
|     <xsl:call-template name="select.pagemaster"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:page-sequence id="{$id}"
 | |
|                     hyphenate="{$hyphenate}"
 | |
|                     master-reference="{$master-reference}">
 | |
|     <xsl:attribute name="language">
 | |
|       <xsl:call-template name="l10n.language"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:attribute name="format">
 | |
|       <xsl:call-template name="page.number.format"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:if test="$double.sided != 0">
 | |
|       <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
 | |
|     </xsl:if>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.head.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
|     <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <fo:flow flow-name="xsl-region-body">
 | |
|       <fo:block id="{$id}">
 | |
|         <xsl:call-template name="reference.titlepage"/>
 | |
|       </fo:block>
 | |
| 
 | |
|       <xsl:variable name="toc.params">
 | |
|         <xsl:call-template name="find.path.params">
 | |
|           <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:variable>
 | |
| 
 | |
|       <xsl:if test="contains($toc.params, 'toc')">
 | |
|         <xsl:call-template name="component.toc"/>
 | |
|         <xsl:call-template name="component.toc.separator"/>
 | |
|       </xsl:if>
 | |
|     </fo:flow>
 | |
|   </fo:page-sequence>
 | |
|   <xsl:apply-templates/>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- ====================  END PAGENUMBERS IN TOC  ======================= -->
 | |
| 
 | |
| 
 | |
| <!-- Show also the level below <PART> (chapter) in the MAIN-TOC -->
 | |
| <xsl:template match="part" mode="toc">
 | |
|   <xsl:param name="toc-context" select="."/>
 | |
| 
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="cid">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="$toc-context"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:call-template name="toc.line"/>
 | |
| 
 | |
|   <xsl:variable name="nodes" select="chapter|appendix|preface|reference"/>
 | |
| 
 | |
|   <fo:block id="toc.{$cid}.{$id}"
 | |
|             start-indent="{count(ancestor::*)*$toc.indent.width}pt">
 | |
|     <xsl:apply-templates select="$nodes" mode="toc">
 | |
|       <xsl:with-param name="toc-context" select="$toc-context"/>
 | |
|     </xsl:apply-templates>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Create also an TOC for the FAQ-chapter (1)-->
 | |
| <xsl:template name="component.toc">
 | |
|   <xsl:param name="toc-context" select="."/>
 | |
| 
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="cid">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="$toc-context"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="nodes" select="section|sect1|refentry
 | |
|                                      |article|bibliography|glossary
 | |
|                                      |appendix
 | |
|                                      |qandaset"/>
 | |
|   <xsl:if test="$nodes">
 | |
|     <fo:block id="toc...{$id}"
 | |
|               xsl:use-attribute-sets="toc.margin.properties">
 | |
|       <xsl:call-template name="table.of.contents.titlepage"/>
 | |
|       <xsl:apply-templates select="$nodes" mode="toc">
 | |
|         <xsl:with-param name="toc-context" select="$toc-context"/>
 | |
|       </xsl:apply-templates>
 | |
|     </fo:block>
 | |
|   </xsl:if>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Create also an TOC for the FAQ-chapter (2) -->
 | |
| <xsl:template match="qandaset" mode="toc">
 | |
|   <xsl:param name="toc-context" select="."/>
 | |
| 
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="cid">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="$toc-context"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:block id="toc.{$cid}.{$id}">
 | |
|     <xsl:apply-templates select="qandaentry" mode="toc"/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- Create also an TOC for the FAQ-chapter (3) -->
 | |
| <xsl:template match="qandaentry" mode="toc">
 | |
|   <xsl:param name="toc-context" select="."/>
 | |
| 
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:variable name="label">
 | |
|     <xsl:apply-templates select="question" mode="label.markup"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:block text-align-last="justify"
 | |
|             end-indent="{$toc.indent.width}pt"
 | |
|             last-line-end-indent="-{$toc.indent.width}pt">
 | |
|     <fo:inline keep-with-next.within-line="always">
 | |
|       <fo:basic-link internal-destination="{$id}">
 | |
|         <xsl:if test="$label != ''">
 | |
|           <xsl:copy-of select="$label"/>
 | |
|           <xsl:value-of select="$autotoc.label.separator"/>
 | |
|         </xsl:if>
 | |
|         <xsl:value-of select="question/*[text()]"/>
 | |
|       </fo:basic-link>
 | |
|     </fo:inline>
 | |
|     <fo:inline keep-together.within-line="always">
 | |
|       <xsl:text> </xsl:text>
 | |
|       <fo:leader leader-pattern="dots"
 | |
|                  leader-pattern-width="3pt"
 | |
|                  leader-alignment="reference-area"
 | |
|                  keep-with-next.within-line="always"/>
 | |
|       <xsl:text> </xsl:text> 
 | |
|       <fo:basic-link internal-destination="{$id}">
 | |
|         <fo:page-number-citation ref-id="{$id}"/>
 | |
|       </fo:basic-link>
 | |
|     </fo:inline>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- =======================    END TOC   ================================= -->
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- =======================   TITLEPAGE  ================================= -->
 | |
| 
 | |
| <!-- delete the empty page in the titlepage -->
 | |
| <xsl:template name="book.titlepage">
 | |
|   <xsl:call-template name="book.titlepage.recto"/>
 | |
|   <xsl:call-template name="book.titlepage.before.verso"/>
 | |
|   <xsl:call-template name="book.titlepage.verso"/>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Correct the NAMELISTS (authors, editors, translators) -->
 | |
| <xsl:template name="book.titlepage.recto">
 | |
|   <xsl:apply-templates select="title" mode="book.titlepage.recto.auto.mode"/>
 | |
|   <xsl:apply-templates select="bookinfo" mode="php.contrib.lists"/>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="bookinfo/authorgroup" mode="php.contrib.lists">
 | |
|   <xsl:choose>
 | |
|     <xsl:when test="@id='authors'">
 | |
|       <fo:block  font-weight="bold" text-align="center" font-size="16pt" space-before="1.5in">
 | |
|         <xsl:call-template name="gentext">
 | |
|           <xsl:with-param name="key" select="'by'"/>
 | |
|         </xsl:call-template>
 | |
|       </fo:block>
 | |
|       <fo:block text-align="center" font-size="12pt" space-before="1em">
 | |
|         <xsl:call-template name="person.name.list"/>
 | |
|       </fo:block>
 | |
|     </xsl:when>
 | |
|     <xsl:when test="@id='editors'">
 | |
|       <fo:block  font-weight="bold" text-align="center" font-size="16pt" space-before="1.5in">
 | |
|         <xsl:call-template name="gentext">
 | |
|           <xsl:with-param name="key" select="'editedby'"/>
 | |
|         </xsl:call-template>
 | |
|       </fo:block>
 | |
|       <fo:block text-align="center" font-size="12pt" space-before="1em">
 | |
|         <xsl:call-template name="person.name.list"/>
 | |
|       </fo:block>
 | |
|     </xsl:when>
 | |
|     <xsl:when test="@id='translators'">
 | |
|       <fo:block text-align="center" font-weight="bold" font-size="12pt" space-before="1.5in">
 | |
|         <xsl:apply-templates select="collab[1]/collabname"/>
 | |
|       </fo:block>
 | |
|       <fo:block text-align="center" font-size="12pt" space-before="1em">
 | |
|         <xsl:apply-templates select="collab" mode="titlepage.mode"/>
 | |
|       </fo:block>
 | |
|     </xsl:when>
 | |
|     <xsl:otherwise>
 | |
|     </xsl:otherwise>
 | |
|   </xsl:choose>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="collab" mode="titlepage.mode">
 | |
|   <xsl:choose>
 | |
|     <xsl:when test="position()=last()">
 | |
|       <xsl:apply-templates/>
 | |
|     </xsl:when>
 | |
|     <xsl:when test="position() > 1">
 | |
|       <xsl:apply-templates/><xsl:text>, </xsl:text>
 | |
|     </xsl:when>
 | |
|     <xsl:otherwise>
 | |
|     </xsl:otherwise>
 | |
|   </xsl:choose>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Prevent the AUTHOR-LISTS from appearing also on the 2ND TITLEPAGE -->
 | |
| <xsl:template name="book.titlepage.verso">
 | |
|   <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
 | |
|   <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
 | |
|   <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
 | |
|   <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template name="book.verso.title">
 | |
|   <fo:block space-after="6.5in">
 | |
|     <xsl:value-of select="/book/title"/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- ==========================  END TITLEPAGE  =========================== -->
 | |
| 
 | |
| 
 | |
| <!-- ==================  REFERENCE/PARTINTRO TITLEPAGE  =================== -->
 | |
| 
 | |
| <!-- Suppress REFERENCE-TITLE on the the 2nd page -->
 | |
| <xsl:template match="reference/partintro">
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="ancestor::reference"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="master-reference">
 | |
|     <xsl:call-template name="select.pagemaster"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:page-sequence id="{$id}"
 | |
|                     hyphenate="{$hyphenate}"
 | |
|                     master-reference="{$master-reference}">
 | |
|     <xsl:attribute name="language">
 | |
|       <xsl:call-template name="l10n.language"/>
 | |
|     </xsl:attribute>
 | |
|     <xsl:if test="$double.sided != 0">
 | |
|       <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
 | |
|     </xsl:if>
 | |
| 
 | |
|     <xsl:apply-templates select="." mode="running.head.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
|     <xsl:apply-templates select="." mode="running.foot.mode">
 | |
|       <xsl:with-param name="master-reference" select="$master-reference"/>
 | |
|     </xsl:apply-templates>
 | |
| 
 | |
|     <fo:flow flow-name="xsl-region-body">
 | |
|       <xsl:call-template name="partintro.titlepage"/>
 | |
|       <xsl:variable name="toc.params">
 | |
|         <xsl:call-template name="find.path.params">
 | |
|           <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:variable>
 | |
|       <xsl:if test="contains($toc.params, 'toc')">
 | |
|         <xsl:apply-templates select="reference" mode="toc"/>
 | |
|       </xsl:if>
 | |
|       <xsl:apply-templates/>
 | |
|     </fo:flow>
 | |
|   </fo:page-sequence>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- ==================== END REFERENCE/PARTINTRO TITLEPAGE =================== -->
 | |
| 
 | |
| 
 | |
| <!-- Just to save space -->
 | |
| <xsl:template match="refsect1">
 | |
|   <fo:block>
 | |
|     <xsl:apply-templates/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="refsect1/title">
 | |
|   <fo:block font-family="{$title.font.family}" space-before="1em" space-after="0.9em" font-size="18pt" font-weight="bold">
 | |
|     <xsl:apply-templates/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="refnamediv/refpurpose">
 | |
|   <xsl:apply-templates/>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- Let NOTES look more similar to the html-dsssl-version -->
 | |
| <xsl:template match="simpara|para|title" mode="note.single.entry">
 | |
|   <xsl:apply-templates/>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- FIXME: It's just a simple assumption that the title is
 | |
|      always first, and the next node is always a (sim)para -->
 | |
| <xsl:template match="note">
 | |
|   <xsl:variable name="inlinepara">
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="count(title) = 0">
 | |
|         <xsl:apply-templates select="*[1]" mode="note.single.entry" />
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
|         <xsl:apply-templates select="*[2]" mode="note.single.entry" />
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </xsl:variable>
 | |
|   <fo:block space-before.minimum="0.8em"
 | |
|             space-before.optimum="1em"
 | |
|             space-before.maximum="1.2em"
 | |
|             start-indent="0.25in"
 | |
|             end-indent="0.25in">
 | |
|     <fo:block keep-with-next="always">
 | |
|       <fo:inline font-weight="bold">
 | |
|         <xsl:choose>
 | |
|           <xsl:when test="count(title) > 0">
 | |
|             <xsl:apply-templates select="title" mode="note.single.entry"/>
 | |
|           </xsl:when>
 | |
|           <xsl:otherwise>
 | |
|             <xsl:call-template name="gentext"/>
 | |
|           </xsl:otherwise>
 | |
|         </xsl:choose>
 | |
|         <xsl:text>: </xsl:text>
 | |
|       </fo:inline>
 | |
|       <xsl:copy-of select="$inlinepara"/>
 | |
|     </fo:block>
 | |
|       <xsl:choose>
 | |
|         <xsl:when test="$inlinepara != '' and count(title) > 0">
 | |
|           <xsl:apply-templates select="*[not(position() < 3)]" />
 | |
|         </xsl:when>
 | |
|         <xsl:when test="$inlinepara != '' and count(title) = 0">
 | |
|           <xsl:apply-templates select="*[not(position() < 2)]" />
 | |
|         </xsl:when>
 | |
|         <xsl:otherwise>
 | |
|           <xsl:apply-templates />
 | |
|         </xsl:otherwise>
 | |
|       </xsl:choose>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Make the PROTOTYPE an own paragraph -->
 | |
| <xsl:template match="methodsynopsis">
 | |
|   <fo:block font-size="11pt">
 | |
|     <xsl:apply-templates/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- Make the METHODNAMES bold  -->
 | |
| <xsl:template match="methodsynopsis/methodname">
 | |
|   <xsl:call-template name="inline.boldseq"/>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Make parameters just italic,
 | |
|      ital.-monoseq is hard to read -->
 | |
| <xsl:template match="parameter">
 | |
|   <xsl:call-template name="inline.italicseq"/>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- Make Methodparam's DEFAULT VALUES italic -->
 | |
| <xsl:template match="methodparam/initializer">
 | |
|   <xsl:text>=</xsl:text>
 | |
|   <xsl:call-template name="inline.italicseq"/>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- Make FUNCTIONS bold, add parenthesis, and if target
 | |
|      exists and it's no title, link them to their refentry  -->
 | |
| <xsl:template match="function">
 | |
|   <xsl:variable name="content">
 | |
|     <xsl:apply-templates/>
 | |
|     <xsl:text>()</xsl:text>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="targetid">
 | |
|     <xsl:value-of select="concat('function.', translate(string(current()),'_','-'))"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:call-template name="inline.boldseq">
 | |
|     <xsl:with-param name="content">
 | |
|       <xsl:choose>
 | |
|         <xsl:when test="ancestor::refentry/refnamediv/refname=translate(current(),
 | |
|                           'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')
 | |
|                         or count(/*/part[@id='funcref']/*/refentry[@id=$targetid]) = 0">
 | |
|           <xsl:copy-of select="$content"/>
 | |
|         </xsl:when>
 | |
|         <xsl:otherwise>
 | |
|           <fo:basic-link internal-destination="{$targetid}">
 | |
|             <xsl:copy-of select="$content"/>
 | |
|           </fo:basic-link>
 | |
|         </xsl:otherwise>
 | |
|       </xsl:choose>
 | |
|     </xsl:with-param>
 | |
|   </xsl:call-template>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- ===========================   F A Q  ================================= -->
 | |
| 
 | |
| <!-- Increase space for labels (for e.g. '10.10.') -->
 | |
| <xsl:template match="qandaset">
 | |
|   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
 | |
| 
 | |
|   <fo:block id="{$id}">
 | |
|     <xsl:if test="title">
 | |
|       <xsl:apply-templates select="title"/>
 | |
|     </xsl:if>
 | |
| 
 | |
|     <xsl:apply-templates select="*[name(.) != 'title'
 | |
|                                  and name(.) != 'qandadiv'
 | |
|                                  and name(.) != 'qandaentry']"/>
 | |
|     <xsl:apply-templates select="qandadiv"/>
 | |
| 
 | |
|     <xsl:if test="qandaentry">
 | |
|       <fo:list-block xsl:use-attribute-sets="list.block.spacing"
 | |
|                      provisional-distance-between-starts="2.8em"
 | |
|                      provisional-label-separation="0.2em">
 | |
|         <xsl:apply-templates select="qandaentry"/>
 | |
|       </fo:list-block>
 | |
|     </xsl:if>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Let FAQ-questions and answers look similar to the html-dsssl-version -->
 | |
| <xsl:template match="question/para|question/simpara">
 | |
|   <xsl:apply-templates/>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="question">
 | |
|   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
 | |
|   <xsl:variable name="entry.id">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="parent::*"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
 | |
|     <fo:list-item-label end-indent="label-end()"> 
 | |
|       <fo:block font-weight="bold">
 | |
|         <xsl:apply-templates select="." mode="label.markup"/>
 | |
|         <xsl:text>.</xsl:text>
 | |
|       </fo:block>
 | |
|     </fo:list-item-label>
 | |
|     <fo:list-item-body start-indent="body-start()">
 | |
|       <fo:block font-weight="bold">
 | |
|         <xsl:apply-templates select="*[local-name(.)!='label']"/>
 | |
|       </fo:block>
 | |
|     </fo:list-item-body>
 | |
|   </fo:list-item>
 | |
| </xsl:template>
 | |
| 
 | |
| <xsl:template match="answer">
 | |
|   <fo:list-item>
 | |
|     <fo:list-item-label end-indent="label-end()"> 
 | |
|       <fo:block/>
 | |
|     </fo:list-item-label>
 | |
|     <fo:list-item-body start-indent="body-start()">
 | |
|       <xsl:apply-templates/>
 | |
|     </fo:list-item-body>
 | |
|   </fo:list-item>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- =========================  END  F A Q  =============================== -->
 | |
| 
 | |
| 
 | |
| <!-- ========================= APPENDIX RESOURCES ========================= -->
 | |
| 
 | |
| <!-- Create page-master for landscape-pages,
 | |
|      is needed by the template 'appendix' above -->
 | |
| <xsl:template name="user.pagemasters">
 | |
|     <fo:simple-page-master master-name="landscape-first"
 | |
|                            page-width="{$page.height.portrait}"
 | |
|                            page-height="{$page.width.portrait}"
 | |
|                            margin-top="{$page.margin.inner}"
 | |
|                            margin-bottom="0.3in"
 | |
|                            margin-left="{$page.margin.bottom}"
 | |
|                            margin-right="{$page.margin.top}">
 | |
|       <fo:region-body margin-bottom="{$body.margin.bottom}"
 | |
|                       margin-top="{$body.margin.top}"
 | |
|                       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>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- Don't hyphenate function-names in Appendix 'Resources' -->
 | |
| <xsl:template match="row[ancestor::appendix[@id='resource']]">
 | |
|   <xsl:param name="spans"/>
 | |
| 
 | |
|   <fo:table-row hyphenate="false">
 | |
|     <xsl:call-template name="anchor"/>
 | |
| 
 | |
|     <xsl:apply-templates select="(entry|entrytbl)[1]">
 | |
|       <xsl:with-param name="spans" select="$spans"/>
 | |
|     </xsl:apply-templates>
 | |
|   </fo:table-row>
 | |
| 
 | |
|   <xsl:if test="following-sibling::row">
 | |
|     <xsl:variable name="nextspans">
 | |
|       <xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
 | |
|         <xsl:with-param name="spans" select="$spans"/>
 | |
|       </xsl:apply-templates>
 | |
|     </xsl:variable>
 | |
| 
 | |
|     <xsl:apply-templates select="following-sibling::row[1]">
 | |
|       <xsl:with-param name="spans" select="$nextspans"/>
 | |
|     </xsl:apply-templates>
 | |
|   </xsl:if>
 | |
| </xsl:template>
 | |
| 
 | |
| <!-- ======================= END APPENDIX RESOURCES ======================= -->
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- Some EXAMPLES need MORE SPACE, unify the
 | |
|      inner width of the several page-formats -->
 | |
| <xsl:param name="page.margin.inner">
 | |
|   <xsl:choose>
 | |
|     <xsl:when test="$paper.type = 'A4'">18mm</xsl:when>
 | |
|     <xsl:otherwise>20mm</xsl:otherwise>
 | |
|   </xsl:choose>
 | |
| </xsl:param>
 | |
| <xsl:param name="page.margin.outer">
 | |
|   <xsl:choose>
 | |
|     <xsl:when test="$paper.type = 'A4'">16mm</xsl:when>
 | |
|     <xsl:otherwise>19.9mm</xsl:otherwise>
 | |
|   </xsl:choose>
 | |
| </xsl:param>
 | |
| 
 | |
| 
 | |
| <xsl:attribute-set name="section.title.level1.properties">
 | |
|   <xsl:attribute name="font-size">20pt</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| <xsl:attribute-set name="section.title.level2.properties">
 | |
|   <xsl:attribute name="font-size">18pt</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| <xsl:attribute-set name="section.title.level3.properties">
 | |
|   <xsl:attribute name="font-size">14pt</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| <xsl:attribute-set name="section.title.level4.properties">
 | |
|   <xsl:attribute name="font-size">12pt</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| 
 | |
| <!-- Adjust size and spaces for titles of examples, figures, etc. -->
 | |
| <xsl:attribute-set name="formal.title.properties">
 | |
|   <xsl:attribute name="font-weight">bold</xsl:attribute>
 | |
|   <xsl:attribute name="font-size">11pt</xsl:attribute>
 | |
|   <xsl:attribute name="hyphenate">false</xsl:attribute>
 | |
|   <xsl:attribute name="space-before">2pt</xsl:attribute>
 | |
|   <xsl:attribute name="space-after">3pt</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| 
 | |
| 
 | |
| <!-- Show the titles of INDEXDIV and omit error-message -->
 | |
| <xsl:template name="indexdiv.title">
 | |
|   <xsl:param name="title"/>
 | |
|   <xsl:param name="titlecontent"/>
 | |
|   <fo:block margin-left="{$title.margin.left}"
 | |
| 	    font-size="16pt"
 | |
|             font-family="{$title.font.family}"
 | |
|             font-weight="bold"
 | |
|             keep-with-next.within-column="always"
 | |
|             space-before="10pt"
 | |
|             space-after="10pt">
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="$title">
 | |
|         <xsl:value-of select="$title"/>
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
|         <xsl:copy-of select="$titlecontent"/>
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <xsl:attribute-set name="block.spacing.small">
 | |
|   <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
 | |
|   <xsl:attribute name="space-before.minimum">0.2em</xsl:attribute>
 | |
|   <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
 | |
|   <xsl:attribute name="space-after.optimum">0.4em</xsl:attribute>
 | |
|   <xsl:attribute name="space-after.minimum">0.2em</xsl:attribute>
 | |
|   <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute>
 | |
| </xsl:attribute-set>
 | |
| 
 | |
| <!-- add width to fo:table to prevent fop-error, and
 | |
|      make smaller spacing before and after the list  -->
 | |
| <xsl:template match="simplelist">
 | |
|   <fo:table xsl:use-attribute-sets="block.spacing.small" width="100%">
 | |
|     <xsl:call-template name="simplelist.table.columns">
 | |
|       <xsl:with-param name="cols">
 | |
|         <xsl:choose>
 | |
|           <xsl:when test="@columns">
 | |
|             <xsl:value-of select="@columns"/>
 | |
|           </xsl:when>
 | |
|           <xsl:otherwise>1</xsl:otherwise>
 | |
|         </xsl:choose>
 | |
|       </xsl:with-param>
 | |
|     </xsl:call-template>
 | |
|     <fo:table-body>
 | |
|       <xsl:call-template name="simplelist.vert">
 | |
| 	<xsl:with-param name="cols">
 | |
| 	  <xsl:choose>
 | |
| 	    <xsl:when test="@columns">
 | |
| 	      <xsl:value-of select="@columns"/>
 | |
| 	    </xsl:when>
 | |
| 	    <xsl:otherwise>1</xsl:otherwise>
 | |
| 	  </xsl:choose>
 | |
| 	</xsl:with-param>
 | |
|       </xsl:call-template>
 | |
|     </fo:table-body>
 | |
|   </fo:table>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| <!-- Enable hyphenating URL's (for fop!) -->
 | |
| <xsl:param name="ulink.hyphenate" select="'​'"/>
 | |
| 
 | |
| <!-- Don't show the URL, if linked text=URL;  if
 | |
|      URL is shown, include it into the basic-link -->
 | |
| <xsl:template match="ulink" name="ulink">
 | |
|   <fo:basic-link xsl:use-attribute-sets="xref.properties">
 | |
|     <xsl:attribute name="external-destination">
 | |
|       <xsl:call-template name="fo-external-image">
 | |
|         <xsl:with-param name="filename" select="@url"/>
 | |
|       </xsl:call-template>
 | |
|     </xsl:attribute>
 | |
| 
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="count(child::node())=0 or
 | |
|                       normalize-space(string(.)) = @url">
 | |
|         <xsl:call-template name="hyphenate-url">
 | |
|           <xsl:with-param name="url" select="@url"/>
 | |
|         </xsl:call-template>
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
| 	    <xsl:apply-templates/>
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
| 
 | |
|     <xsl:if test="count(child::node()) != 0
 | |
|                   and normalize-space(string(.)) != @url
 | |
|                   and $ulink.show != 0">
 | |
|       <xsl:text> [</xsl:text>
 | |
|       <xsl:call-template name="hyphenate-url">
 | |
|         <xsl:with-param name="url" select="@url"/>
 | |
|       </xsl:call-template>
 | |
|       <xsl:text>]</xsl:text>
 | |
|     </xsl:if>
 | |
|   </fo:basic-link>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| 
 | |
| <!-- Align titles of chapters, appendices, etc. left
 | |
|      (to prevent the ugly spacing on long titles)   -->
 | |
| <xsl:template name="component.title">
 | |
|   <xsl:param name="node" select="."/>
 | |
|   <xsl:param name="pagewide" select="0"/>
 | |
|   <xsl:variable name="id">
 | |
|     <xsl:call-template name="object.id">
 | |
|       <xsl:with-param name="object" select="$node"/>
 | |
|     </xsl:call-template>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="title">
 | |
|     <xsl:apply-templates select="$node" mode="object.title.markup">
 | |
|       <xsl:with-param name="allow-anchors" select="1"/>
 | |
|     </xsl:apply-templates>
 | |
|   </xsl:variable>
 | |
|   <xsl:variable name="titleabbrev">
 | |
|     <xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
 | |
|   </xsl:variable>
 | |
| 
 | |
|   <xsl:if test="$passivetex.extensions != 0">
 | |
|     <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
 | |
|                     fotex-bookmark-level="2"
 | |
|                     fotex-bookmark-label="{$id}">
 | |
|       <xsl:value-of select="$titleabbrev"/>
 | |
|     </fotex:bookmark>
 | |
|   </xsl:if>
 | |
| 
 | |
|   <fo:block keep-with-next.within-column="always"
 | |
|             space-before.optimum="{$body.font.master}pt"
 | |
|             space-before.minimum="{$body.font.master * 0.8}pt"
 | |
|             space-before.maximum="{$body.font.master * 1.2}pt"
 | |
|             text-align="left"
 | |
|             hyphenate="false">
 | |
|     <xsl:if test="$pagewide != 0">
 | |
|       <xsl:attribute name="span">all</xsl:attribute>
 | |
|     </xsl:if>
 | |
|     <xsl:copy-of select="$title"/>
 | |
|   </fo:block>
 | |
| </xsl:template>
 | |
| 
 | |
| 
 | |
| 
 | |
| </xsl:stylesheet>
 |