2 Generates single FO document from DocBook XML source using DocBook XSL
5 See xsl-stylesheets/fo/param.xsl for all parameters.
7 NOTE: The URL reference to the current DocBook XSL stylesheets is
8 rewritten to point to the copy on the local disk drive by the XML catalog
9 rewrite directives so it doesn't need to go out to the Internet for the
10 stylesheets. This means you don't need to edit the <xsl:import> elements on
11 a machine by machine basis.
13 <xsl:stylesheet version="1.0"
14 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
15 xmlns:fo="http://www.w3.org/1999/XSL/Format">
16 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
17 <xsl:import href="common.xsl"/>
18 <xsl:include href="titlepage.templates.xsl"/>
19 <xsl:include href="footer.templates.xsl"/>
21 <xsl:param name="ulink.show" select="0" />
22 <xsl:param name="ulink.footnotes" select="1"/>
24 <xsl:param name="fop1.extensions" select="1" />
25 <xsl:param name="variablelist.as.blocks" select="1" />
27 <xsl:param name="paper.type" select="'USletter'"/>
29 <xsl:param name="hyphenate">false</xsl:param>
30 <!-- justify, left or right -->
31 <xsl:param name="alignment">left</xsl:param>
33 <xsl:param name="body.font.family" select="'Open Sans Light,sans-serif'"/>
34 <xsl:param name="title.font.family" select="'Open Sans Light,sans-serif'"/>
35 <xsl:param name="monospace.font.family" select="'DejaVu Sans Mono,monospace'"/>
36 <xsl:param name="body.font.master">11</xsl:param>
37 <xsl:param name="body.font.size">
38 <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
41 <xsl:param name="body.margin.bottom" select="'0.5in'"/>
42 <xsl:param name="body.margin.top" select="'0.5in'"/>
43 <xsl:param name="bridgehead.in.toc" select="0"/>
44 <xsl:param name="footer.column.widths">10 1 1</xsl:param>
46 <!-- Default fetches image from Internet (long timeouts) -->
47 <xsl:param name="draft.watermark.image" select="''"/>
50 <xsl:template match="processing-instruction('asciidoc-br')">
54 <!-- Horizontal ruler -->
55 <xsl:template match="processing-instruction('asciidoc-hr')">
56 <fo:block space-after="1em">
57 <fo:leader leader-pattern="rule" rule-thickness="0.5pt" rule-style="solid" leader-length.minimum="100%"/>
61 <!-- Hard page break -->
62 <xsl:template match="processing-instruction('asciidoc-pagebreak')">
63 <fo:block break-after='page'/>
66 <!-- Sets title to body text indent -->
67 <xsl:param name="body.start.indent">
69 <xsl:when test="$fop.extensions != 0">0pt</xsl:when>
70 <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
71 <xsl:otherwise>1pc</xsl:otherwise>
74 <xsl:param name="title.margin.left">
76 <xsl:when test="$fop.extensions != 0">-1pc</xsl:when>
77 <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
78 <xsl:otherwise>0pt</xsl:otherwise>
81 <xsl:param name="page.margin.bottom" select="'0.25in'"/>
82 <xsl:param name="page.margin.inner">
84 <xsl:when test="$double.sided != 0">0.75in</xsl:when>
85 <xsl:otherwise>0.75in</xsl:otherwise>
88 <xsl:param name="page.margin.outer">
90 <xsl:when test="$double.sided != 0">0.5in</xsl:when>
91 <xsl:otherwise>0.5in</xsl:otherwise>
95 <xsl:param name="page.margin.top" select="'0.5in'"/>
96 <xsl:param name="page.orientation" select="'portrait'"/>
97 <xsl:param name="page.width">
99 <xsl:when test="$page.orientation = 'portrait'">
100 <xsl:value-of select="$page.width.portrait"/>
103 <xsl:value-of select="$page.height.portrait"/>
108 <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
109 <xsl:param name="table.frame.border.color">#78079a</xsl:param>
110 <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
111 <xsl:param name="table.cell.border.thickness">0.5pt</xsl:param>
112 <xsl:param name="table.cell.border.color">#78079a</xsl:param>
113 <xsl:param name="table.cell.border.with.css" select="1"/>
115 <xsl:attribute-set name="component.title.properties">
116 <xsl:attribute name="font-size">
117 <xsl:value-of select="$body.font.master * 1.61051"/>
118 <xsl:text>pt</xsl:text>
122 <xsl:attribute-set name="section.title.level1.properties">
123 <xsl:attribute name="font-size">
124 <xsl:value-of select="$body.font.master * 1.4641"/>
125 <xsl:text>pt</xsl:text>
129 <xsl:attribute-set name="section.title.level2.properties">
130 <xsl:attribute name="font-size">
131 <xsl:value-of select="$body.font.master * 1.331"/>
132 <xsl:text>pt</xsl:text>
136 <xsl:attribute-set name="section.title.level3.properties">
137 <xsl:attribute name="font-size">
138 <xsl:value-of select="$body.font.master * 1.21"/>
139 <xsl:text>pt</xsl:text>
143 <xsl:attribute-set name="section.title.level4.properties">
144 <xsl:attribute name="font-size">
145 <xsl:value-of select="$body.font.master * 1.1"/>
146 <xsl:text>pt</xsl:text>
150 <xsl:attribute-set name="copyright.title.properties">
151 <xsl:attribute name="font-size">11pt</xsl:attribute>
152 <xsl:attribute name="font-weight">bold</xsl:attribute>
153 <xsl:attribute name="text-align">center</xsl:attribute>
156 <xsl:attribute-set name="revhistory.title.properties">
157 <xsl:attribute name="font-size">11pt</xsl:attribute>
158 <xsl:attribute name="font-weight">bold</xsl:attribute>
159 <xsl:attribute name="text-align">center</xsl:attribute>
162 <xsl:attribute-set name="revhistory.table.properties">
163 <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute>
164 <xsl:attribute name="width">50%</xsl:attribute>
167 <xsl:attribute-set name="revhistory.table.cell.properties">
168 <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute>
169 <xsl:attribute name="font-size">11pt</xsl:attribute>
170 <xsl:attribute name="padding">2pt</xsl:attribute>
173 <xsl:attribute-set name="monospace.properties">
174 <xsl:attribute name="font-size">11pt</xsl:attribute>
177 <xsl:attribute-set name="component.title.properties">
178 <xsl:attribute name="font-weight">normal</xsl:attribute>
179 <xsl:attribute name="color">#78079a</xsl:attribute>
182 <xsl:attribute-set name="section.title.properties">
183 <xsl:attribute name="font-weight">normal</xsl:attribute>
184 <xsl:attribute name="color">#78079a</xsl:attribute>
187 <xsl:attribute-set name="admonition.title.properties">
188 <xsl:attribute name="font-weight">normal</xsl:attribute>
189 <xsl:attribute name="color">#ff4040</xsl:attribute>
192 <xsl:attribute-set name="formal.title.properties">
193 <xsl:attribute name="font-weight">normal</xsl:attribute>
194 <xsl:attribute name="color">#78079a</xsl:attribute>
197 <xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties">
198 <xsl:attribute name="border-style">solid</xsl:attribute>
199 <xsl:attribute name="border-width">1pt</xsl:attribute>
200 <xsl:attribute name="border-color">silver</xsl:attribute>
201 <xsl:attribute name="background-color">#ffffee</xsl:attribute>
202 <xsl:attribute name="padding-left">12pt</xsl:attribute>
203 <xsl:attribute name="padding-right">12pt</xsl:attribute>
204 <xsl:attribute name="padding-top">6pt</xsl:attribute>
205 <xsl:attribute name="padding-bottom">6pt</xsl:attribute>
206 <xsl:attribute name="margin-left">0pt</xsl:attribute>
207 <xsl:attribute name="margin-right">12pt</xsl:attribute>
208 <xsl:attribute name="margin-top">6pt</xsl:attribute>
209 <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
212 <!-- Only shade programlisting and screen verbatim elements -->
213 <xsl:param name="shade.verbatim" select="1"/>
214 <xsl:attribute-set name="shade.verbatim.style">
215 <xsl:attribute name="background-color">
217 <xsl:when test="self::programlisting|self::screen">#ffffff</xsl:when>
218 <xsl:otherwise>inherit</xsl:otherwise>
224 Force XSL Stylesheets 1.72 default table breaks to be the same as the current
225 version (1.74) default which (for tables) is keep-together="auto".
227 <xsl:attribute-set name="table.properties">
228 <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>