source: stylesheets/lfs-xsl/docbook-xsl-1.78.1/fo/pagesetup.xsl@ 15c7d39

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 15c7d39 was 15c7d39, checked in by Matthew Burgess <matthew@…>, 11 years ago

Update stylesheets to docbook-xsl-1.78.1.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10355 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 157.3 KB
Line 
1<?xml version="1.0"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:fo="http://www.w3.org/1999/XSL/Format"
4 version="1.0">
5
6<!-- ********************************************************************
7 $Id: pagesetup.xsl 9720 2013-01-31 18:24:47Z bobstayton $
8 ********************************************************************
9
10 This file is part of the DocBook XSL Stylesheet distribution.
11 See ../README or http://docbook.sf.net/ for copyright
12 copyright and other information.
13
14 ******************************************************************** -->
15
16<!-- ==================================================================== -->
17
18<xsl:param name="body.fontset">
19 <xsl:value-of select="$body.font.family"/>
20 <xsl:if test="$body.font.family != ''
21 and $symbol.font.family != ''">,</xsl:if>
22 <xsl:value-of select="$symbol.font.family"/>
23</xsl:param>
24
25<xsl:param name="title.fontset">
26 <xsl:value-of select="$title.font.family"/>
27 <xsl:if test="$title.font.family != ''
28 and $symbol.font.family != ''">,</xsl:if>
29 <xsl:value-of select="$symbol.font.family"/>
30</xsl:param>
31
32<xsl:param name="dingbat.fontset">
33 <xsl:value-of select="$dingbat.font.family"/>
34 <xsl:if test="$dingbat.font.family != ''
35 and $symbol.font.family != ''">,</xsl:if>
36 <xsl:value-of select="$symbol.font.family"/>
37</xsl:param>
38
39<!-- These are internal parameters are for the individual precedence attributes -->
40<xsl:param name="region.start.precedence">
41 <xsl:choose>
42 <xsl:when test="$side.region.precedence = 'true'">true</xsl:when>
43 <xsl:otherwise>false</xsl:otherwise>
44 </xsl:choose>
45</xsl:param>
46
47<xsl:param name="region.end.precedence">
48 <xsl:choose>
49 <xsl:when test="$side.region.precedence = 'true'">true</xsl:when>
50 <xsl:otherwise>false</xsl:otherwise>
51 </xsl:choose>
52</xsl:param>
53
54<xsl:param name="region.before.precedence">
55 <xsl:choose>
56 <xsl:when test="$side.region.precedence = 'true'">false</xsl:when>
57 <xsl:otherwise>true</xsl:otherwise>
58 </xsl:choose>
59</xsl:param>
60
61<xsl:param name="region.after.precedence">
62 <xsl:choose>
63 <xsl:when test="$side.region.precedence = 'true'">false</xsl:when>
64 <xsl:otherwise>true</xsl:otherwise>
65 </xsl:choose>
66</xsl:param>
67
68<xsl:template name="setup.pagemasters">
69 <fo:layout-master-set>
70 <!-- blank pages -->
71 <fo:simple-page-master master-name="blank"
72 page-width="{$page.width}"
73 page-height="{$page.height}"
74 margin-top="{$page.margin.top}"
75 margin-bottom="{$page.margin.bottom}">
76 <xsl:attribute name="margin-{$direction.align.start}">
77 <xsl:value-of select="$page.margin.outer"/>
78 <xsl:if test="$fop.extensions != 0">
79 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
80 </xsl:if>
81 </xsl:attribute>
82 <xsl:attribute name="margin-{$direction.align.end}">
83 <xsl:value-of select="$page.margin.inner"/>
84 </xsl:attribute>
85 <xsl:if test="$axf.extensions != 0">
86 <xsl:call-template name="axf-page-master-properties">
87 <xsl:with-param name="page.master">blank</xsl:with-param>
88 </xsl:call-template>
89 </xsl:if>
90 <fo:region-body display-align="center"
91 margin-bottom="{$body.margin.bottom}"
92 margin-top="{$body.margin.top}">
93 <xsl:attribute name="margin-{$direction.align.start}">
94 <xsl:value-of select="$body.margin.outer"/>
95 </xsl:attribute>
96 <xsl:attribute name="margin-{$direction.align.end}">
97 <xsl:value-of select="$body.margin.inner"/>
98 </xsl:attribute>
99 <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
100 <xsl:attribute name="region-name">blank-body</xsl:attribute>
101 </xsl:if>
102 </fo:region-body>
103 <fo:region-before region-name="xsl-region-before-blank"
104 extent="{$region.before.extent}"
105 precedence="{$region.before.precedence}"
106 display-align="before"/>
107 <fo:region-after region-name="xsl-region-after-blank"
108 extent="{$region.after.extent}"
109 precedence="{$region.after.precedence}"
110 display-align="after"/>
111 <xsl:call-template name="region.outer">
112 <xsl:with-param name="sequence">blank</xsl:with-param>
113 <xsl:with-param name="pageclass">blank</xsl:with-param>
114 </xsl:call-template>
115 <xsl:call-template name="region.inner">
116 <xsl:with-param name="sequence">blank</xsl:with-param>
117 <xsl:with-param name="pageclass">blank</xsl:with-param>
118 </xsl:call-template>
119 </fo:simple-page-master>
120
121 <!-- title pages -->
122 <fo:simple-page-master master-name="titlepage-first"
123 page-width="{$page.width}"
124 page-height="{$page.height}"
125 margin-top="{$page.margin.top}"
126 margin-bottom="{$page.margin.bottom}">
127 <xsl:attribute name="margin-{$direction.align.start}">
128 <xsl:value-of select="$page.margin.inner"/>
129 <xsl:if test="$fop.extensions != 0">
130 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
131 </xsl:if>
132 </xsl:attribute>
133 <xsl:attribute name="margin-{$direction.align.end}">
134 <xsl:value-of select="$page.margin.outer"/>
135 </xsl:attribute>
136 <xsl:if test="$axf.extensions != 0">
137 <xsl:call-template name="axf-page-master-properties">
138 <xsl:with-param name="page.master">titlepage-first</xsl:with-param>
139 </xsl:call-template>
140 </xsl:if>
141 <fo:region-body margin-bottom="{$body.margin.bottom}"
142 margin-top="{$body.margin.top}"
143 column-gap="{$column.gap.titlepage}"
144 column-count="{$column.count.titlepage}">
145 <xsl:attribute name="margin-{$direction.align.start}">
146 <xsl:value-of select="$body.margin.inner"/>
147 </xsl:attribute>
148 <xsl:attribute name="margin-{$direction.align.end}">
149 <xsl:value-of select="$body.margin.outer"/>
150 </xsl:attribute>
151 </fo:region-body>
152 <fo:region-before region-name="xsl-region-before-first"
153 extent="{$region.before.extent}"
154 precedence="{$region.before.precedence}"
155 display-align="before"/>
156 <fo:region-after region-name="xsl-region-after-first"
157 extent="{$region.after.extent}"
158 precedence="{$region.after.precedence}"
159 display-align="after"/>
160 <xsl:call-template name="region.inner">
161 <xsl:with-param name="sequence">first</xsl:with-param>
162 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
163 </xsl:call-template>
164 <xsl:call-template name="region.outer">
165 <xsl:with-param name="sequence">first</xsl:with-param>
166 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
167 </xsl:call-template>
168 </fo:simple-page-master>
169
170 <fo:simple-page-master master-name="titlepage-odd"
171 page-width="{$page.width}"
172 page-height="{$page.height}"
173 margin-top="{$page.margin.top}"
174 margin-bottom="{$page.margin.bottom}">
175 <xsl:attribute name="margin-{$direction.align.start}">
176 <xsl:value-of select="$page.margin.inner"/>
177 <xsl:if test="$fop.extensions != 0">
178 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
179 </xsl:if>
180 </xsl:attribute>
181 <xsl:attribute name="margin-{$direction.align.end}">
182 <xsl:value-of select="$page.margin.outer"/>
183 </xsl:attribute>
184 <xsl:if test="$axf.extensions != 0">
185 <xsl:call-template name="axf-page-master-properties">
186 <xsl:with-param name="page.master">titlepage-odd</xsl:with-param>
187 </xsl:call-template>
188 </xsl:if>
189 <fo:region-body margin-bottom="{$body.margin.bottom}"
190 margin-top="{$body.margin.top}"
191 column-gap="{$column.gap.titlepage}"
192 column-count="{$column.count.titlepage}">
193 <xsl:attribute name="margin-{$direction.align.start}">
194 <xsl:value-of select="$body.margin.inner"/>
195 </xsl:attribute>
196 <xsl:attribute name="margin-{$direction.align.end}">
197 <xsl:value-of select="$body.margin.outer"/>
198 </xsl:attribute>
199 </fo:region-body>
200 <fo:region-before region-name="xsl-region-before-odd"
201 extent="{$region.before.extent}"
202 precedence="{$region.before.precedence}"
203 display-align="before"/>
204 <fo:region-after region-name="xsl-region-after-odd"
205 extent="{$region.after.extent}"
206 precedence="{$region.after.precedence}"
207 display-align="after"/>
208 <xsl:call-template name="region.inner">
209 <xsl:with-param name="sequence">odd</xsl:with-param>
210 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
211 </xsl:call-template>
212 <xsl:call-template name="region.outer">
213 <xsl:with-param name="sequence">odd</xsl:with-param>
214 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
215 </xsl:call-template>
216 </fo:simple-page-master>
217
218 <fo:simple-page-master master-name="titlepage-even"
219 page-width="{$page.width}"
220 page-height="{$page.height}"
221 margin-top="{$page.margin.top}"
222 margin-bottom="{$page.margin.bottom}">
223 <xsl:attribute name="margin-{$direction.align.start}">
224 <xsl:value-of select="$page.margin.outer"/>
225 <xsl:if test="$fop.extensions != 0">
226 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
227 </xsl:if>
228 </xsl:attribute>
229 <xsl:attribute name="margin-{$direction.align.end}">
230 <xsl:value-of select="$page.margin.inner"/>
231 </xsl:attribute>
232 <xsl:if test="$axf.extensions != 0">
233 <xsl:call-template name="axf-page-master-properties">
234 <xsl:with-param name="page.master">titlepage-even</xsl:with-param>
235 </xsl:call-template>
236 </xsl:if>
237 <fo:region-body margin-bottom="{$body.margin.bottom}"
238 margin-top="{$body.margin.top}"
239 column-gap="{$column.gap.titlepage}"
240 column-count="{$column.count.titlepage}">
241 <xsl:attribute name="margin-{$direction.align.start}">
242 <xsl:value-of select="$body.margin.outer"/>
243 </xsl:attribute>
244 <xsl:attribute name="margin-{$direction.align.end}">
245 <xsl:value-of select="$body.margin.inner"/>
246 </xsl:attribute>
247 </fo:region-body>
248 <fo:region-before region-name="xsl-region-before-even"
249 extent="{$region.before.extent}"
250 precedence="{$region.before.precedence}"
251 display-align="before"/>
252 <fo:region-after region-name="xsl-region-after-even"
253 extent="{$region.after.extent}"
254 precedence="{$region.after.precedence}"
255 display-align="after"/>
256 <xsl:call-template name="region.outer">
257 <xsl:with-param name="sequence">even</xsl:with-param>
258 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
259 </xsl:call-template>
260 <xsl:call-template name="region.inner">
261 <xsl:with-param name="sequence">even</xsl:with-param>
262 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
263 </xsl:call-template>
264 </fo:simple-page-master>
265
266 <!-- list-of-title pages -->
267 <fo:simple-page-master master-name="lot-first"
268 page-width="{$page.width}"
269 page-height="{$page.height}"
270 margin-top="{$page.margin.top}"
271 margin-bottom="{$page.margin.bottom}">
272 <xsl:attribute name="margin-{$direction.align.start}">
273 <xsl:value-of select="$page.margin.inner"/>
274 <xsl:if test="$fop.extensions != 0">
275 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
276 </xsl:if>
277 </xsl:attribute>
278 <xsl:attribute name="margin-{$direction.align.end}">
279 <xsl:value-of select="$page.margin.outer"/>
280 </xsl:attribute>
281 <xsl:if test="$axf.extensions != 0">
282 <xsl:call-template name="axf-page-master-properties">
283 <xsl:with-param name="page.master">lot-first</xsl:with-param>
284 </xsl:call-template>
285 </xsl:if>
286 <fo:region-body margin-bottom="{$body.margin.bottom}"
287 margin-top="{$body.margin.top}"
288 column-gap="{$column.gap.lot}"
289 column-count="{$column.count.lot}">
290 <xsl:attribute name="margin-{$direction.align.start}">
291 <xsl:value-of select="$body.margin.inner"/>
292 </xsl:attribute>
293 <xsl:attribute name="margin-{$direction.align.end}">
294 <xsl:value-of select="$body.margin.outer"/>
295 </xsl:attribute>
296 </fo:region-body>
297 <fo:region-before region-name="xsl-region-before-first"
298 extent="{$region.before.extent}"
299 precedence="{$region.before.precedence}"
300 display-align="before"/>
301 <fo:region-after region-name="xsl-region-after-first"
302 extent="{$region.after.extent}"
303 precedence="{$region.after.precedence}"
304 display-align="after"/>
305 <xsl:call-template name="region.inner">
306 <xsl:with-param name="sequence">first</xsl:with-param>
307 <xsl:with-param name="pageclass">lot</xsl:with-param>
308 </xsl:call-template>
309 <xsl:call-template name="region.outer">
310 <xsl:with-param name="sequence">first</xsl:with-param>
311 <xsl:with-param name="pageclass">lot</xsl:with-param>
312 </xsl:call-template>
313 </fo:simple-page-master>
314
315 <fo:simple-page-master master-name="lot-odd"
316 page-width="{$page.width}"
317 page-height="{$page.height}"
318 margin-top="{$page.margin.top}"
319 margin-bottom="{$page.margin.bottom}">
320 <xsl:attribute name="margin-{$direction.align.start}">
321 <xsl:value-of select="$page.margin.inner"/>
322 <xsl:if test="$fop.extensions != 0">
323 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
324 </xsl:if>
325 </xsl:attribute>
326 <xsl:attribute name="margin-{$direction.align.end}">
327 <xsl:value-of select="$page.margin.outer"/>
328 </xsl:attribute>
329 <xsl:if test="$axf.extensions != 0">
330 <xsl:call-template name="axf-page-master-properties">
331 <xsl:with-param name="page.master">lot-odd</xsl:with-param>
332 </xsl:call-template>
333 </xsl:if>
334 <fo:region-body margin-bottom="{$body.margin.bottom}"
335 margin-top="{$body.margin.top}"
336 column-gap="{$column.gap.lot}"
337 column-count="{$column.count.lot}">
338 <xsl:attribute name="margin-{$direction.align.start}">
339 <xsl:value-of select="$body.margin.inner"/>
340 </xsl:attribute>
341 <xsl:attribute name="margin-{$direction.align.end}">
342 <xsl:value-of select="$body.margin.outer"/>
343 </xsl:attribute>
344 </fo:region-body>
345 <fo:region-before region-name="xsl-region-before-odd"
346 extent="{$region.before.extent}"
347 precedence="{$region.before.precedence}"
348 display-align="before"/>
349 <fo:region-after region-name="xsl-region-after-odd"
350 extent="{$region.after.extent}"
351 precedence="{$region.after.precedence}"
352 display-align="after"/>
353 <xsl:call-template name="region.inner">
354 <xsl:with-param name="sequence">odd</xsl:with-param>
355 <xsl:with-param name="pageclass">lot</xsl:with-param>
356 </xsl:call-template>
357 <xsl:call-template name="region.outer">
358 <xsl:with-param name="sequence">odd</xsl:with-param>
359 <xsl:with-param name="pageclass">lot</xsl:with-param>
360 </xsl:call-template>
361 </fo:simple-page-master>
362
363 <fo:simple-page-master master-name="lot-even"
364 page-width="{$page.width}"
365 page-height="{$page.height}"
366 margin-top="{$page.margin.top}"
367 margin-bottom="{$page.margin.bottom}">
368 <xsl:attribute name="margin-{$direction.align.start}">
369 <xsl:value-of select="$page.margin.outer"/>
370 <xsl:if test="$fop.extensions != 0">
371 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
372 </xsl:if>
373 </xsl:attribute>
374 <xsl:attribute name="margin-{$direction.align.end}">
375 <xsl:value-of select="$page.margin.inner"/>
376 </xsl:attribute>
377 <xsl:if test="$axf.extensions != 0">
378 <xsl:call-template name="axf-page-master-properties">
379 <xsl:with-param name="page.master">lot-even</xsl:with-param>
380 </xsl:call-template>
381 </xsl:if>
382 <fo:region-body margin-bottom="{$body.margin.bottom}"
383 margin-top="{$body.margin.top}"
384 column-gap="{$column.gap.lot}"
385 column-count="{$column.count.lot}">
386 <xsl:attribute name="margin-{$direction.align.start}">
387 <xsl:value-of select="$body.margin.outer"/>
388 </xsl:attribute>
389 <xsl:attribute name="margin-{$direction.align.end}">
390 <xsl:value-of select="$body.margin.inner"/>
391 </xsl:attribute>
392 </fo:region-body>
393 <fo:region-before region-name="xsl-region-before-even"
394 extent="{$region.before.extent}"
395 precedence="{$region.before.precedence}"
396 display-align="before"/>
397 <fo:region-after region-name="xsl-region-after-even"
398 extent="{$region.after.extent}"
399 precedence="{$region.after.precedence}"
400 display-align="after"/>
401 <xsl:call-template name="region.outer">
402 <xsl:with-param name="sequence">even</xsl:with-param>
403 <xsl:with-param name="pageclass">lot</xsl:with-param>
404 </xsl:call-template>
405 <xsl:call-template name="region.inner">
406 <xsl:with-param name="sequence">even</xsl:with-param>
407 <xsl:with-param name="pageclass">lot</xsl:with-param>
408 </xsl:call-template>
409 </fo:simple-page-master>
410
411 <!-- frontmatter pages -->
412 <fo:simple-page-master master-name="front-first"
413 page-width="{$page.width}"
414 page-height="{$page.height}"
415 margin-top="{$page.margin.top}"
416 margin-bottom="{$page.margin.bottom}">
417 <xsl:attribute name="margin-{$direction.align.start}">
418 <xsl:value-of select="$page.margin.inner"/>
419 <xsl:if test="$fop.extensions != 0">
420 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
421 </xsl:if>
422 </xsl:attribute>
423 <xsl:attribute name="margin-{$direction.align.end}">
424 <xsl:value-of select="$page.margin.outer"/>
425 </xsl:attribute>
426 <xsl:if test="$axf.extensions != 0">
427 <xsl:call-template name="axf-page-master-properties">
428 <xsl:with-param name="page.master">front-first</xsl:with-param>
429 </xsl:call-template>
430 </xsl:if>
431 <fo:region-body margin-bottom="{$body.margin.bottom}"
432 margin-top="{$body.margin.top}"
433 column-gap="{$column.gap.front}"
434 column-count="{$column.count.front}">
435 <xsl:attribute name="margin-{$direction.align.start}">
436 <xsl:value-of select="$body.margin.inner"/>
437 </xsl:attribute>
438 <xsl:attribute name="margin-{$direction.align.end}">
439 <xsl:value-of select="$body.margin.outer"/>
440 </xsl:attribute>
441 </fo:region-body>
442 <fo:region-before region-name="xsl-region-before-first"
443 extent="{$region.before.extent}"
444 precedence="{$region.before.precedence}"
445 display-align="before"/>
446 <fo:region-after region-name="xsl-region-after-first"
447 extent="{$region.after.extent}"
448 precedence="{$region.after.precedence}"
449 display-align="after"/>
450 <xsl:call-template name="region.inner">
451 <xsl:with-param name="sequence">first</xsl:with-param>
452 <xsl:with-param name="pageclass">front</xsl:with-param>
453 </xsl:call-template>
454 <xsl:call-template name="region.outer">
455 <xsl:with-param name="sequence">first</xsl:with-param>
456 <xsl:with-param name="pageclass">front</xsl:with-param>
457 </xsl:call-template>
458 </fo:simple-page-master>
459
460 <fo:simple-page-master master-name="front-odd"
461 page-width="{$page.width}"
462 page-height="{$page.height}"
463 margin-top="{$page.margin.top}"
464 margin-bottom="{$page.margin.bottom}">
465 <xsl:attribute name="margin-{$direction.align.start}">
466 <xsl:value-of select="$page.margin.inner"/>
467 <xsl:if test="$fop.extensions != 0">
468 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
469 </xsl:if>
470 </xsl:attribute>
471 <xsl:attribute name="margin-{$direction.align.end}">
472 <xsl:value-of select="$page.margin.outer"/>
473 </xsl:attribute>
474 <xsl:if test="$axf.extensions != 0">
475 <xsl:call-template name="axf-page-master-properties">
476 <xsl:with-param name="page.master">front-odd</xsl:with-param>
477 </xsl:call-template>
478 </xsl:if>
479 <fo:region-body margin-bottom="{$body.margin.bottom}"
480 margin-top="{$body.margin.top}"
481 column-gap="{$column.gap.front}"
482 column-count="{$column.count.front}">
483 <xsl:attribute name="margin-{$direction.align.start}">
484 <xsl:value-of select="$body.margin.inner"/>
485 </xsl:attribute>
486 <xsl:attribute name="margin-{$direction.align.end}">
487 <xsl:value-of select="$body.margin.outer"/>
488 </xsl:attribute>
489 </fo:region-body>
490 <fo:region-before region-name="xsl-region-before-odd"
491 extent="{$region.before.extent}"
492 precedence="{$region.before.precedence}"
493 display-align="before"/>
494 <fo:region-after region-name="xsl-region-after-odd"
495 extent="{$region.after.extent}"
496 precedence="{$region.after.precedence}"
497 display-align="after"/>
498 <xsl:call-template name="region.inner">
499 <xsl:with-param name="sequence">odd</xsl:with-param>
500 <xsl:with-param name="pageclass">front</xsl:with-param>
501 </xsl:call-template>
502 <xsl:call-template name="region.outer">
503 <xsl:with-param name="sequence">odd</xsl:with-param>
504 <xsl:with-param name="pageclass">front</xsl:with-param>
505 </xsl:call-template>
506 </fo:simple-page-master>
507
508 <fo:simple-page-master master-name="front-even"
509 page-width="{$page.width}"
510 page-height="{$page.height}"
511 margin-top="{$page.margin.top}"
512 margin-bottom="{$page.margin.bottom}">
513 <xsl:attribute name="margin-{$direction.align.start}">
514 <xsl:value-of select="$page.margin.outer"/>
515 <xsl:if test="$fop.extensions != 0">
516 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
517 </xsl:if>
518 </xsl:attribute>
519 <xsl:attribute name="margin-{$direction.align.end}">
520 <xsl:value-of select="$page.margin.inner"/>
521 </xsl:attribute>
522 <xsl:if test="$axf.extensions != 0">
523 <xsl:call-template name="axf-page-master-properties">
524 <xsl:with-param name="page.master">front-even</xsl:with-param>
525 </xsl:call-template>
526 </xsl:if>
527 <fo:region-body margin-bottom="{$body.margin.bottom}"
528 margin-top="{$body.margin.top}"
529 column-gap="{$column.gap.front}"
530 column-count="{$column.count.front}">
531 <xsl:attribute name="margin-{$direction.align.start}">
532 <xsl:value-of select="$body.margin.outer"/>
533 </xsl:attribute>
534 <xsl:attribute name="margin-{$direction.align.end}">
535 <xsl:value-of select="$body.margin.inner"/>
536 </xsl:attribute>
537 </fo:region-body>
538 <fo:region-before region-name="xsl-region-before-even"
539 extent="{$region.before.extent}"
540 precedence="{$region.before.precedence}"
541 display-align="before"/>
542 <fo:region-after region-name="xsl-region-after-even"
543 extent="{$region.after.extent}"
544 precedence="{$region.after.precedence}"
545 display-align="after"/>
546 <xsl:call-template name="region.outer">
547 <xsl:with-param name="sequence">even</xsl:with-param>
548 <xsl:with-param name="pageclass">front</xsl:with-param>
549 </xsl:call-template>
550 <xsl:call-template name="region.inner">
551 <xsl:with-param name="sequence">even</xsl:with-param>
552 <xsl:with-param name="pageclass">front</xsl:with-param>
553 </xsl:call-template>
554 </fo:simple-page-master>
555
556 <!-- body pages -->
557 <fo:simple-page-master master-name="body-first"
558 page-width="{$page.width}"
559 page-height="{$page.height}"
560 margin-top="{$page.margin.top}"
561 margin-bottom="{$page.margin.bottom}">
562 <xsl:attribute name="margin-{$direction.align.start}">
563 <xsl:value-of select="$page.margin.inner"/>
564 <xsl:if test="$fop.extensions != 0">
565 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
566 </xsl:if>
567 <xsl:if test="$fop.extensions != 0">
568 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
569 </xsl:if>
570 </xsl:attribute>
571 <xsl:attribute name="margin-{$direction.align.end}">
572 <xsl:value-of select="$page.margin.outer"/>
573 </xsl:attribute>
574 <xsl:if test="$axf.extensions != 0">
575 <xsl:call-template name="axf-page-master-properties">
576 <xsl:with-param name="page.master">body-first</xsl:with-param>
577 </xsl:call-template>
578 </xsl:if>
579 <fo:region-body margin-bottom="{$body.margin.bottom}"
580 margin-top="{$body.margin.top}"
581 column-gap="{$column.gap.body}"
582 column-count="{$column.count.body}">
583 <xsl:attribute name="margin-{$direction.align.start}">
584 <xsl:value-of select="$body.margin.inner"/>
585 </xsl:attribute>
586 <xsl:attribute name="margin-{$direction.align.end}">
587 <xsl:value-of select="$body.margin.outer"/>
588 </xsl:attribute>
589 </fo:region-body>
590 <fo:region-before region-name="xsl-region-before-first"
591 extent="{$region.before.extent}"
592 precedence="{$region.before.precedence}"
593 display-align="before"/>
594 <fo:region-after region-name="xsl-region-after-first"
595 extent="{$region.after.extent}"
596 precedence="{$region.after.precedence}"
597 display-align="after"/>
598 <xsl:call-template name="region.inner">
599 <xsl:with-param name="sequence">first</xsl:with-param>
600 <xsl:with-param name="pageclass">body</xsl:with-param>
601 </xsl:call-template>
602 <xsl:call-template name="region.outer">
603 <xsl:with-param name="sequence">first</xsl:with-param>
604 <xsl:with-param name="pageclass">body</xsl:with-param>
605 </xsl:call-template>
606 </fo:simple-page-master>
607
608 <fo:simple-page-master master-name="body-odd"
609 page-width="{$page.width}"
610 page-height="{$page.height}"
611 margin-top="{$page.margin.top}"
612 margin-bottom="{$page.margin.bottom}">
613 <xsl:attribute name="margin-{$direction.align.start}">
614 <xsl:value-of select="$page.margin.inner"/>
615 <xsl:if test="$fop.extensions != 0">
616 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
617 </xsl:if>
618 </xsl:attribute>
619 <xsl:attribute name="margin-{$direction.align.end}">
620 <xsl:value-of select="$page.margin.outer"/>
621 </xsl:attribute>
622 <xsl:if test="$axf.extensions != 0">
623 <xsl:call-template name="axf-page-master-properties">
624 <xsl:with-param name="page.master">body-odd</xsl:with-param>
625 </xsl:call-template>
626 </xsl:if>
627 <fo:region-body margin-bottom="{$body.margin.bottom}"
628 margin-top="{$body.margin.top}"
629 column-gap="{$column.gap.body}"
630 column-count="{$column.count.body}">
631 <xsl:attribute name="margin-{$direction.align.start}">
632 <xsl:value-of select="$body.margin.inner"/>
633 </xsl:attribute>
634 <xsl:attribute name="margin-{$direction.align.end}">
635 <xsl:value-of select="$body.margin.outer"/>
636 </xsl:attribute>
637 </fo:region-body>
638 <fo:region-before region-name="xsl-region-before-odd"
639 extent="{$region.before.extent}"
640 precedence="{$region.before.precedence}"
641 display-align="before"/>
642 <fo:region-after region-name="xsl-region-after-odd"
643 extent="{$region.after.extent}"
644 precedence="{$region.after.precedence}"
645 display-align="after"/>
646 <xsl:call-template name="region.inner">
647 <xsl:with-param name="pageclass">body</xsl:with-param>
648 <xsl:with-param name="sequence">odd</xsl:with-param>
649 </xsl:call-template>
650 <xsl:call-template name="region.outer">
651 <xsl:with-param name="pageclass">body</xsl:with-param>
652 <xsl:with-param name="sequence">odd</xsl:with-param>
653 </xsl:call-template>
654 </fo:simple-page-master>
655
656 <fo:simple-page-master master-name="body-even"
657 page-width="{$page.width}"
658 page-height="{$page.height}"
659 margin-top="{$page.margin.top}"
660 margin-bottom="{$page.margin.bottom}">
661 <xsl:attribute name="margin-{$direction.align.start}">
662 <xsl:value-of select="$page.margin.outer"/>
663 <xsl:if test="$fop.extensions != 0">
664 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
665 </xsl:if>
666 </xsl:attribute>
667 <xsl:attribute name="margin-{$direction.align.end}">
668 <xsl:value-of select="$page.margin.inner"/>
669 </xsl:attribute>
670 <xsl:if test="$axf.extensions != 0">
671 <xsl:call-template name="axf-page-master-properties">
672 <xsl:with-param name="page.master">body-even</xsl:with-param>
673 </xsl:call-template>
674 </xsl:if>
675 <fo:region-body margin-bottom="{$body.margin.bottom}"
676 margin-top="{$body.margin.top}"
677 column-gap="{$column.gap.body}"
678 column-count="{$column.count.body}">
679 <xsl:attribute name="margin-{$direction.align.start}">
680 <xsl:value-of select="$body.margin.outer"/>
681 </xsl:attribute>
682 <xsl:attribute name="margin-{$direction.align.end}">
683 <xsl:value-of select="$body.margin.inner"/>
684 </xsl:attribute>
685 </fo:region-body>
686 <fo:region-before region-name="xsl-region-before-even"
687 extent="{$region.before.extent}"
688 precedence="{$region.before.precedence}"
689 display-align="before"/>
690 <fo:region-after region-name="xsl-region-after-even"
691 extent="{$region.after.extent}"
692 precedence="{$region.after.precedence}"
693 display-align="after"/>
694 <xsl:call-template name="region.outer">
695 <xsl:with-param name="pageclass">body</xsl:with-param>
696 <xsl:with-param name="sequence">even</xsl:with-param>
697 </xsl:call-template>
698 <xsl:call-template name="region.inner">
699 <xsl:with-param name="pageclass">body</xsl:with-param>
700 <xsl:with-param name="sequence">even</xsl:with-param>
701 </xsl:call-template>
702 </fo:simple-page-master>
703
704 <!-- backmatter pages -->
705 <fo:simple-page-master master-name="back-first"
706 page-width="{$page.width}"
707 page-height="{$page.height}"
708 margin-top="{$page.margin.top}"
709 margin-bottom="{$page.margin.bottom}">
710 <xsl:attribute name="margin-{$direction.align.start}">
711 <xsl:value-of select="$page.margin.inner"/>
712 <xsl:if test="$fop.extensions != 0">
713 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
714 </xsl:if>
715 </xsl:attribute>
716 <xsl:attribute name="margin-{$direction.align.end}">
717 <xsl:value-of select="$page.margin.outer"/>
718 </xsl:attribute>
719 <xsl:if test="$axf.extensions != 0">
720 <xsl:call-template name="axf-page-master-properties">
721 <xsl:with-param name="page.master">back-first</xsl:with-param>
722 </xsl:call-template>
723 </xsl:if>
724 <fo:region-body margin-bottom="{$body.margin.bottom}"
725 margin-top="{$body.margin.top}"
726 column-gap="{$column.gap.back}"
727 column-count="{$column.count.back}">
728 <xsl:attribute name="margin-{$direction.align.start}">
729 <xsl:value-of select="$body.margin.inner"/>
730 </xsl:attribute>
731 <xsl:attribute name="margin-{$direction.align.end}">
732 <xsl:value-of select="$body.margin.outer"/>
733 </xsl:attribute>
734 </fo:region-body>
735 <fo:region-before region-name="xsl-region-before-first"
736 extent="{$region.before.extent}"
737 precedence="{$region.before.precedence}"
738 display-align="before"/>
739 <fo:region-after region-name="xsl-region-after-first"
740 extent="{$region.after.extent}"
741 precedence="{$region.after.precedence}"
742 display-align="after"/>
743 <xsl:call-template name="region.inner">
744 <xsl:with-param name="sequence">first</xsl:with-param>
745 <xsl:with-param name="pageclass">back</xsl:with-param>
746 </xsl:call-template>
747 <xsl:call-template name="region.outer">
748 <xsl:with-param name="sequence">first</xsl:with-param>
749 <xsl:with-param name="pageclass">back</xsl:with-param>
750 </xsl:call-template>
751 </fo:simple-page-master>
752
753 <fo:simple-page-master master-name="back-odd"
754 page-width="{$page.width}"
755 page-height="{$page.height}"
756 margin-top="{$page.margin.top}"
757 margin-bottom="{$page.margin.bottom}">
758 <xsl:attribute name="margin-{$direction.align.start}">
759 <xsl:value-of select="$page.margin.inner"/>
760 <xsl:if test="$fop.extensions != 0">
761 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
762 </xsl:if>
763 </xsl:attribute>
764 <xsl:attribute name="margin-{$direction.align.end}">
765 <xsl:value-of select="$page.margin.outer"/>
766 </xsl:attribute>
767 <xsl:if test="$axf.extensions != 0">
768 <xsl:call-template name="axf-page-master-properties">
769 <xsl:with-param name="page.master">back-odd</xsl:with-param>
770 </xsl:call-template>
771 </xsl:if>
772 <fo:region-body margin-bottom="{$body.margin.bottom}"
773 margin-top="{$body.margin.top}"
774 column-gap="{$column.gap.back}"
775 column-count="{$column.count.back}">
776 <xsl:attribute name="margin-{$direction.align.start}">
777 <xsl:value-of select="$body.margin.inner"/>
778 </xsl:attribute>
779 <xsl:attribute name="margin-{$direction.align.end}">
780 <xsl:value-of select="$body.margin.outer"/>
781 </xsl:attribute>
782 </fo:region-body>
783 <fo:region-before region-name="xsl-region-before-odd"
784 extent="{$region.before.extent}"
785 precedence="{$region.before.precedence}"
786 display-align="before"/>
787 <fo:region-after region-name="xsl-region-after-odd"
788 extent="{$region.after.extent}"
789 precedence="{$region.after.precedence}"
790 display-align="after"/>
791 <xsl:call-template name="region.inner">
792 <xsl:with-param name="sequence">odd</xsl:with-param>
793 <xsl:with-param name="pageclass">back</xsl:with-param>
794 </xsl:call-template>
795 <xsl:call-template name="region.outer">
796 <xsl:with-param name="sequence">odd</xsl:with-param>
797 <xsl:with-param name="pageclass">back</xsl:with-param>
798 </xsl:call-template>
799 </fo:simple-page-master>
800
801 <fo:simple-page-master master-name="back-even"
802 page-width="{$page.width}"
803 page-height="{$page.height}"
804 margin-top="{$page.margin.top}"
805 margin-bottom="{$page.margin.bottom}">
806 <xsl:attribute name="margin-{$direction.align.start}">
807 <xsl:value-of select="$page.margin.outer"/>
808 <xsl:if test="$fop.extensions != 0">
809 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
810 </xsl:if>
811 </xsl:attribute>
812 <xsl:attribute name="margin-{$direction.align.end}">
813 <xsl:value-of select="$page.margin.inner"/>
814 </xsl:attribute>
815 <xsl:if test="$axf.extensions != 0">
816 <xsl:call-template name="axf-page-master-properties">
817 <xsl:with-param name="page.master">back-even</xsl:with-param>
818 </xsl:call-template>
819 </xsl:if>
820 <fo:region-body margin-bottom="{$body.margin.bottom}"
821 margin-top="{$body.margin.top}"
822 column-gap="{$column.gap.back}"
823 column-count="{$column.count.back}">
824 <xsl:attribute name="margin-{$direction.align.start}">
825 <xsl:value-of select="$body.margin.outer"/>
826 </xsl:attribute>
827 <xsl:attribute name="margin-{$direction.align.end}">
828 <xsl:value-of select="$body.margin.inner"/>
829 </xsl:attribute>
830 </fo:region-body>
831 <fo:region-before region-name="xsl-region-before-even"
832 extent="{$region.before.extent}"
833 precedence="{$region.before.precedence}"
834 display-align="before"/>
835 <fo:region-after region-name="xsl-region-after-even"
836 extent="{$region.after.extent}"
837 precedence="{$region.after.precedence}"
838 display-align="after"/>
839 <xsl:call-template name="region.outer">
840 <xsl:with-param name="sequence">even</xsl:with-param>
841 <xsl:with-param name="pageclass">back</xsl:with-param>
842 </xsl:call-template>
843 <xsl:call-template name="region.inner">
844 <xsl:with-param name="sequence">even</xsl:with-param>
845 <xsl:with-param name="pageclass">back</xsl:with-param>
846 </xsl:call-template>
847 </fo:simple-page-master>
848
849 <!-- index pages -->
850 <fo:simple-page-master master-name="index-first"
851 page-width="{$page.width}"
852 page-height="{$page.height}"
853 margin-top="{$page.margin.top}"
854 margin-bottom="{$page.margin.bottom}">
855 <xsl:attribute name="margin-{$direction.align.start}">
856 <xsl:value-of select="$page.margin.inner"/>
857 <xsl:if test="$fop.extensions != 0">
858 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
859 </xsl:if>
860 </xsl:attribute>
861 <xsl:attribute name="margin-{$direction.align.end}">
862 <xsl:value-of select="$page.margin.outer"/>
863 </xsl:attribute>
864 <xsl:if test="$axf.extensions != 0">
865 <xsl:call-template name="axf-page-master-properties">
866 <xsl:with-param name="page.master">index-first</xsl:with-param>
867 </xsl:call-template>
868 </xsl:if>
869 <fo:region-body margin-bottom="{$body.margin.bottom}"
870 margin-top="{$body.margin.top}"
871 column-gap="{$column.gap.index}"
872 column-count="{$column.count.index}">
873 <xsl:attribute name="margin-{$direction.align.start}">
874 <xsl:value-of select="$body.margin.inner"/>
875 </xsl:attribute>
876 <xsl:attribute name="margin-{$direction.align.end}">
877 <xsl:value-of select="$body.margin.outer"/>
878 </xsl:attribute>
879 </fo:region-body>
880 <fo:region-before region-name="xsl-region-before-first"
881 extent="{$region.before.extent}"
882 precedence="{$region.before.precedence}"
883 display-align="before"/>
884 <fo:region-after region-name="xsl-region-after-first"
885 extent="{$region.after.extent}"
886 precedence="{$region.after.precedence}"
887 display-align="after"/>
888 <xsl:call-template name="region.inner">
889 <xsl:with-param name="sequence">first</xsl:with-param>
890 <xsl:with-param name="pageclass">index</xsl:with-param>
891 </xsl:call-template>
892 <xsl:call-template name="region.outer">
893 <xsl:with-param name="sequence">first</xsl:with-param>
894 <xsl:with-param name="pageclass">index</xsl:with-param>
895 </xsl:call-template>
896 </fo:simple-page-master>
897
898 <fo:simple-page-master master-name="index-odd"
899 page-width="{$page.width}"
900 page-height="{$page.height}"
901 margin-top="{$page.margin.top}"
902 margin-bottom="{$page.margin.bottom}">
903 <xsl:attribute name="margin-{$direction.align.start}">
904 <xsl:value-of select="$page.margin.inner"/>
905 <xsl:if test="$fop.extensions != 0">
906 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
907 </xsl:if>
908 </xsl:attribute>
909 <xsl:attribute name="margin-{$direction.align.end}">
910 <xsl:value-of select="$page.margin.outer"/>
911 </xsl:attribute>
912 <xsl:if test="$axf.extensions != 0">
913 <xsl:call-template name="axf-page-master-properties">
914 <xsl:with-param name="page.master">index-odd</xsl:with-param>
915 </xsl:call-template>
916 </xsl:if>
917 <fo:region-body margin-bottom="{$body.margin.bottom}"
918 margin-top="{$body.margin.top}"
919 column-gap="{$column.gap.index}"
920 column-count="{$column.count.index}">
921 <xsl:attribute name="margin-{$direction.align.start}">
922 <xsl:value-of select="$body.margin.inner"/>
923 </xsl:attribute>
924 <xsl:attribute name="margin-{$direction.align.end}">
925 <xsl:value-of select="$body.margin.outer"/>
926 </xsl:attribute>
927 </fo:region-body>
928 <fo:region-before region-name="xsl-region-before-odd"
929 extent="{$region.before.extent}"
930 precedence="{$region.before.precedence}"
931 display-align="before"/>
932 <fo:region-after region-name="xsl-region-after-odd"
933 extent="{$region.after.extent}"
934 precedence="{$region.after.precedence}"
935 display-align="after"/>
936 <xsl:call-template name="region.inner">
937 <xsl:with-param name="sequence">odd</xsl:with-param>
938 <xsl:with-param name="pageclass">index</xsl:with-param>
939 </xsl:call-template>
940 <xsl:call-template name="region.outer">
941 <xsl:with-param name="sequence">odd</xsl:with-param>
942 <xsl:with-param name="pageclass">index</xsl:with-param>
943 </xsl:call-template>
944 </fo:simple-page-master>
945
946 <fo:simple-page-master master-name="index-even"
947 page-width="{$page.width}"
948 page-height="{$page.height}"
949 margin-top="{$page.margin.top}"
950 margin-bottom="{$page.margin.bottom}">
951 <xsl:attribute name="margin-{$direction.align.start}">
952 <xsl:value-of select="$page.margin.outer"/>
953 <xsl:if test="$fop.extensions != 0">
954 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
955 </xsl:if>
956 </xsl:attribute>
957 <xsl:attribute name="margin-{$direction.align.end}">
958 <xsl:value-of select="$page.margin.inner"/>
959 </xsl:attribute>
960 <xsl:if test="$axf.extensions != 0">
961 <xsl:call-template name="axf-page-master-properties">
962 <xsl:with-param name="page.master">index-even</xsl:with-param>
963 </xsl:call-template>
964 </xsl:if>
965 <fo:region-body margin-bottom="{$body.margin.bottom}"
966 margin-top="{$body.margin.top}"
967 column-gap="{$column.gap.index}"
968 column-count="{$column.count.index}">
969 <xsl:attribute name="margin-{$direction.align.start}">
970 <xsl:value-of select="$body.margin.outer"/>
971 </xsl:attribute>
972 <xsl:attribute name="margin-{$direction.align.end}">
973 <xsl:value-of select="$body.margin.inner"/>
974 </xsl:attribute>
975 </fo:region-body>
976 <fo:region-before region-name="xsl-region-before-even"
977 extent="{$region.before.extent}"
978 precedence="{$region.before.precedence}"
979 display-align="before"/>
980 <fo:region-after region-name="xsl-region-after-even"
981 extent="{$region.after.extent}"
982 precedence="{$region.after.precedence}"
983 display-align="after"/>
984 <xsl:call-template name="region.outer">
985 <xsl:with-param name="sequence">even</xsl:with-param>
986 <xsl:with-param name="pageclass">index</xsl:with-param>
987 </xsl:call-template>
988 <xsl:call-template name="region.inner">
989 <xsl:with-param name="sequence">even</xsl:with-param>
990 <xsl:with-param name="pageclass">index</xsl:with-param>
991 </xsl:call-template>
992 </fo:simple-page-master>
993
994 <xsl:if test="$draft.mode != 'no'">
995 <!-- draft blank pages -->
996 <fo:simple-page-master master-name="blank-draft"
997 page-width="{$page.width}"
998 page-height="{$page.height}"
999 margin-top="{$page.margin.top}"
1000 margin-bottom="{$page.margin.bottom}">
1001 <xsl:attribute name="margin-{$direction.align.start}">
1002 <xsl:value-of select="$page.margin.outer"/>
1003 <xsl:if test="$fop.extensions != 0">
1004 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1005 </xsl:if>
1006 </xsl:attribute>
1007 <xsl:attribute name="margin-{$direction.align.end}">
1008 <xsl:value-of select="$page.margin.inner"/>
1009 </xsl:attribute>
1010 <xsl:if test="$axf.extensions != 0">
1011 <xsl:call-template name="axf-page-master-properties">
1012 <xsl:with-param name="page.master">blank-draft</xsl:with-param>
1013 </xsl:call-template>
1014 </xsl:if>
1015 <fo:region-body margin-bottom="{$body.margin.bottom}"
1016 margin-top="{$body.margin.top}">
1017 <xsl:attribute name="margin-{$direction.align.start}">
1018 <xsl:value-of select="$body.margin.outer"/>
1019 </xsl:attribute>
1020 <xsl:attribute name="margin-{$direction.align.end}">
1021 <xsl:value-of select="$body.margin.inner"/>
1022 </xsl:attribute>
1023 <xsl:if test="$draft.watermark.image != ''">
1024 <xsl:attribute name="background-image">
1025 <xsl:call-template name="fo-external-image">
1026 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1027 </xsl:call-template>
1028 </xsl:attribute>
1029 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1030 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1031 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1032 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1033 </xsl:if>
1034 </fo:region-body>
1035 <fo:region-before region-name="xsl-region-before-blank"
1036 extent="{$region.before.extent}"
1037 precedence="{$region.before.precedence}"
1038 display-align="before"/>
1039 <fo:region-after region-name="xsl-region-after-blank"
1040 extent="{$region.after.extent}"
1041 precedence="{$region.after.precedence}"
1042 display-align="after"/>
1043 <xsl:call-template name="region.outer">
1044 <xsl:with-param name="sequence">blank</xsl:with-param>
1045 <xsl:with-param name="pageclass">blank</xsl:with-param>
1046 </xsl:call-template>
1047 <xsl:call-template name="region.inner">
1048 <xsl:with-param name="sequence">blank</xsl:with-param>
1049 <xsl:with-param name="pageclass">blank</xsl:with-param>
1050 </xsl:call-template>
1051 </fo:simple-page-master>
1052
1053 <!-- draft title pages -->
1054 <fo:simple-page-master master-name="titlepage-first-draft"
1055 page-width="{$page.width}"
1056 page-height="{$page.height}"
1057 margin-top="{$page.margin.top}"
1058 margin-bottom="{$page.margin.bottom}">
1059 <xsl:attribute name="margin-{$direction.align.start}">
1060 <xsl:value-of select="$page.margin.inner"/>
1061 <xsl:if test="$fop.extensions != 0">
1062 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1063 </xsl:if>
1064 </xsl:attribute>
1065 <xsl:attribute name="margin-{$direction.align.end}">
1066 <xsl:value-of select="$page.margin.outer"/>
1067 </xsl:attribute>
1068 <xsl:if test="$axf.extensions != 0">
1069 <xsl:call-template name="axf-page-master-properties">
1070 <xsl:with-param name="page.master">titlepage-first-draft</xsl:with-param>
1071 </xsl:call-template>
1072 </xsl:if>
1073 <fo:region-body margin-bottom="{$body.margin.bottom}"
1074 margin-top="{$body.margin.top}"
1075 column-gap="{$column.gap.titlepage}"
1076 column-count="{$column.count.titlepage}">
1077 <xsl:attribute name="margin-{$direction.align.start}">
1078 <xsl:value-of select="$body.margin.inner"/>
1079 </xsl:attribute>
1080 <xsl:attribute name="margin-{$direction.align.end}">
1081 <xsl:value-of select="$body.margin.outer"/>
1082 </xsl:attribute>
1083 <xsl:if test="$draft.watermark.image != ''">
1084 <xsl:attribute name="background-image">
1085 <xsl:call-template name="fo-external-image">
1086 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1087 </xsl:call-template>
1088 </xsl:attribute>
1089 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1090 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1091 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1092 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1093 </xsl:if>
1094 </fo:region-body>
1095 <fo:region-before region-name="xsl-region-before-first"
1096 extent="{$region.before.extent}"
1097 precedence="{$region.before.precedence}"
1098 display-align="before"/>
1099 <fo:region-after region-name="xsl-region-after-first"
1100 extent="{$region.after.extent}"
1101 precedence="{$region.after.precedence}"
1102 display-align="after"/>
1103 <xsl:call-template name="region.inner">
1104 <xsl:with-param name="sequence">first</xsl:with-param>
1105 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1106 </xsl:call-template>
1107 <xsl:call-template name="region.outer">
1108 <xsl:with-param name="sequence">first</xsl:with-param>
1109 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1110 </xsl:call-template>
1111 </fo:simple-page-master>
1112
1113 <fo:simple-page-master master-name="titlepage-odd-draft"
1114 page-width="{$page.width}"
1115 page-height="{$page.height}"
1116 margin-top="{$page.margin.top}"
1117 margin-bottom="{$page.margin.bottom}">
1118 <xsl:attribute name="margin-{$direction.align.start}">
1119 <xsl:value-of select="$page.margin.inner"/>
1120 <xsl:if test="$fop.extensions != 0">
1121 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1122 </xsl:if>
1123 </xsl:attribute>
1124 <xsl:attribute name="margin-{$direction.align.end}">
1125 <xsl:value-of select="$page.margin.outer"/>
1126 </xsl:attribute>
1127 <xsl:if test="$axf.extensions != 0">
1128 <xsl:call-template name="axf-page-master-properties">
1129 <xsl:with-param name="page.master">titlepage-odd-draft</xsl:with-param>
1130 </xsl:call-template>
1131 </xsl:if>
1132 <fo:region-body margin-bottom="{$body.margin.bottom}"
1133 margin-top="{$body.margin.top}"
1134 column-gap="{$column.gap.titlepage}"
1135 column-count="{$column.count.titlepage}">
1136 <xsl:attribute name="margin-{$direction.align.start}">
1137 <xsl:value-of select="$body.margin.inner"/>
1138 </xsl:attribute>
1139 <xsl:attribute name="margin-{$direction.align.end}">
1140 <xsl:value-of select="$body.margin.outer"/>
1141 </xsl:attribute>
1142 <xsl:if test="$draft.watermark.image != ''">
1143 <xsl:attribute name="background-image">
1144 <xsl:call-template name="fo-external-image">
1145 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1146 </xsl:call-template>
1147 </xsl:attribute>
1148 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1149 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1150 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1151 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1152 </xsl:if>
1153 </fo:region-body>
1154 <fo:region-before region-name="xsl-region-before-odd"
1155 extent="{$region.before.extent}"
1156 precedence="{$region.before.precedence}"
1157 display-align="before"/>
1158 <fo:region-after region-name="xsl-region-after-odd"
1159 extent="{$region.after.extent}"
1160 precedence="{$region.after.precedence}"
1161 display-align="after"/>
1162 <xsl:call-template name="region.inner">
1163 <xsl:with-param name="sequence">odd</xsl:with-param>
1164 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1165 </xsl:call-template>
1166 <xsl:call-template name="region.outer">
1167 <xsl:with-param name="sequence">odd</xsl:with-param>
1168 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1169 </xsl:call-template>
1170 </fo:simple-page-master>
1171
1172 <fo:simple-page-master master-name="titlepage-even-draft"
1173 page-width="{$page.width}"
1174 page-height="{$page.height}"
1175 margin-top="{$page.margin.top}"
1176 margin-bottom="{$page.margin.bottom}">
1177 <xsl:attribute name="margin-{$direction.align.start}">
1178 <xsl:value-of select="$page.margin.outer"/>
1179 <xsl:if test="$fop.extensions != 0">
1180 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1181 </xsl:if>
1182 </xsl:attribute>
1183 <xsl:attribute name="margin-{$direction.align.end}">
1184 <xsl:value-of select="$page.margin.inner"/>
1185 </xsl:attribute>
1186 <xsl:if test="$axf.extensions != 0">
1187 <xsl:call-template name="axf-page-master-properties">
1188 <xsl:with-param name="page.master">titlepage-even-draft</xsl:with-param>
1189 </xsl:call-template>
1190 </xsl:if>
1191 <fo:region-body margin-bottom="{$body.margin.bottom}"
1192 margin-top="{$body.margin.top}"
1193 column-gap="{$column.gap.titlepage}"
1194 column-count="{$column.count.titlepage}">
1195 <xsl:attribute name="margin-{$direction.align.start}">
1196 <xsl:value-of select="$body.margin.outer"/>
1197 </xsl:attribute>
1198 <xsl:attribute name="margin-{$direction.align.end}">
1199 <xsl:value-of select="$body.margin.inner"/>
1200 </xsl:attribute>
1201 <xsl:if test="$draft.watermark.image != ''">
1202 <xsl:attribute name="background-image">
1203 <xsl:call-template name="fo-external-image">
1204 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1205 </xsl:call-template>
1206 </xsl:attribute>
1207 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1208 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1209 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1210 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1211 </xsl:if>
1212 </fo:region-body>
1213 <fo:region-before region-name="xsl-region-before-even"
1214 extent="{$region.before.extent}"
1215 precedence="{$region.before.precedence}"
1216 display-align="before"/>
1217 <fo:region-after region-name="xsl-region-after-even"
1218 extent="{$region.after.extent}"
1219 precedence="{$region.after.precedence}"
1220 display-align="after"/>
1221 <xsl:call-template name="region.outer">
1222 <xsl:with-param name="sequence">even</xsl:with-param>
1223 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1224 </xsl:call-template>
1225 <xsl:call-template name="region.inner">
1226 <xsl:with-param name="sequence">even</xsl:with-param>
1227 <xsl:with-param name="pageclass">titlepage</xsl:with-param>
1228 </xsl:call-template>
1229 </fo:simple-page-master>
1230
1231 <!-- draft list-of-title pages -->
1232 <fo:simple-page-master master-name="lot-first-draft"
1233 page-width="{$page.width}"
1234 page-height="{$page.height}"
1235 margin-top="{$page.margin.top}"
1236 margin-bottom="{$page.margin.bottom}">
1237 <xsl:attribute name="margin-{$direction.align.start}">
1238 <xsl:value-of select="$page.margin.inner"/>
1239 <xsl:if test="$fop.extensions != 0">
1240 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1241 </xsl:if>
1242 </xsl:attribute>
1243 <xsl:attribute name="margin-{$direction.align.end}">
1244 <xsl:value-of select="$page.margin.outer"/>
1245 </xsl:attribute>
1246 <xsl:if test="$axf.extensions != 0">
1247 <xsl:call-template name="axf-page-master-properties">
1248 <xsl:with-param name="page.master">lot-first-draft</xsl:with-param>
1249 </xsl:call-template>
1250 </xsl:if>
1251 <fo:region-body margin-bottom="{$body.margin.bottom}"
1252 margin-top="{$body.margin.top}"
1253 column-gap="{$column.gap.lot}"
1254 column-count="{$column.count.lot}">
1255 <xsl:attribute name="margin-{$direction.align.start}">
1256 <xsl:value-of select="$body.margin.inner"/>
1257 </xsl:attribute>
1258 <xsl:attribute name="margin-{$direction.align.end}">
1259 <xsl:value-of select="$body.margin.outer"/>
1260 </xsl:attribute>
1261 <xsl:if test="$draft.watermark.image != ''">
1262 <xsl:attribute name="background-image">
1263 <xsl:call-template name="fo-external-image">
1264 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1265 </xsl:call-template>
1266 </xsl:attribute>
1267 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1268 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1269 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1270 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1271 </xsl:if>
1272 </fo:region-body>
1273 <fo:region-before region-name="xsl-region-before-first"
1274 extent="{$region.before.extent}"
1275 precedence="{$region.before.precedence}"
1276 display-align="before"/>
1277 <fo:region-after region-name="xsl-region-after-first"
1278 extent="{$region.after.extent}"
1279 precedence="{$region.after.precedence}"
1280 display-align="after"/>
1281 <xsl:call-template name="region.inner">
1282 <xsl:with-param name="sequence">first</xsl:with-param>
1283 <xsl:with-param name="pageclass">lot</xsl:with-param>
1284 </xsl:call-template>
1285 <xsl:call-template name="region.outer">
1286 <xsl:with-param name="sequence">first</xsl:with-param>
1287 <xsl:with-param name="pageclass">lot</xsl:with-param>
1288 </xsl:call-template>
1289 </fo:simple-page-master>
1290
1291 <fo:simple-page-master master-name="lot-odd-draft"
1292 page-width="{$page.width}"
1293 page-height="{$page.height}"
1294 margin-top="{$page.margin.top}"
1295 margin-bottom="{$page.margin.bottom}">
1296 <xsl:attribute name="margin-{$direction.align.start}">
1297 <xsl:value-of select="$page.margin.inner"/>
1298 <xsl:if test="$fop.extensions != 0">
1299 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1300 </xsl:if>
1301 </xsl:attribute>
1302 <xsl:attribute name="margin-{$direction.align.end}">
1303 <xsl:value-of select="$page.margin.outer"/>
1304 </xsl:attribute>
1305 <xsl:if test="$axf.extensions != 0">
1306 <xsl:call-template name="axf-page-master-properties">
1307 <xsl:with-param name="page.master">lot-odd-draft</xsl:with-param>
1308 </xsl:call-template>
1309 </xsl:if>
1310 <fo:region-body margin-bottom="{$body.margin.bottom}"
1311 margin-top="{$body.margin.top}"
1312 column-gap="{$column.gap.lot}"
1313 column-count="{$column.count.lot}">
1314 <xsl:attribute name="margin-{$direction.align.start}">
1315 <xsl:value-of select="$body.margin.inner"/>
1316 </xsl:attribute>
1317 <xsl:attribute name="margin-{$direction.align.end}">
1318 <xsl:value-of select="$body.margin.outer"/>
1319 </xsl:attribute>
1320 <xsl:if test="$draft.watermark.image != ''">
1321 <xsl:attribute name="background-image">
1322 <xsl:call-template name="fo-external-image">
1323 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1324 </xsl:call-template>
1325 </xsl:attribute>
1326 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1327 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1328 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1329 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1330 </xsl:if>
1331 </fo:region-body>
1332 <fo:region-before region-name="xsl-region-before-odd"
1333 extent="{$region.before.extent}"
1334 precedence="{$region.before.precedence}"
1335 display-align="before"/>
1336 <fo:region-after region-name="xsl-region-after-odd"
1337 extent="{$region.after.extent}"
1338 precedence="{$region.after.precedence}"
1339 display-align="after"/>
1340 <xsl:call-template name="region.inner">
1341 <xsl:with-param name="sequence">odd</xsl:with-param>
1342 <xsl:with-param name="pageclass">lot</xsl:with-param>
1343 </xsl:call-template>
1344 <xsl:call-template name="region.outer">
1345 <xsl:with-param name="sequence">odd</xsl:with-param>
1346 <xsl:with-param name="pageclass">lot</xsl:with-param>
1347 </xsl:call-template>
1348 </fo:simple-page-master>
1349
1350 <fo:simple-page-master master-name="lot-even-draft"
1351 page-width="{$page.width}"
1352 page-height="{$page.height}"
1353 margin-top="{$page.margin.top}"
1354 margin-bottom="{$page.margin.bottom}">
1355 <xsl:attribute name="margin-{$direction.align.start}">
1356 <xsl:value-of select="$page.margin.outer"/>
1357 <xsl:if test="$fop.extensions != 0">
1358 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1359 </xsl:if>
1360 </xsl:attribute>
1361 <xsl:attribute name="margin-{$direction.align.end}">
1362 <xsl:value-of select="$page.margin.inner"/>
1363 </xsl:attribute>
1364 <xsl:if test="$axf.extensions != 0">
1365 <xsl:call-template name="axf-page-master-properties">
1366 <xsl:with-param name="page.master">lot-even-draft</xsl:with-param>
1367 </xsl:call-template>
1368 </xsl:if>
1369 <fo:region-body margin-bottom="{$body.margin.bottom}"
1370 margin-top="{$body.margin.top}"
1371 column-gap="{$column.gap.lot}"
1372 column-count="{$column.count.lot}">
1373 <xsl:attribute name="margin-{$direction.align.start}">
1374 <xsl:value-of select="$body.margin.outer"/>
1375 </xsl:attribute>
1376 <xsl:attribute name="margin-{$direction.align.end}">
1377 <xsl:value-of select="$body.margin.inner"/>
1378 </xsl:attribute>
1379 <xsl:if test="$draft.watermark.image != ''">
1380 <xsl:attribute name="background-image">
1381 <xsl:call-template name="fo-external-image">
1382 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1383 </xsl:call-template>
1384 </xsl:attribute>
1385 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1386 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1387 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1388 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1389 </xsl:if>
1390 </fo:region-body>
1391 <fo:region-before region-name="xsl-region-before-even"
1392 extent="{$region.before.extent}"
1393 precedence="{$region.before.precedence}"
1394 display-align="before"/>
1395 <fo:region-after region-name="xsl-region-after-even"
1396 extent="{$region.after.extent}"
1397 precedence="{$region.after.precedence}"
1398 display-align="after"/>
1399 <xsl:call-template name="region.outer">
1400 <xsl:with-param name="sequence">even</xsl:with-param>
1401 <xsl:with-param name="pageclass">lot</xsl:with-param>
1402 </xsl:call-template>
1403 <xsl:call-template name="region.inner">
1404 <xsl:with-param name="sequence">even</xsl:with-param>
1405 <xsl:with-param name="pageclass">lot</xsl:with-param>
1406 </xsl:call-template>
1407 </fo:simple-page-master>
1408
1409 <!-- draft frontmatter pages -->
1410 <fo:simple-page-master master-name="front-first-draft"
1411 page-width="{$page.width}"
1412 page-height="{$page.height}"
1413 margin-top="{$page.margin.top}"
1414 margin-bottom="{$page.margin.bottom}">
1415 <xsl:attribute name="margin-{$direction.align.start}">
1416 <xsl:value-of select="$page.margin.inner"/>
1417 <xsl:if test="$fop.extensions != 0">
1418 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1419 </xsl:if>
1420 </xsl:attribute>
1421 <xsl:attribute name="margin-{$direction.align.end}">
1422 <xsl:value-of select="$page.margin.outer"/>
1423 </xsl:attribute>
1424 <xsl:if test="$axf.extensions != 0">
1425 <xsl:call-template name="axf-page-master-properties">
1426 <xsl:with-param name="page.master">front-first-draft</xsl:with-param>
1427 </xsl:call-template>
1428 </xsl:if>
1429 <fo:region-body margin-bottom="{$body.margin.bottom}"
1430 margin-top="{$body.margin.top}"
1431 column-gap="{$column.gap.front}"
1432 column-count="{$column.count.front}">
1433 <xsl:attribute name="margin-{$direction.align.start}">
1434 <xsl:value-of select="$body.margin.inner"/>
1435 </xsl:attribute>
1436 <xsl:attribute name="margin-{$direction.align.end}">
1437 <xsl:value-of select="$body.margin.outer"/>
1438 </xsl:attribute>
1439 <xsl:if test="$draft.watermark.image != ''">
1440 <xsl:attribute name="background-image">
1441 <xsl:call-template name="fo-external-image">
1442 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1443 </xsl:call-template>
1444 </xsl:attribute>
1445 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1446 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1447 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1448 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1449 </xsl:if>
1450 </fo:region-body>
1451 <fo:region-before region-name="xsl-region-before-first"
1452 extent="{$region.before.extent}"
1453 precedence="{$region.before.precedence}"
1454 display-align="before"/>
1455 <fo:region-after region-name="xsl-region-after-first"
1456 extent="{$region.after.extent}"
1457 precedence="{$region.after.precedence}"
1458 display-align="after"/>
1459 <xsl:call-template name="region.inner">
1460 <xsl:with-param name="sequence">first</xsl:with-param>
1461 <xsl:with-param name="pageclass">front</xsl:with-param>
1462 </xsl:call-template>
1463 <xsl:call-template name="region.outer">
1464 <xsl:with-param name="sequence">first</xsl:with-param>
1465 <xsl:with-param name="pageclass">front</xsl:with-param>
1466 </xsl:call-template>
1467 </fo:simple-page-master>
1468
1469 <fo:simple-page-master master-name="front-odd-draft"
1470 page-width="{$page.width}"
1471 page-height="{$page.height}"
1472 margin-top="{$page.margin.top}"
1473 margin-bottom="{$page.margin.bottom}">
1474 <xsl:attribute name="margin-{$direction.align.start}">
1475 <xsl:value-of select="$page.margin.inner"/>
1476 <xsl:if test="$fop.extensions != 0">
1477 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1478 </xsl:if>
1479 </xsl:attribute>
1480 <xsl:attribute name="margin-{$direction.align.end}">
1481 <xsl:value-of select="$page.margin.outer"/>
1482 </xsl:attribute>
1483 <xsl:if test="$axf.extensions != 0">
1484 <xsl:call-template name="axf-page-master-properties">
1485 <xsl:with-param name="page.master">front-odd-draft</xsl:with-param>
1486 </xsl:call-template>
1487 </xsl:if>
1488 <fo:region-body margin-bottom="{$body.margin.bottom}"
1489 margin-top="{$body.margin.top}"
1490 column-gap="{$column.gap.front}"
1491 column-count="{$column.count.front}">
1492 <xsl:attribute name="margin-{$direction.align.start}">
1493 <xsl:value-of select="$body.margin.inner"/>
1494 </xsl:attribute>
1495 <xsl:attribute name="margin-{$direction.align.end}">
1496 <xsl:value-of select="$body.margin.outer"/>
1497 </xsl:attribute>
1498 <xsl:if test="$draft.watermark.image != ''">
1499 <xsl:attribute name="background-image">
1500 <xsl:call-template name="fo-external-image">
1501 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1502 </xsl:call-template>
1503 </xsl:attribute>
1504 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1505 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1506 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1507 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1508 </xsl:if>
1509 </fo:region-body>
1510 <fo:region-before region-name="xsl-region-before-odd"
1511 extent="{$region.before.extent}"
1512 precedence="{$region.before.precedence}"
1513 display-align="before"/>
1514 <fo:region-after region-name="xsl-region-after-odd"
1515 extent="{$region.after.extent}"
1516 precedence="{$region.after.precedence}"
1517 display-align="after"/>
1518 <xsl:call-template name="region.inner">
1519 <xsl:with-param name="sequence">odd</xsl:with-param>
1520 <xsl:with-param name="pageclass">front</xsl:with-param>
1521 </xsl:call-template>
1522 <xsl:call-template name="region.outer">
1523 <xsl:with-param name="sequence">odd</xsl:with-param>
1524 <xsl:with-param name="pageclass">front</xsl:with-param>
1525 </xsl:call-template>
1526 </fo:simple-page-master>
1527
1528 <fo:simple-page-master master-name="front-even-draft"
1529 page-width="{$page.width}"
1530 page-height="{$page.height}"
1531 margin-top="{$page.margin.top}"
1532 margin-bottom="{$page.margin.bottom}">
1533 <xsl:attribute name="margin-{$direction.align.start}">
1534 <xsl:value-of select="$page.margin.outer"/>
1535 <xsl:if test="$fop.extensions != 0">
1536 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1537 </xsl:if>
1538 </xsl:attribute>
1539 <xsl:attribute name="margin-{$direction.align.end}">
1540 <xsl:value-of select="$page.margin.inner"/>
1541 </xsl:attribute>
1542 <xsl:if test="$axf.extensions != 0">
1543 <xsl:call-template name="axf-page-master-properties">
1544 <xsl:with-param name="page.master">front-even-draft</xsl:with-param>
1545 </xsl:call-template>
1546 </xsl:if>
1547 <fo:region-body margin-bottom="{$body.margin.bottom}"
1548 margin-top="{$body.margin.top}"
1549 column-gap="{$column.gap.front}"
1550 column-count="{$column.count.front}">
1551 <xsl:attribute name="margin-{$direction.align.start}">
1552 <xsl:value-of select="$body.margin.outer"/>
1553 </xsl:attribute>
1554 <xsl:attribute name="margin-{$direction.align.end}">
1555 <xsl:value-of select="$body.margin.inner"/>
1556 </xsl:attribute>
1557 <xsl:if test="$draft.watermark.image != ''">
1558 <xsl:attribute name="background-image">
1559 <xsl:call-template name="fo-external-image">
1560 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1561 </xsl:call-template>
1562 </xsl:attribute>
1563 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1564 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1565 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1566 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1567 </xsl:if>
1568 </fo:region-body>
1569 <fo:region-before region-name="xsl-region-before-even"
1570 extent="{$region.before.extent}"
1571 precedence="{$region.before.precedence}"
1572 display-align="before"/>
1573 <fo:region-after region-name="xsl-region-after-even"
1574 extent="{$region.after.extent}"
1575 precedence="{$region.after.precedence}"
1576 display-align="after"/>
1577 <xsl:call-template name="region.outer">
1578 <xsl:with-param name="sequence">even</xsl:with-param>
1579 <xsl:with-param name="pageclass">front</xsl:with-param>
1580 </xsl:call-template>
1581 <xsl:call-template name="region.inner">
1582 <xsl:with-param name="sequence">even</xsl:with-param>
1583 <xsl:with-param name="pageclass">front</xsl:with-param>
1584 </xsl:call-template>
1585 </fo:simple-page-master>
1586
1587 <!-- draft body pages -->
1588 <fo:simple-page-master master-name="body-first-draft"
1589 page-width="{$page.width}"
1590 page-height="{$page.height}"
1591 margin-top="{$page.margin.top}"
1592 margin-bottom="{$page.margin.bottom}">
1593 <xsl:attribute name="margin-{$direction.align.start}">
1594 <xsl:value-of select="$page.margin.inner"/>
1595 <xsl:if test="$fop.extensions != 0">
1596 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1597 </xsl:if>
1598 </xsl:attribute>
1599 <xsl:attribute name="margin-{$direction.align.end}">
1600 <xsl:value-of select="$page.margin.outer"/>
1601 </xsl:attribute>
1602 <xsl:if test="$axf.extensions != 0">
1603 <xsl:call-template name="axf-page-master-properties">
1604 <xsl:with-param name="page.master">body-first-draft</xsl:with-param>
1605 </xsl:call-template>
1606 </xsl:if>
1607 <fo:region-body margin-bottom="{$body.margin.bottom}"
1608 margin-top="{$body.margin.top}"
1609 column-gap="{$column.gap.body}"
1610 column-count="{$column.count.body}">
1611 <xsl:attribute name="margin-{$direction.align.start}">
1612 <xsl:value-of select="$body.margin.inner"/>
1613 </xsl:attribute>
1614 <xsl:attribute name="margin-{$direction.align.end}">
1615 <xsl:value-of select="$body.margin.outer"/>
1616 </xsl:attribute>
1617 <xsl:if test="$draft.watermark.image != ''">
1618 <xsl:attribute name="background-image">
1619 <xsl:call-template name="fo-external-image">
1620 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1621 </xsl:call-template>
1622 </xsl:attribute>
1623 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1624 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1625 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1626 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1627 </xsl:if>
1628 </fo:region-body>
1629 <fo:region-before region-name="xsl-region-before-first"
1630 extent="{$region.before.extent}"
1631 precedence="{$region.before.precedence}"
1632 display-align="before"/>
1633 <fo:region-after region-name="xsl-region-after-first"
1634 extent="{$region.after.extent}"
1635 precedence="{$region.after.precedence}"
1636 display-align="after"/>
1637 <xsl:call-template name="region.inner">
1638 <xsl:with-param name="sequence">first</xsl:with-param>
1639 <xsl:with-param name="pageclass">body</xsl:with-param>
1640 </xsl:call-template>
1641 <xsl:call-template name="region.outer">
1642 <xsl:with-param name="sequence">first</xsl:with-param>
1643 <xsl:with-param name="pageclass">body</xsl:with-param>
1644 </xsl:call-template>
1645 </fo:simple-page-master>
1646
1647 <fo:simple-page-master master-name="body-odd-draft"
1648 page-width="{$page.width}"
1649 page-height="{$page.height}"
1650 margin-top="{$page.margin.top}"
1651 margin-bottom="{$page.margin.bottom}">
1652 <xsl:attribute name="margin-{$direction.align.start}">
1653 <xsl:value-of select="$page.margin.inner"/>
1654 <xsl:if test="$fop.extensions != 0">
1655 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1656 </xsl:if>
1657 </xsl:attribute>
1658 <xsl:attribute name="margin-{$direction.align.end}">
1659 <xsl:value-of select="$page.margin.outer"/>
1660 </xsl:attribute>
1661 <xsl:if test="$axf.extensions != 0">
1662 <xsl:call-template name="axf-page-master-properties">
1663 <xsl:with-param name="page.master">body-odd-draft</xsl:with-param>
1664 </xsl:call-template>
1665 </xsl:if>
1666 <fo:region-body margin-bottom="{$body.margin.bottom}"
1667 margin-top="{$body.margin.top}"
1668 column-gap="{$column.gap.body}"
1669 column-count="{$column.count.body}">
1670 <xsl:attribute name="margin-{$direction.align.start}">
1671 <xsl:value-of select="$body.margin.inner"/>
1672 </xsl:attribute>
1673 <xsl:attribute name="margin-{$direction.align.end}">
1674 <xsl:value-of select="$body.margin.outer"/>
1675 </xsl:attribute>
1676 <xsl:if test="$draft.watermark.image != ''">
1677 <xsl:attribute name="background-image">
1678 <xsl:call-template name="fo-external-image">
1679 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1680 </xsl:call-template>
1681 </xsl:attribute>
1682 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1683 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1684 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1685 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1686 </xsl:if>
1687 </fo:region-body>
1688 <fo:region-before region-name="xsl-region-before-odd"
1689 extent="{$region.before.extent}"
1690 precedence="{$region.before.precedence}"
1691 display-align="before"/>
1692 <fo:region-after region-name="xsl-region-after-odd"
1693 extent="{$region.after.extent}"
1694 precedence="{$region.after.precedence}"
1695 display-align="after"/>
1696 <xsl:call-template name="region.inner">
1697 <xsl:with-param name="sequence">odd</xsl:with-param>
1698 <xsl:with-param name="pageclass">body</xsl:with-param>
1699 </xsl:call-template>
1700 <xsl:call-template name="region.outer">
1701 <xsl:with-param name="sequence">odd</xsl:with-param>
1702 <xsl:with-param name="pageclass">body</xsl:with-param>
1703 </xsl:call-template>
1704 </fo:simple-page-master>
1705
1706 <fo:simple-page-master master-name="body-even-draft"
1707 page-width="{$page.width}"
1708 page-height="{$page.height}"
1709 margin-top="{$page.margin.top}"
1710 margin-bottom="{$page.margin.bottom}">
1711 <xsl:attribute name="margin-{$direction.align.start}">
1712 <xsl:value-of select="$page.margin.outer"/>
1713 <xsl:if test="$fop.extensions != 0">
1714 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1715 </xsl:if>
1716 </xsl:attribute>
1717 <xsl:attribute name="margin-{$direction.align.end}">
1718 <xsl:value-of select="$page.margin.inner"/>
1719 </xsl:attribute>
1720 <xsl:if test="$axf.extensions != 0">
1721 <xsl:call-template name="axf-page-master-properties">
1722 <xsl:with-param name="page.master">body-even-draft</xsl:with-param>
1723 </xsl:call-template>
1724 </xsl:if>
1725 <fo:region-body margin-bottom="{$body.margin.bottom}"
1726 margin-top="{$body.margin.top}"
1727 column-gap="{$column.gap.body}"
1728 column-count="{$column.count.body}">
1729 <xsl:attribute name="margin-{$direction.align.start}">
1730 <xsl:value-of select="$body.margin.outer"/>
1731 </xsl:attribute>
1732 <xsl:attribute name="margin-{$direction.align.end}">
1733 <xsl:value-of select="$body.margin.inner"/>
1734 </xsl:attribute>
1735 <xsl:if test="$draft.watermark.image != ''">
1736 <xsl:attribute name="background-image">
1737 <xsl:call-template name="fo-external-image">
1738 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1739 </xsl:call-template>
1740 </xsl:attribute>
1741 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1742 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1743 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1744 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1745 </xsl:if>
1746 </fo:region-body>
1747 <fo:region-before region-name="xsl-region-before-even"
1748 extent="{$region.before.extent}"
1749 precedence="{$region.before.precedence}"
1750 display-align="before"/>
1751 <fo:region-after region-name="xsl-region-after-even"
1752 extent="{$region.after.extent}"
1753 precedence="{$region.after.precedence}"
1754 display-align="after"/>
1755 <xsl:call-template name="region.outer">
1756 <xsl:with-param name="sequence">even</xsl:with-param>
1757 <xsl:with-param name="pageclass">body</xsl:with-param>
1758 </xsl:call-template>
1759 <xsl:call-template name="region.inner">
1760 <xsl:with-param name="sequence">even</xsl:with-param>
1761 <xsl:with-param name="pageclass">body</xsl:with-param>
1762 </xsl:call-template>
1763 </fo:simple-page-master>
1764
1765 <!-- draft backmatter pages -->
1766 <fo:simple-page-master master-name="back-first-draft"
1767 page-width="{$page.width}"
1768 page-height="{$page.height}"
1769 margin-top="{$page.margin.top}"
1770 margin-bottom="{$page.margin.bottom}">
1771 <xsl:attribute name="margin-{$direction.align.start}">
1772 <xsl:value-of select="$page.margin.inner"/>
1773 <xsl:if test="$fop.extensions != 0">
1774 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1775 </xsl:if>
1776 </xsl:attribute>
1777 <xsl:attribute name="margin-{$direction.align.end}">
1778 <xsl:value-of select="$page.margin.outer"/>
1779 </xsl:attribute>
1780 <xsl:if test="$axf.extensions != 0">
1781 <xsl:call-template name="axf-page-master-properties">
1782 <xsl:with-param name="page.master">back-first-draft</xsl:with-param>
1783 </xsl:call-template>
1784 </xsl:if>
1785 <fo:region-body margin-bottom="{$body.margin.bottom}"
1786 margin-top="{$body.margin.top}"
1787 column-gap="{$column.gap.back}"
1788 column-count="{$column.count.back}">
1789 <xsl:attribute name="margin-{$direction.align.start}">
1790 <xsl:value-of select="$body.margin.inner"/>
1791 </xsl:attribute>
1792 <xsl:attribute name="margin-{$direction.align.end}">
1793 <xsl:value-of select="$body.margin.outer"/>
1794 </xsl:attribute>
1795 <xsl:if test="$draft.watermark.image != ''">
1796 <xsl:attribute name="background-image">
1797 <xsl:call-template name="fo-external-image">
1798 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1799 </xsl:call-template>
1800 </xsl:attribute>
1801 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1802 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1803 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1804 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1805 </xsl:if>
1806 </fo:region-body>
1807 <fo:region-before region-name="xsl-region-before-first"
1808 extent="{$region.before.extent}"
1809 precedence="{$region.before.precedence}"
1810 display-align="before"/>
1811 <fo:region-after region-name="xsl-region-after-first"
1812 extent="{$region.after.extent}"
1813 precedence="{$region.after.precedence}"
1814 display-align="after"/>
1815 <xsl:call-template name="region.inner">
1816 <xsl:with-param name="sequence">first</xsl:with-param>
1817 <xsl:with-param name="pageclass">back</xsl:with-param>
1818 </xsl:call-template>
1819 <xsl:call-template name="region.outer">
1820 <xsl:with-param name="sequence">first</xsl:with-param>
1821 <xsl:with-param name="pageclass">back</xsl:with-param>
1822 </xsl:call-template>
1823 </fo:simple-page-master>
1824
1825 <fo:simple-page-master master-name="back-odd-draft"
1826 page-width="{$page.width}"
1827 page-height="{$page.height}"
1828 margin-top="{$page.margin.top}"
1829 margin-bottom="{$page.margin.bottom}">
1830 <xsl:attribute name="margin-{$direction.align.start}">
1831 <xsl:value-of select="$page.margin.inner"/>
1832 <xsl:if test="$fop.extensions != 0">
1833 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1834 </xsl:if>
1835 </xsl:attribute>
1836 <xsl:attribute name="margin-{$direction.align.end}">
1837 <xsl:value-of select="$page.margin.outer"/>
1838 </xsl:attribute>
1839 <xsl:if test="$axf.extensions != 0">
1840 <xsl:call-template name="axf-page-master-properties">
1841 <xsl:with-param name="page.master">back-odd-draft</xsl:with-param>
1842 </xsl:call-template>
1843 </xsl:if>
1844 <fo:region-body margin-bottom="{$body.margin.bottom}"
1845 margin-top="{$body.margin.top}"
1846 column-gap="{$column.gap.back}"
1847 column-count="{$column.count.back}">
1848 <xsl:attribute name="margin-{$direction.align.start}">
1849 <xsl:value-of select="$body.margin.inner"/>
1850 </xsl:attribute>
1851 <xsl:attribute name="margin-{$direction.align.end}">
1852 <xsl:value-of select="$body.margin.outer"/>
1853 </xsl:attribute>
1854 <xsl:if test="$draft.watermark.image != ''">
1855 <xsl:attribute name="background-image">
1856 <xsl:call-template name="fo-external-image">
1857 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1858 </xsl:call-template>
1859 </xsl:attribute>
1860 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1861 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1862 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1863 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1864 </xsl:if>
1865 </fo:region-body>
1866 <fo:region-before region-name="xsl-region-before-odd"
1867 extent="{$region.before.extent}"
1868 precedence="{$region.before.precedence}"
1869 display-align="before"/>
1870 <fo:region-after region-name="xsl-region-after-odd"
1871 extent="{$region.after.extent}"
1872 precedence="{$region.after.precedence}"
1873 display-align="after"/>
1874 <xsl:call-template name="region.inner">
1875 <xsl:with-param name="sequence">odd</xsl:with-param>
1876 <xsl:with-param name="pageclass">back</xsl:with-param>
1877 </xsl:call-template>
1878 <xsl:call-template name="region.outer">
1879 <xsl:with-param name="sequence">odd</xsl:with-param>
1880 <xsl:with-param name="pageclass">back</xsl:with-param>
1881 </xsl:call-template>
1882 </fo:simple-page-master>
1883
1884 <fo:simple-page-master master-name="back-even-draft"
1885 page-width="{$page.width}"
1886 page-height="{$page.height}"
1887 margin-top="{$page.margin.top}"
1888 margin-bottom="{$page.margin.bottom}">
1889 <xsl:attribute name="margin-{$direction.align.start}">
1890 <xsl:value-of select="$page.margin.outer"/>
1891 <xsl:if test="$fop.extensions != 0">
1892 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1893 </xsl:if>
1894 </xsl:attribute>
1895 <xsl:attribute name="margin-{$direction.align.end}">
1896 <xsl:value-of select="$page.margin.inner"/>
1897 </xsl:attribute>
1898 <xsl:if test="$axf.extensions != 0">
1899 <xsl:call-template name="axf-page-master-properties">
1900 <xsl:with-param name="page.master">back-even-draft</xsl:with-param>
1901 </xsl:call-template>
1902 </xsl:if>
1903 <fo:region-body margin-bottom="{$body.margin.bottom}"
1904 margin-top="{$body.margin.top}"
1905 column-gap="{$column.gap.back}"
1906 column-count="{$column.count.back}">
1907 <xsl:attribute name="margin-{$direction.align.start}">
1908 <xsl:value-of select="$body.margin.outer"/>
1909 </xsl:attribute>
1910 <xsl:attribute name="margin-{$direction.align.end}">
1911 <xsl:value-of select="$body.margin.inner"/>
1912 </xsl:attribute>
1913 <xsl:if test="$draft.watermark.image != ''">
1914 <xsl:attribute name="background-image">
1915 <xsl:call-template name="fo-external-image">
1916 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1917 </xsl:call-template>
1918 </xsl:attribute>
1919 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1920 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1921 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1922 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1923 </xsl:if>
1924 </fo:region-body>
1925 <fo:region-before region-name="xsl-region-before-even"
1926 extent="{$region.before.extent}"
1927 precedence="{$region.before.precedence}"
1928 display-align="before"/>
1929 <fo:region-after region-name="xsl-region-after-even"
1930 extent="{$region.after.extent}"
1931 precedence="{$region.after.precedence}"
1932 display-align="after"/>
1933 <xsl:call-template name="region.outer">
1934 <xsl:with-param name="sequence">even</xsl:with-param>
1935 <xsl:with-param name="pageclass">back</xsl:with-param>
1936 </xsl:call-template>
1937 <xsl:call-template name="region.inner">
1938 <xsl:with-param name="sequence">even</xsl:with-param>
1939 <xsl:with-param name="pageclass">back</xsl:with-param>
1940 </xsl:call-template>
1941 </fo:simple-page-master>
1942
1943 <!-- draft index pages -->
1944 <fo:simple-page-master master-name="index-first-draft"
1945 page-width="{$page.width}"
1946 page-height="{$page.height}"
1947 margin-top="{$page.margin.top}"
1948 margin-bottom="{$page.margin.bottom}">
1949 <xsl:attribute name="margin-{$direction.align.start}">
1950 <xsl:value-of select="$page.margin.inner"/>
1951 <xsl:if test="$fop.extensions != 0">
1952 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
1953 </xsl:if>
1954 </xsl:attribute>
1955 <xsl:attribute name="margin-{$direction.align.end}">
1956 <xsl:value-of select="$page.margin.outer"/>
1957 </xsl:attribute>
1958 <xsl:if test="$axf.extensions != 0">
1959 <xsl:call-template name="axf-page-master-properties">
1960 <xsl:with-param name="page.master">index-first-draft</xsl:with-param>
1961 </xsl:call-template>
1962 </xsl:if>
1963 <fo:region-body margin-bottom="{$body.margin.bottom}"
1964 margin-top="{$body.margin.top}"
1965 column-gap="{$column.gap.index}"
1966 column-count="{$column.count.index}">
1967 <xsl:attribute name="margin-{$direction.align.start}">
1968 <xsl:value-of select="$body.margin.inner"/>
1969 </xsl:attribute>
1970 <xsl:attribute name="margin-{$direction.align.end}">
1971 <xsl:value-of select="$body.margin.outer"/>
1972 </xsl:attribute>
1973 <xsl:if test="$draft.watermark.image != ''">
1974 <xsl:attribute name="background-image">
1975 <xsl:call-template name="fo-external-image">
1976 <xsl:with-param name="filename" select="$draft.watermark.image"/>
1977 </xsl:call-template>
1978 </xsl:attribute>
1979 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
1980 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
1981 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
1982 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
1983 </xsl:if>
1984 </fo:region-body>
1985 <fo:region-before region-name="xsl-region-before-first"
1986 extent="{$region.before.extent}"
1987 precedence="{$region.before.precedence}"
1988 display-align="before"/>
1989 <fo:region-after region-name="xsl-region-after-first"
1990 extent="{$region.after.extent}"
1991 precedence="{$region.after.precedence}"
1992 display-align="after"/>
1993 <xsl:call-template name="region.inner">
1994 <xsl:with-param name="sequence">first</xsl:with-param>
1995 <xsl:with-param name="pageclass">index</xsl:with-param>
1996 </xsl:call-template>
1997 <xsl:call-template name="region.outer">
1998 <xsl:with-param name="sequence">first</xsl:with-param>
1999 <xsl:with-param name="pageclass">index</xsl:with-param>
2000 </xsl:call-template>
2001 </fo:simple-page-master>
2002
2003 <fo:simple-page-master master-name="index-odd-draft"
2004 page-width="{$page.width}"
2005 page-height="{$page.height}"
2006 margin-top="{$page.margin.top}"
2007 margin-bottom="{$page.margin.bottom}">
2008 <xsl:attribute name="margin-{$direction.align.start}">
2009 <xsl:value-of select="$page.margin.inner"/>
2010 <xsl:if test="$fop.extensions != 0">
2011 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
2012 </xsl:if>
2013 </xsl:attribute>
2014 <xsl:attribute name="margin-{$direction.align.end}">
2015 <xsl:value-of select="$page.margin.outer"/>
2016 </xsl:attribute>
2017 <xsl:if test="$axf.extensions != 0">
2018 <xsl:call-template name="axf-page-master-properties">
2019 <xsl:with-param name="page.master">index-odd-draft</xsl:with-param>
2020 </xsl:call-template>
2021 </xsl:if>
2022 <fo:region-body margin-bottom="{$body.margin.bottom}"
2023 margin-top="{$body.margin.top}"
2024 column-gap="{$column.gap.index}"
2025 column-count="{$column.count.index}">
2026 <xsl:attribute name="margin-{$direction.align.start}">
2027 <xsl:value-of select="$body.margin.inner"/>
2028 </xsl:attribute>
2029 <xsl:attribute name="margin-{$direction.align.end}">
2030 <xsl:value-of select="$body.margin.outer"/>
2031 </xsl:attribute>
2032 <xsl:if test="$draft.watermark.image != ''">
2033 <xsl:attribute name="background-image">
2034 <xsl:call-template name="fo-external-image">
2035 <xsl:with-param name="filename" select="$draft.watermark.image"/>
2036 </xsl:call-template>
2037 </xsl:attribute>
2038 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
2039 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
2040 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
2041 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
2042 </xsl:if>
2043 </fo:region-body>
2044 <fo:region-before region-name="xsl-region-before-odd"
2045 extent="{$region.before.extent}"
2046 precedence="{$region.before.precedence}"
2047 display-align="before"/>
2048 <fo:region-after region-name="xsl-region-after-odd"
2049 extent="{$region.after.extent}"
2050 precedence="{$region.after.precedence}"
2051 display-align="after"/>
2052 <xsl:call-template name="region.inner">
2053 <xsl:with-param name="sequence">odd</xsl:with-param>
2054 <xsl:with-param name="pageclass">index</xsl:with-param>
2055 </xsl:call-template>
2056 <xsl:call-template name="region.outer">
2057 <xsl:with-param name="sequence">odd</xsl:with-param>
2058 <xsl:with-param name="pageclass">index</xsl:with-param>
2059 </xsl:call-template>
2060 </fo:simple-page-master>
2061
2062 <fo:simple-page-master master-name="index-even-draft"
2063 page-width="{$page.width}"
2064 page-height="{$page.height}"
2065 margin-top="{$page.margin.top}"
2066 margin-bottom="{$page.margin.bottom}">
2067 <xsl:attribute name="margin-{$direction.align.start}">
2068 <xsl:value-of select="$page.margin.outer"/>
2069 <xsl:if test="$fop.extensions != 0">
2070 <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
2071 </xsl:if>
2072 </xsl:attribute>
2073 <xsl:attribute name="margin-{$direction.align.end}">
2074 <xsl:value-of select="$page.margin.inner"/>
2075 </xsl:attribute>
2076 <xsl:if test="$axf.extensions != 0">
2077 <xsl:call-template name="axf-page-master-properties">
2078 <xsl:with-param name="page.master">index-even-draft</xsl:with-param>
2079 </xsl:call-template>
2080 </xsl:if>
2081 <fo:region-body margin-bottom="{$body.margin.bottom}"
2082 margin-top="{$body.margin.top}"
2083 column-gap="{$column.gap.index}"
2084 column-count="{$column.count.index}">
2085 <xsl:attribute name="margin-{$direction.align.start}">
2086 <xsl:value-of select="$body.margin.outer"/>
2087 </xsl:attribute>
2088 <xsl:attribute name="margin-{$direction.align.end}">
2089 <xsl:value-of select="$body.margin.inner"/>
2090 </xsl:attribute>
2091 <xsl:if test="$draft.watermark.image != ''">
2092 <xsl:attribute name="background-image">
2093 <xsl:call-template name="fo-external-image">
2094 <xsl:with-param name="filename" select="$draft.watermark.image"/>
2095 </xsl:call-template>
2096 </xsl:attribute>
2097 <xsl:attribute name="background-attachment">fixed</xsl:attribute>
2098 <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
2099 <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
2100 <xsl:attribute name="background-position-vertical">center</xsl:attribute>
2101 </xsl:if>
2102 </fo:region-body>
2103 <fo:region-before region-name="xsl-region-before-even"
2104 extent="{$region.before.extent}"
2105 precedence="{$region.before.precedence}"
2106 display-align="before"/>
2107 <fo:region-after region-name="xsl-region-after-even"
2108 extent="{$region.after.extent}"
2109 precedence="{$region.after.precedence}"
2110 display-align="after"/>
2111 <xsl:call-template name="region.outer">
2112 <xsl:with-param name="sequence">even</xsl:with-param>
2113 <xsl:with-param name="pageclass">index</xsl:with-param>
2114 </xsl:call-template>
2115 <xsl:call-template name="region.inner">
2116 <xsl:with-param name="sequence">even</xsl:with-param>
2117 <xsl:with-param name="pageclass">index</xsl:with-param>
2118 </xsl:call-template>
2119 </fo:simple-page-master>
2120 </xsl:if>
2121
2122 <!-- setup for title page(s) -->
2123 <fo:page-sequence-master master-name="titlepage">
2124 <fo:repeatable-page-master-alternatives>
2125 <fo:conditional-page-master-reference master-reference="blank"
2126 blank-or-not-blank="blank"/>
2127 <xsl:if test="$force.blank.pages != 0">
2128 <fo:conditional-page-master-reference master-reference="titlepage-first"
2129 page-position="first"/>
2130 </xsl:if>
2131 <fo:conditional-page-master-reference master-reference="titlepage-odd"
2132 odd-or-even="odd"/>
2133 <fo:conditional-page-master-reference
2134 odd-or-even="even">
2135 <xsl:attribute name="master-reference">
2136 <xsl:choose>
2137 <xsl:when test="$double.sided != 0">titlepage-even</xsl:when>
2138 <xsl:otherwise>titlepage-odd</xsl:otherwise>
2139 </xsl:choose>
2140 </xsl:attribute>
2141 </fo:conditional-page-master-reference>
2142 </fo:repeatable-page-master-alternatives>
2143 </fo:page-sequence-master>
2144
2145 <!-- setup for lots -->
2146 <fo:page-sequence-master master-name="lot">
2147 <fo:repeatable-page-master-alternatives>
2148 <fo:conditional-page-master-reference master-reference="blank"
2149 blank-or-not-blank="blank"/>
2150 <xsl:if test="$force.blank.pages != 0">
2151 <fo:conditional-page-master-reference master-reference="lot-first"
2152 page-position="first"/>
2153 </xsl:if>
2154 <fo:conditional-page-master-reference master-reference="lot-odd"
2155 odd-or-even="odd"/>
2156 <fo:conditional-page-master-reference
2157 odd-or-even="even">
2158 <xsl:attribute name="master-reference">
2159 <xsl:choose>
2160 <xsl:when test="$double.sided != 0">lot-even</xsl:when>
2161 <xsl:otherwise>lot-odd</xsl:otherwise>
2162 </xsl:choose>
2163 </xsl:attribute>
2164 </fo:conditional-page-master-reference>
2165 </fo:repeatable-page-master-alternatives>
2166 </fo:page-sequence-master>
2167
2168 <!-- setup front matter -->
2169 <fo:page-sequence-master master-name="front">
2170 <fo:repeatable-page-master-alternatives>
2171 <fo:conditional-page-master-reference master-reference="blank"
2172 blank-or-not-blank="blank"/>
2173 <xsl:if test="$force.blank.pages != 0">
2174 <fo:conditional-page-master-reference master-reference="front-first"
2175 page-position="first"/>
2176 </xsl:if>
2177 <fo:conditional-page-master-reference master-reference="front-odd"
2178 odd-or-even="odd"/>
2179 <fo:conditional-page-master-reference
2180 odd-or-even="even">
2181 <xsl:attribute name="master-reference">
2182 <xsl:choose>
2183 <xsl:when test="$double.sided != 0">front-even</xsl:when>
2184 <xsl:otherwise>front-odd</xsl:otherwise>
2185 </xsl:choose>
2186 </xsl:attribute>
2187 </fo:conditional-page-master-reference>
2188 </fo:repeatable-page-master-alternatives>
2189 </fo:page-sequence-master>
2190
2191 <!-- setup for body pages -->
2192 <fo:page-sequence-master master-name="body">
2193 <fo:repeatable-page-master-alternatives>
2194 <fo:conditional-page-master-reference master-reference="blank"
2195 blank-or-not-blank="blank"/>
2196 <xsl:if test="$force.blank.pages != 0">
2197 <fo:conditional-page-master-reference master-reference="body-first"
2198 page-position="first"/>
2199 </xsl:if>
2200 <fo:conditional-page-master-reference master-reference="body-odd"
2201 odd-or-even="odd"/>
2202 <fo:conditional-page-master-reference
2203 odd-or-even="even">
2204 <xsl:attribute name="master-reference">
2205 <xsl:choose>
2206 <xsl:when test="$double.sided != 0">body-even</xsl:when>
2207 <xsl:otherwise>body-odd</xsl:otherwise>
2208 </xsl:choose>
2209 </xsl:attribute>
2210 </fo:conditional-page-master-reference>
2211 </fo:repeatable-page-master-alternatives>
2212 </fo:page-sequence-master>
2213
2214 <!-- setup back matter -->
2215 <fo:page-sequence-master master-name="back">
2216 <fo:repeatable-page-master-alternatives>
2217 <fo:conditional-page-master-reference master-reference="blank"
2218 blank-or-not-blank="blank"/>
2219 <xsl:if test="$force.blank.pages != 0">
2220 <fo:conditional-page-master-reference master-reference="back-first"
2221 page-position="first"/>
2222 </xsl:if>
2223 <fo:conditional-page-master-reference master-reference="back-odd"
2224 odd-or-even="odd"/>
2225 <fo:conditional-page-master-reference
2226 odd-or-even="even">
2227 <xsl:attribute name="master-reference">
2228 <xsl:choose>
2229 <xsl:when test="$double.sided != 0">back-even</xsl:when>
2230 <xsl:otherwise>back-odd</xsl:otherwise>
2231 </xsl:choose>
2232 </xsl:attribute>
2233 </fo:conditional-page-master-reference>
2234 </fo:repeatable-page-master-alternatives>
2235 </fo:page-sequence-master>
2236
2237 <!-- setup back matter -->
2238 <fo:page-sequence-master master-name="index">
2239 <fo:repeatable-page-master-alternatives>
2240 <fo:conditional-page-master-reference master-reference="blank"
2241 blank-or-not-blank="blank"/>
2242 <xsl:if test="$force.blank.pages != 0">
2243 <fo:conditional-page-master-reference master-reference="index-first"
2244 page-position="first"/>
2245 </xsl:if>
2246 <fo:conditional-page-master-reference master-reference="index-odd"
2247 odd-or-even="odd"/>
2248 <fo:conditional-page-master-reference
2249 odd-or-even="even">
2250 <xsl:attribute name="master-reference">
2251 <xsl:choose>
2252 <xsl:when test="$double.sided != 0">index-even</xsl:when>
2253 <xsl:otherwise>index-odd</xsl:otherwise>
2254 </xsl:choose>
2255 </xsl:attribute>
2256 </fo:conditional-page-master-reference>
2257 </fo:repeatable-page-master-alternatives>
2258 </fo:page-sequence-master>
2259
2260 <xsl:if test="$draft.mode != 'no'">
2261 <!-- setup for draft title page(s) -->
2262 <fo:page-sequence-master master-name="titlepage-draft">
2263 <fo:repeatable-page-master-alternatives>
2264 <fo:conditional-page-master-reference master-reference="blank-draft"
2265 blank-or-not-blank="blank"/>
2266 <xsl:if test="$force.blank.pages != 0">
2267 <fo:conditional-page-master-reference master-reference="titlepage-first-draft"
2268 page-position="first"/>
2269 </xsl:if>
2270 <fo:conditional-page-master-reference master-reference="titlepage-odd-draft"
2271 odd-or-even="odd"/>
2272 <fo:conditional-page-master-reference
2273 odd-or-even="even">
2274 <xsl:attribute name="master-reference">
2275 <xsl:choose>
2276 <xsl:when test="$double.sided != 0">titlepage-even-draft</xsl:when>
2277 <xsl:otherwise>titlepage-odd-draft</xsl:otherwise>
2278 </xsl:choose>
2279 </xsl:attribute>
2280 </fo:conditional-page-master-reference>
2281 </fo:repeatable-page-master-alternatives>
2282 </fo:page-sequence-master>
2283
2284 <!-- setup for draft lots -->
2285 <fo:page-sequence-master master-name="lot-draft">
2286 <fo:repeatable-page-master-alternatives>
2287 <fo:conditional-page-master-reference master-reference="blank-draft"
2288 blank-or-not-blank="blank"/>
2289 <xsl:if test="$force.blank.pages != 0">
2290 <fo:conditional-page-master-reference master-reference="lot-first-draft"
2291 page-position="first"/>
2292 </xsl:if>
2293 <fo:conditional-page-master-reference master-reference="lot-odd-draft"
2294 odd-or-even="odd"/>
2295 <fo:conditional-page-master-reference
2296 odd-or-even="even">
2297 <xsl:attribute name="master-reference">
2298 <xsl:choose>
2299 <xsl:when test="$double.sided != 0">lot-even-draft</xsl:when>
2300 <xsl:otherwise>lot-odd-draft</xsl:otherwise>
2301 </xsl:choose>
2302 </xsl:attribute>
2303 </fo:conditional-page-master-reference>
2304 </fo:repeatable-page-master-alternatives>
2305 </fo:page-sequence-master>
2306
2307 <!-- setup draft front matter -->
2308 <fo:page-sequence-master master-name="front-draft">
2309 <fo:repeatable-page-master-alternatives>
2310 <fo:conditional-page-master-reference master-reference="blank-draft"
2311 blank-or-not-blank="blank"/>
2312 <xsl:if test="$force.blank.pages != 0">
2313 <fo:conditional-page-master-reference master-reference="front-first-draft"
2314 page-position="first"/>
2315 </xsl:if>
2316 <fo:conditional-page-master-reference master-reference="front-odd-draft"
2317 odd-or-even="odd"/>
2318 <fo:conditional-page-master-reference
2319 odd-or-even="even">
2320 <xsl:attribute name="master-reference">
2321 <xsl:choose>
2322 <xsl:when test="$double.sided != 0">front-even-draft</xsl:when>
2323 <xsl:otherwise>front-odd-draft</xsl:otherwise>
2324 </xsl:choose>
2325 </xsl:attribute>
2326 </fo:conditional-page-master-reference>
2327 </fo:repeatable-page-master-alternatives>
2328 </fo:page-sequence-master>
2329
2330 <!-- setup for draft body pages -->
2331 <fo:page-sequence-master master-name="body-draft">
2332 <fo:repeatable-page-master-alternatives>
2333 <fo:conditional-page-master-reference master-reference="blank-draft"
2334 blank-or-not-blank="blank"/>
2335 <xsl:if test="$force.blank.pages != 0">
2336 <fo:conditional-page-master-reference master-reference="body-first-draft"
2337 page-position="first"/>
2338 </xsl:if>
2339 <fo:conditional-page-master-reference master-reference="body-odd-draft"
2340 odd-or-even="odd"/>
2341 <fo:conditional-page-master-reference
2342 odd-or-even="even">
2343 <xsl:attribute name="master-reference">
2344 <xsl:choose>
2345 <xsl:when test="$double.sided != 0">body-even-draft</xsl:when>
2346 <xsl:otherwise>body-odd-draft</xsl:otherwise>
2347 </xsl:choose>
2348 </xsl:attribute>
2349 </fo:conditional-page-master-reference>
2350 </fo:repeatable-page-master-alternatives>
2351 </fo:page-sequence-master>
2352
2353 <!-- setup draft back matter -->
2354 <fo:page-sequence-master master-name="back-draft">
2355 <fo:repeatable-page-master-alternatives>
2356 <fo:conditional-page-master-reference master-reference="blank-draft"
2357 blank-or-not-blank="blank"/>
2358 <xsl:if test="$force.blank.pages != 0">
2359 <fo:conditional-page-master-reference master-reference="back-first-draft"
2360 page-position="first"/>
2361 </xsl:if>
2362 <fo:conditional-page-master-reference master-reference="back-odd-draft"
2363 odd-or-even="odd"/>
2364 <fo:conditional-page-master-reference
2365 odd-or-even="even">
2366 <xsl:attribute name="master-reference">
2367 <xsl:choose>
2368 <xsl:when test="$double.sided != 0">back-even-draft</xsl:when>
2369 <xsl:otherwise>back-odd-draft</xsl:otherwise>
2370 </xsl:choose>
2371 </xsl:attribute>
2372 </fo:conditional-page-master-reference>
2373 </fo:repeatable-page-master-alternatives>
2374 </fo:page-sequence-master>
2375
2376 <!-- setup draft index pages -->
2377 <fo:page-sequence-master master-name="index-draft">
2378 <fo:repeatable-page-master-alternatives>
2379 <fo:conditional-page-master-reference master-reference="blank-draft"
2380 blank-or-not-blank="blank"/>
2381 <xsl:if test="$force.blank.pages != 0">
2382 <fo:conditional-page-master-reference master-reference="index-first-draft"
2383 page-position="first"/>
2384 </xsl:if>
2385 <fo:conditional-page-master-reference master-reference="index-odd-draft"
2386 odd-or-even="odd"/>
2387 <fo:conditional-page-master-reference
2388 odd-or-even="even">
2389 <xsl:attribute name="master-reference">
2390 <xsl:choose>
2391 <xsl:when test="$double.sided != 0">index-even-draft</xsl:when>
2392 <xsl:otherwise>index-odd-draft</xsl:otherwise>
2393 </xsl:choose>
2394 </xsl:attribute>
2395 </fo:conditional-page-master-reference>
2396 </fo:repeatable-page-master-alternatives>
2397 </fo:page-sequence-master>
2398 </xsl:if>
2399
2400 <xsl:call-template name="user.pagemasters"/>
2401
2402 </fo:layout-master-set>
2403</xsl:template>
2404
2405<!-- ==================================================================== -->
2406
2407<xsl:template name="user.pagemasters"/> <!-- intentionally empty -->
2408
2409<!-- ==================================================================== -->
2410
2411<xsl:template name="select.pagemaster">
2412 <xsl:param name="element" select="local-name(.)"/>
2413 <xsl:param name="pageclass" select="''"/>
2414
2415 <xsl:variable name="pagemaster">
2416 <xsl:choose>
2417 <xsl:when test="$pageclass != ''">
2418 <xsl:value-of select="$pageclass"/>
2419 </xsl:when>
2420 <xsl:when test="$pageclass = 'lot'">lot</xsl:when>
2421 <xsl:when test="$element = 'dedication'">front</xsl:when>
2422 <xsl:when test="$element = 'acknowledgements'">front</xsl:when>
2423 <xsl:when test="$element = 'preface'">front</xsl:when>
2424 <xsl:when test="$element = 'appendix'">back</xsl:when>
2425 <xsl:when test="$element = 'glossary'">back</xsl:when>
2426 <xsl:when test="$element = 'bibliography'">back</xsl:when>
2427 <xsl:when test="$element = 'index'">index</xsl:when>
2428 <xsl:when test="$element = 'colophon'">back</xsl:when>
2429 <xsl:otherwise>body</xsl:otherwise>
2430 </xsl:choose>
2431
2432 <xsl:choose>
2433 <xsl:when test="$draft.mode = 'yes'">
2434 <xsl:text>-draft</xsl:text>
2435 </xsl:when>
2436 <xsl:when test="$draft.mode = 'no'">
2437 <!-- nop -->
2438 </xsl:when>
2439 <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
2440 <xsl:text>-draft</xsl:text>
2441 </xsl:when>
2442 <xsl:otherwise>
2443 <!-- nop -->
2444 </xsl:otherwise>
2445 </xsl:choose>
2446 </xsl:variable>
2447
2448 <xsl:call-template name="select.user.pagemaster">
2449 <xsl:with-param name="element" select="$element"/>
2450 <xsl:with-param name="pageclass" select="$pageclass"/>
2451 <xsl:with-param name="default-pagemaster" select="$pagemaster"/>
2452 </xsl:call-template>
2453</xsl:template>
2454
2455<xsl:template name="select.user.pagemaster">
2456 <xsl:param name="element"/>
2457 <xsl:param name="pageclass"/>
2458 <xsl:param name="default-pagemaster"/>
2459
2460 <!-- by default, return the default. But if you've created your own
2461 pagemasters in user.pagemasters, you might want to select one here. -->
2462 <xsl:value-of select="$default-pagemaster"/>
2463</xsl:template>
2464
2465<!-- ==================================================================== -->
2466
2467<xsl:template name="head.sep.rule">
2468 <xsl:param name="pageclass"/>
2469 <xsl:param name="sequence"/>
2470 <xsl:param name="gentext-key"/>
2471
2472 <xsl:if test="$header.rule != 0">
2473 <xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
2474 <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
2475 <xsl:attribute name="border-bottom-color">black</xsl:attribute>
2476 </xsl:if>
2477</xsl:template>
2478
2479<xsl:template name="foot.sep.rule">
2480 <xsl:param name="pageclass"/>
2481 <xsl:param name="sequence"/>
2482 <xsl:param name="gentext-key"/>
2483
2484 <xsl:if test="$footer.rule != 0">
2485 <xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
2486 <xsl:attribute name="border-top-style">solid</xsl:attribute>
2487 <xsl:attribute name="border-top-color">black</xsl:attribute>
2488 </xsl:if>
2489</xsl:template>
2490
2491<!-- ==================================================================== -->
2492
2493<xsl:template match="*" mode="running.head.mode">
2494 <xsl:param name="master-reference" select="'unknown'"/>
2495 <xsl:param name="gentext-key" select="local-name(.)"/>
2496
2497 <!-- remove -draft from reference -->
2498 <xsl:variable name="pageclass">
2499 <xsl:choose>
2500 <xsl:when test="contains($master-reference, '-draft')">
2501 <xsl:value-of select="substring-before($master-reference, '-draft')"/>
2502 </xsl:when>
2503 <xsl:otherwise>
2504 <xsl:value-of select="$master-reference"/>
2505 </xsl:otherwise>
2506 </xsl:choose>
2507 </xsl:variable>
2508
2509 <fo:static-content flow-name="xsl-region-before-first">
2510 <fo:block xsl:use-attribute-sets="header.content.properties">
2511 <xsl:call-template name="header.table">
2512 <xsl:with-param name="pageclass" select="$pageclass"/>
2513 <xsl:with-param name="sequence" select="'first'"/>
2514 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2515 </xsl:call-template>
2516 </fo:block>
2517 </fo:static-content>
2518
2519 <fo:static-content flow-name="xsl-region-before-odd">
2520 <fo:block xsl:use-attribute-sets="header.content.properties">
2521 <xsl:call-template name="header.table">
2522 <xsl:with-param name="pageclass" select="$pageclass"/>
2523 <xsl:with-param name="sequence" select="'odd'"/>
2524 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2525 </xsl:call-template>
2526 </fo:block>
2527 </fo:static-content>
2528
2529 <fo:static-content flow-name="xsl-region-before-even">
2530 <fo:block xsl:use-attribute-sets="header.content.properties">
2531 <xsl:call-template name="header.table">
2532 <xsl:with-param name="pageclass" select="$pageclass"/>
2533 <xsl:with-param name="sequence" select="'even'"/>
2534 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2535 </xsl:call-template>
2536 </fo:block>
2537 </fo:static-content>
2538
2539 <fo:static-content flow-name="xsl-region-before-blank">
2540 <fo:block xsl:use-attribute-sets="header.content.properties">
2541 <xsl:call-template name="header.table">
2542 <xsl:with-param name="pageclass" select="$pageclass"/>
2543 <xsl:with-param name="sequence" select="'blank'"/>
2544 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2545 </xsl:call-template>
2546 </fo:block>
2547 </fo:static-content>
2548
2549 <xsl:call-template name="footnote-separator"/>
2550
2551 <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
2552 <xsl:call-template name="blank.page.content"/>
2553 </xsl:if>
2554
2555 <xsl:apply-templates select="." mode="region.inner.mode">
2556 <xsl:with-param name="master-reference" select="$master-reference"/>
2557 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2558 </xsl:apply-templates>
2559
2560 <xsl:apply-templates select="." mode="region.outer.mode">
2561 <xsl:with-param name="master-reference" select="$master-reference"/>
2562 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2563 </xsl:apply-templates>
2564
2565</xsl:template>
2566
2567<xsl:template name="footnote-separator">
2568 <fo:static-content flow-name="xsl-footnote-separator">
2569 <fo:block>
2570 <fo:leader xsl:use-attribute-sets="footnote.sep.leader.properties"/>
2571 </fo:block>
2572 </fo:static-content>
2573</xsl:template>
2574
2575<xsl:template name="blank.page.content">
2576 <fo:static-content flow-name="blank-body">
2577 <fo:block text-align="center"/>
2578 </fo:static-content>
2579</xsl:template>
2580
2581<xsl:template name="running.side.content">
2582 <xsl:apply-templates select="." mode="region.inner.mode"/>
2583</xsl:template>
2584
2585<xsl:template name="header.table">
2586 <xsl:param name="pageclass" select="''"/>
2587 <xsl:param name="sequence" select="''"/>
2588 <xsl:param name="gentext-key" select="''"/>
2589
2590 <!-- default is a single table style for all headers -->
2591 <!-- Customize it for different page classes or sequence location -->
2592
2593 <xsl:choose>
2594 <xsl:when test="$pageclass = 'index'">
2595 <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute>
2596 </xsl:when>
2597 </xsl:choose>
2598
2599 <xsl:variable name="column1">
2600 <xsl:choose>
2601 <xsl:when test="$double.sided = 0">1</xsl:when>
2602 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
2603 <xsl:otherwise>3</xsl:otherwise>
2604 </xsl:choose>
2605 </xsl:variable>
2606
2607 <xsl:variable name="column3">
2608 <xsl:choose>
2609 <xsl:when test="$double.sided = 0">3</xsl:when>
2610 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
2611 <xsl:otherwise>1</xsl:otherwise>
2612 </xsl:choose>
2613 </xsl:variable>
2614
2615 <xsl:variable name="candidate">
2616 <fo:table xsl:use-attribute-sets="header.table.properties">
2617 <xsl:call-template name="head.sep.rule">
2618 <xsl:with-param name="pageclass" select="$pageclass"/>
2619 <xsl:with-param name="sequence" select="$sequence"/>
2620 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2621 </xsl:call-template>
2622
2623 <fo:table-column column-number="1">
2624 <xsl:attribute name="column-width">
2625 <xsl:text>proportional-column-width(</xsl:text>
2626 <xsl:call-template name="header.footer.width">
2627 <xsl:with-param name="location">header</xsl:with-param>
2628 <xsl:with-param name="position" select="$column1"/>
2629 <xsl:with-param name="pageclass" select="$pageclass"/>
2630 <xsl:with-param name="sequence" select="$sequence"/>
2631 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2632 </xsl:call-template>
2633 <xsl:text>)</xsl:text>
2634 </xsl:attribute>
2635 </fo:table-column>
2636 <fo:table-column column-number="2">
2637 <xsl:attribute name="column-width">
2638 <xsl:text>proportional-column-width(</xsl:text>
2639 <xsl:call-template name="header.footer.width">
2640 <xsl:with-param name="location">header</xsl:with-param>
2641 <xsl:with-param name="position" select="2"/>
2642 <xsl:with-param name="pageclass" select="$pageclass"/>
2643 <xsl:with-param name="sequence" select="$sequence"/>
2644 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2645 </xsl:call-template>
2646 <xsl:text>)</xsl:text>
2647 </xsl:attribute>
2648 </fo:table-column>
2649 <fo:table-column column-number="3">
2650 <xsl:attribute name="column-width">
2651 <xsl:text>proportional-column-width(</xsl:text>
2652 <xsl:call-template name="header.footer.width">
2653 <xsl:with-param name="location">header</xsl:with-param>
2654 <xsl:with-param name="position" select="$column3"/>
2655 <xsl:with-param name="pageclass" select="$pageclass"/>
2656 <xsl:with-param name="sequence" select="$sequence"/>
2657 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2658 </xsl:call-template>
2659 <xsl:text>)</xsl:text>
2660 </xsl:attribute>
2661 </fo:table-column>
2662
2663 <fo:table-body>
2664 <fo:table-row>
2665 <xsl:attribute name="block-progression-dimension.minimum">
2666 <xsl:value-of select="$header.table.height"/>
2667 </xsl:attribute>
2668 <fo:table-cell text-align="start"
2669 display-align="before">
2670 <xsl:if test="$fop.extensions = 0">
2671 <xsl:attribute name="relative-align">baseline</xsl:attribute>
2672 </xsl:if>
2673 <fo:block>
2674 <xsl:call-template name="header.content">
2675 <xsl:with-param name="pageclass" select="$pageclass"/>
2676 <xsl:with-param name="sequence" select="$sequence"/>
2677 <xsl:with-param name="position" select="$direction.align.start"/>
2678 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2679 </xsl:call-template>
2680 </fo:block>
2681 </fo:table-cell>
2682 <fo:table-cell text-align="center"
2683 display-align="before">
2684 <xsl:if test="$fop.extensions = 0">
2685 <xsl:attribute name="relative-align">baseline</xsl:attribute>
2686 </xsl:if>
2687 <fo:block>
2688 <xsl:call-template name="header.content">
2689 <xsl:with-param name="pageclass" select="$pageclass"/>
2690 <xsl:with-param name="sequence" select="$sequence"/>
2691 <xsl:with-param name="position" select="'center'"/>
2692 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2693 </xsl:call-template>
2694 </fo:block>
2695 </fo:table-cell>
2696 <fo:table-cell text-align="right"
2697 display-align="before">
2698 <xsl:if test="$fop.extensions = 0">
2699 <xsl:attribute name="relative-align">baseline</xsl:attribute>
2700 </xsl:if>
2701 <fo:block>
2702 <xsl:call-template name="header.content">
2703 <xsl:with-param name="pageclass" select="$pageclass"/>
2704 <xsl:with-param name="sequence" select="$sequence"/>
2705 <xsl:with-param name="position" select="$direction.align.end"/>
2706 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2707 </xsl:call-template>
2708 </fo:block>
2709 </fo:table-cell>
2710 </fo:table-row>
2711 </fo:table-body>
2712 </fo:table>
2713 </xsl:variable>
2714
2715 <!-- Really output a header? -->
2716 <xsl:choose>
2717 <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
2718 and $sequence='first'">
2719 <!-- no, book titlepages have no headers at all -->
2720 </xsl:when>
2721 <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
2722 <!-- no output -->
2723 </xsl:when>
2724 <xsl:otherwise>
2725 <xsl:copy-of select="$candidate"/>
2726 </xsl:otherwise>
2727 </xsl:choose>
2728</xsl:template>
2729
2730<xsl:template name="header.content">
2731 <xsl:param name="pageclass" select="''"/>
2732 <xsl:param name="sequence" select="''"/>
2733 <xsl:param name="position" select="''"/>
2734 <xsl:param name="gentext-key" select="''"/>
2735
2736<!--
2737 <fo:block>
2738 <xsl:value-of select="$pageclass"/>
2739 <xsl:text>, </xsl:text>
2740 <xsl:value-of select="$sequence"/>
2741 <xsl:text>, </xsl:text>
2742 <xsl:value-of select="$position"/>
2743 <xsl:text>, </xsl:text>
2744 <xsl:value-of select="$gentext-key"/>
2745 </fo:block>
2746-->
2747
2748 <fo:block>
2749
2750 <!-- sequence can be odd, even, first, blank -->
2751 <!-- position can be left, center, right -->
2752 <xsl:choose>
2753 <xsl:when test="$sequence = 'blank'">
2754 <!-- nothing -->
2755 </xsl:when>
2756
2757 <xsl:when test="$position='left'">
2758 <!-- Same for odd, even, empty, and blank sequences -->
2759 <xsl:call-template name="draft.text"/>
2760 </xsl:when>
2761
2762 <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'">
2763 <xsl:if test="$pageclass != 'titlepage'">
2764 <xsl:choose>
2765 <xsl:when test="ancestor::book and ($double.sided != 0)">
2766 <fo:retrieve-marker retrieve-class-name="section.head.marker"
2767 retrieve-position="first-including-carryover"
2768 retrieve-boundary="page-sequence"/>
2769 </xsl:when>
2770 <xsl:otherwise>
2771 <xsl:apply-templates select="." mode="titleabbrev.markup"/>
2772 </xsl:otherwise>
2773 </xsl:choose>
2774 </xsl:if>
2775 </xsl:when>
2776
2777 <xsl:when test="$position='center'">
2778 <!-- nothing for empty and blank sequences -->
2779 </xsl:when>
2780
2781 <xsl:when test="$position='right'">
2782 <!-- Same for odd, even, empty, and blank sequences -->
2783 <xsl:call-template name="draft.text"/>
2784 </xsl:when>
2785
2786 <xsl:when test="$sequence = 'first'">
2787 <!-- nothing for first pages -->
2788 </xsl:when>
2789
2790 <xsl:when test="$sequence = 'blank'">
2791 <!-- nothing for blank pages -->
2792 </xsl:when>
2793 </xsl:choose>
2794 </fo:block>
2795</xsl:template>
2796
2797<xsl:template name="header.footer.width">
2798 <xsl:param name="location" select="'header'"/>
2799 <xsl:param name="position" select="1"/>
2800 <xsl:param name="pageclass" select="''"/>
2801 <xsl:param name="sequence" select="''"/>
2802 <xsl:param name="gentext-key" select="''"/>
2803
2804 <!-- The location param is either 'header' or 'footer'.
2805 The position param is one of '1', '2', or '3' to indicate
2806 which column of the header or footer table. -->
2807
2808 <!-- The pageclass, sequence, and gentext-key values are passed
2809 from the header.table or footer.table template. They are
2810 not currently used, but are made available here
2811 for customization of this template. -->
2812
2813 <xsl:variable name="width.set">
2814 <xsl:choose>
2815 <xsl:when test="$location = 'header'">
2816 <xsl:value-of select="normalize-space($header.column.widths)"/>
2817 </xsl:when>
2818 <xsl:otherwise>
2819 <xsl:value-of select="normalize-space($footer.column.widths)"/>
2820 </xsl:otherwise>
2821 </xsl:choose>
2822 </xsl:variable>
2823
2824
2825 <xsl:variable name="width">
2826 <xsl:choose>
2827 <xsl:when test="$position = 1">
2828 <xsl:value-of select="substring-before($width.set, ' ')"/>
2829 </xsl:when>
2830 <xsl:when test="$position = 2">
2831 <xsl:value-of select="substring-before(substring-after($width.set, ' '), ' ')"/>
2832 </xsl:when>
2833 <xsl:otherwise>
2834 <xsl:value-of select="substring-after(substring-after($width.set, ' '), ' ')"/>
2835 </xsl:otherwise>
2836 </xsl:choose>
2837 </xsl:variable>
2838
2839 <!-- Make sure it is a number -->
2840 <xsl:choose>
2841 <xsl:when test = "$width = number($width)">
2842 <xsl:value-of select="$width"/>
2843 </xsl:when>
2844 <xsl:otherwise>
2845 <xsl:message>Error: value in <xsl:value-of select="$location"/>.column.widths at position <xsl:value-of select="$position"/> is not a number.</xsl:message>
2846 <xsl:text>1</xsl:text>
2847 </xsl:otherwise>
2848 </xsl:choose>
2849</xsl:template>
2850
2851<xsl:template name="draft.text">
2852 <xsl:choose>
2853 <xsl:when test="$draft.mode = 'yes'">
2854 <xsl:call-template name="gentext">
2855 <xsl:with-param name="key" select="'Draft'"/>
2856 </xsl:call-template>
2857 </xsl:when>
2858 <xsl:when test="$draft.mode = 'no'">
2859 <!-- nop -->
2860 </xsl:when>
2861 <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
2862 <xsl:call-template name="gentext">
2863 <xsl:with-param name="key" select="'Draft'"/>
2864 </xsl:call-template>
2865 </xsl:when>
2866 <xsl:otherwise>
2867 <!-- nop -->
2868 </xsl:otherwise>
2869 </xsl:choose>
2870</xsl:template>
2871
2872<!-- ==================================================================== -->
2873
2874<xsl:template match="*" mode="running.foot.mode">
2875 <xsl:param name="master-reference" select="'unknown'"/>
2876 <xsl:param name="gentext-key" select="local-name(.)"/>
2877
2878 <!-- remove -draft from reference -->
2879 <xsl:variable name="pageclass">
2880 <xsl:choose>
2881 <xsl:when test="contains($master-reference, '-draft')">
2882 <xsl:value-of select="substring-before($master-reference, '-draft')"/>
2883 </xsl:when>
2884 <xsl:otherwise>
2885 <xsl:value-of select="$master-reference"/>
2886 </xsl:otherwise>
2887 </xsl:choose>
2888 </xsl:variable>
2889
2890 <fo:static-content flow-name="xsl-region-after-first">
2891 <fo:block xsl:use-attribute-sets="footer.content.properties">
2892 <xsl:call-template name="footer.table">
2893 <xsl:with-param name="pageclass" select="$pageclass"/>
2894 <xsl:with-param name="sequence" select="'first'"/>
2895 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2896 </xsl:call-template>
2897 </fo:block>
2898 </fo:static-content>
2899
2900 <fo:static-content flow-name="xsl-region-after-odd">
2901 <fo:block xsl:use-attribute-sets="footer.content.properties">
2902 <xsl:call-template name="footer.table">
2903 <xsl:with-param name="pageclass" select="$pageclass"/>
2904 <xsl:with-param name="sequence" select="'odd'"/>
2905 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2906 </xsl:call-template>
2907 </fo:block>
2908 </fo:static-content>
2909
2910 <fo:static-content flow-name="xsl-region-after-even">
2911 <fo:block xsl:use-attribute-sets="footer.content.properties">
2912 <xsl:call-template name="footer.table">
2913 <xsl:with-param name="pageclass" select="$pageclass"/>
2914 <xsl:with-param name="sequence" select="'even'"/>
2915 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2916 </xsl:call-template>
2917 </fo:block>
2918 </fo:static-content>
2919
2920 <fo:static-content flow-name="xsl-region-after-blank">
2921 <fo:block xsl:use-attribute-sets="footer.content.properties">
2922 <xsl:call-template name="footer.table">
2923 <xsl:with-param name="pageclass" select="$pageclass"/>
2924 <xsl:with-param name="sequence" select="'blank'"/>
2925 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2926 </xsl:call-template>
2927 </fo:block>
2928 </fo:static-content>
2929</xsl:template>
2930
2931<xsl:template name="footer.table">
2932 <xsl:param name="pageclass" select="''"/>
2933 <xsl:param name="sequence" select="''"/>
2934 <xsl:param name="gentext-key" select="''"/>
2935
2936 <!-- default is a single table style for all footers -->
2937 <!-- Customize it for different page classes or sequence location -->
2938
2939 <xsl:choose>
2940 <xsl:when test="$pageclass = 'index'">
2941 <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute>
2942 </xsl:when>
2943 </xsl:choose>
2944
2945 <xsl:variable name="column1">
2946 <xsl:choose>
2947 <xsl:when test="$double.sided = 0">1</xsl:when>
2948 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
2949 <xsl:otherwise>3</xsl:otherwise>
2950 </xsl:choose>
2951 </xsl:variable>
2952
2953 <xsl:variable name="column3">
2954 <xsl:choose>
2955 <xsl:when test="$double.sided = 0">3</xsl:when>
2956 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
2957 <xsl:otherwise>1</xsl:otherwise>
2958 </xsl:choose>
2959 </xsl:variable>
2960
2961 <xsl:variable name="candidate">
2962 <fo:table xsl:use-attribute-sets="footer.table.properties">
2963 <xsl:call-template name="foot.sep.rule">
2964 <xsl:with-param name="pageclass" select="$pageclass"/>
2965 <xsl:with-param name="sequence" select="$sequence"/>
2966 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2967 </xsl:call-template>
2968 <fo:table-column column-number="1">
2969 <xsl:attribute name="column-width">
2970 <xsl:text>proportional-column-width(</xsl:text>
2971 <xsl:call-template name="header.footer.width">
2972 <xsl:with-param name="location">footer</xsl:with-param>
2973 <xsl:with-param name="position" select="$column1"/>
2974 <xsl:with-param name="pageclass" select="$pageclass"/>
2975 <xsl:with-param name="sequence" select="$sequence"/>
2976 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2977 </xsl:call-template>
2978 <xsl:text>)</xsl:text>
2979 </xsl:attribute>
2980 </fo:table-column>
2981 <fo:table-column column-number="2">
2982 <xsl:attribute name="column-width">
2983 <xsl:text>proportional-column-width(</xsl:text>
2984 <xsl:call-template name="header.footer.width">
2985 <xsl:with-param name="location">footer</xsl:with-param>
2986 <xsl:with-param name="position" select="2"/>
2987 <xsl:with-param name="pageclass" select="$pageclass"/>
2988 <xsl:with-param name="sequence" select="$sequence"/>
2989 <xsl:with-param name="gentext-key" select="$gentext-key"/>
2990 </xsl:call-template>
2991 <xsl:text>)</xsl:text>
2992 </xsl:attribute>
2993 </fo:table-column>
2994 <fo:table-column column-number="3">
2995 <xsl:attribute name="column-width">
2996 <xsl:text>proportional-column-width(</xsl:text>
2997 <xsl:call-template name="header.footer.width">
2998 <xsl:with-param name="location">footer</xsl:with-param>
2999 <xsl:with-param name="position" select="$column3"/>
3000 <xsl:with-param name="pageclass" select="$pageclass"/>
3001 <xsl:with-param name="sequence" select="$sequence"/>
3002 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3003 </xsl:call-template>
3004 <xsl:text>)</xsl:text>
3005 </xsl:attribute>
3006 </fo:table-column>
3007
3008 <fo:table-body>
3009 <fo:table-row>
3010 <xsl:attribute name="block-progression-dimension.minimum">
3011 <xsl:value-of select="$footer.table.height"/>
3012 </xsl:attribute>
3013 <fo:table-cell text-align="start"
3014 display-align="after">
3015 <xsl:if test="$fop.extensions = 0">
3016 <xsl:attribute name="relative-align">baseline</xsl:attribute>
3017 </xsl:if>
3018 <fo:block>
3019 <xsl:call-template name="footer.content">
3020 <xsl:with-param name="pageclass" select="$pageclass"/>
3021 <xsl:with-param name="sequence" select="$sequence"/>
3022 <xsl:with-param name="position" select="$direction.align.start"/>
3023 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3024 </xsl:call-template>
3025 </fo:block>
3026 </fo:table-cell>
3027 <fo:table-cell text-align="center"
3028 display-align="after">
3029 <xsl:if test="$fop.extensions = 0">
3030 <xsl:attribute name="relative-align">baseline</xsl:attribute>
3031 </xsl:if>
3032 <fo:block>
3033 <xsl:call-template name="footer.content">
3034 <xsl:with-param name="pageclass" select="$pageclass"/>
3035 <xsl:with-param name="sequence" select="$sequence"/>
3036 <xsl:with-param name="position" select="'center'"/>
3037 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3038 </xsl:call-template>
3039 </fo:block>
3040 </fo:table-cell>
3041 <fo:table-cell text-align="end"
3042 display-align="after">
3043 <xsl:if test="$fop.extensions = 0">
3044 <xsl:attribute name="relative-align">baseline</xsl:attribute>
3045 </xsl:if>
3046 <fo:block>
3047 <xsl:call-template name="footer.content">
3048 <xsl:with-param name="pageclass" select="$pageclass"/>
3049 <xsl:with-param name="sequence" select="$sequence"/>
3050 <xsl:with-param name="position" select="$direction.align.end"/>
3051 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3052 </xsl:call-template>
3053 </fo:block>
3054 </fo:table-cell>
3055 </fo:table-row>
3056 </fo:table-body>
3057 </fo:table>
3058 </xsl:variable>
3059
3060 <!-- Really output a footer? -->
3061 <xsl:choose>
3062 <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
3063 and $sequence='first'">
3064 <!-- no, book titlepages have no footers at all -->
3065 </xsl:when>
3066 <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
3067 <!-- no output -->
3068 </xsl:when>
3069 <xsl:otherwise>
3070 <xsl:copy-of select="$candidate"/>
3071 </xsl:otherwise>
3072 </xsl:choose>
3073</xsl:template>
3074
3075<xsl:template name="footer.content">
3076 <xsl:param name="pageclass" select="''"/>
3077 <xsl:param name="sequence" select="''"/>
3078 <xsl:param name="position" select="''"/>
3079 <xsl:param name="gentext-key" select="''"/>
3080
3081<!--
3082 <fo:block>
3083 <xsl:value-of select="$pageclass"/>
3084 <xsl:text>, </xsl:text>
3085 <xsl:value-of select="$sequence"/>
3086 <xsl:text>, </xsl:text>
3087 <xsl:value-of select="$position"/>
3088 <xsl:text>, </xsl:text>
3089 <xsl:value-of select="$gentext-key"/>
3090 </fo:block>
3091-->
3092
3093 <fo:block>
3094 <!-- pageclass can be front, body, back -->
3095 <!-- sequence can be odd, even, first, blank -->
3096 <!-- position can be left, center, right -->
3097 <xsl:choose>
3098 <xsl:when test="$pageclass = 'titlepage'">
3099 <!-- nop; no footer on title pages -->
3100 </xsl:when>
3101
3102 <xsl:when test="$double.sided != 0 and $sequence = 'even'
3103 and $position='left'">
3104 <fo:page-number/>
3105 </xsl:when>
3106
3107 <xsl:when test="$double.sided != 0 and ($sequence = 'odd' or $sequence = 'first')
3108 and $position='right'">
3109 <fo:page-number/>
3110 </xsl:when>
3111
3112 <xsl:when test="$double.sided = 0 and $position='center'">
3113 <fo:page-number/>
3114 </xsl:when>
3115
3116 <xsl:when test="$sequence='blank'">
3117 <xsl:choose>
3118 <xsl:when test="$double.sided != 0 and $position = 'left'">
3119 <fo:page-number/>
3120 </xsl:when>
3121 <xsl:when test="$double.sided = 0 and $position = 'center'">
3122 <fo:page-number/>
3123 </xsl:when>
3124 <xsl:otherwise>
3125 <!-- nop -->
3126 </xsl:otherwise>
3127 </xsl:choose>
3128 </xsl:when>
3129
3130
3131 <xsl:otherwise>
3132 <!-- nop -->
3133 </xsl:otherwise>
3134 </xsl:choose>
3135 </fo:block>
3136</xsl:template>
3137
3138<!-- ==================================================================== -->
3139<xsl:template match="*" mode="region.inner.mode">
3140 <xsl:param name="master-reference" select="'unknown'"/>
3141 <xsl:param name="gentext-key" select="local-name(.)"/>
3142
3143 <!-- remove -draft from reference -->
3144 <xsl:variable name="pageclass">
3145 <xsl:choose>
3146 <xsl:when test="contains($master-reference, '-draft')">
3147 <xsl:value-of select="substring-before($master-reference, '-draft')"/>
3148 </xsl:when>
3149 <xsl:otherwise>
3150 <xsl:value-of select="$master-reference"/>
3151 </xsl:otherwise>
3152 </xsl:choose>
3153 </xsl:variable>
3154
3155 <fo:static-content flow-name="xsl-region-inner-first">
3156 <xsl:call-template name="inner.region.content">
3157 <xsl:with-param name="pageclass" select="$pageclass"/>
3158 <xsl:with-param name="sequence" select="'first'"/>
3159 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3160 </xsl:call-template>
3161 </fo:static-content>
3162
3163 <fo:static-content flow-name="xsl-region-inner-odd">
3164 <xsl:call-template name="inner.region.content">
3165 <xsl:with-param name="pageclass" select="$pageclass"/>
3166 <xsl:with-param name="sequence" select="'odd'"/>
3167 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3168 </xsl:call-template>
3169 </fo:static-content>
3170
3171 <fo:static-content flow-name="xsl-region-inner-even">
3172 <xsl:call-template name="inner.region.content">
3173 <xsl:with-param name="pageclass" select="$pageclass"/>
3174 <xsl:with-param name="sequence" select="'even'"/>
3175 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3176 </xsl:call-template>
3177 </fo:static-content>
3178
3179 <fo:static-content flow-name="xsl-region-inner-blank">
3180 <xsl:call-template name="inner.region.content">
3181 <xsl:with-param name="pageclass" select="$pageclass"/>
3182 <xsl:with-param name="sequence" select="'blank'"/>
3183 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3184 </xsl:call-template>
3185 </fo:static-content>
3186
3187</xsl:template>
3188
3189<xsl:template match="*" mode="region.outer.mode">
3190 <xsl:param name="master-reference" select="'unknown'"/>
3191 <xsl:param name="gentext-key" select="local-name(.)"/>
3192
3193 <!-- remove -draft from reference -->
3194 <xsl:variable name="pageclass">
3195 <xsl:choose>
3196 <xsl:when test="contains($master-reference, '-draft')">
3197 <xsl:value-of select="substring-before($master-reference, '-draft')"/>
3198 </xsl:when>
3199 <xsl:otherwise>
3200 <xsl:value-of select="$master-reference"/>
3201 </xsl:otherwise>
3202 </xsl:choose>
3203 </xsl:variable>
3204
3205 <fo:static-content flow-name="xsl-region-outer-first">
3206 <xsl:call-template name="outer.region.content">
3207 <xsl:with-param name="pageclass" select="$pageclass"/>
3208 <xsl:with-param name="sequence" select="'first'"/>
3209 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3210 </xsl:call-template>
3211 </fo:static-content>
3212
3213 <fo:static-content flow-name="xsl-region-outer-odd">
3214 <xsl:call-template name="outer.region.content">
3215 <xsl:with-param name="pageclass" select="$pageclass"/>
3216 <xsl:with-param name="sequence" select="'odd'"/>
3217 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3218 </xsl:call-template>
3219 </fo:static-content>
3220
3221 <fo:static-content flow-name="xsl-region-outer-even">
3222 <xsl:call-template name="outer.region.content">
3223 <xsl:with-param name="pageclass" select="$pageclass"/>
3224 <xsl:with-param name="sequence" select="'even'"/>
3225 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3226 </xsl:call-template>
3227 </fo:static-content>
3228
3229 <fo:static-content flow-name="xsl-region-outer-blank">
3230 <xsl:call-template name="outer.region.content">
3231 <xsl:with-param name="pageclass" select="$pageclass"/>
3232 <xsl:with-param name="sequence" select="'blank'"/>
3233 <xsl:with-param name="gentext-key" select="$gentext-key"/>
3234 </xsl:call-template>
3235 </fo:static-content>
3236
3237</xsl:template>
3238
3239<xsl:template name="inner.region.content">
3240 <xsl:param name="pageclass" select="''"/>
3241 <xsl:param name="sequence" select="''"/>
3242 <xsl:param name="position" select="''"/>
3243 <xsl:param name="gentext-key" select="''"/>
3244
3245 <!-- pageclass can be front, body, back -->
3246 <!-- sequence can be odd, even, first, blank -->
3247 <!-- position can be left, center, right -->
3248
3249 <!-- Customize to add side region content-->
3250 <fo:block xsl:use-attribute-sets="inner.region.content.properties">
3251 <!-- Add your content here -->
3252 </fo:block>
3253</xsl:template>
3254
3255<xsl:template name="outer.region.content">
3256 <xsl:param name="pageclass" select="''"/>
3257 <xsl:param name="sequence" select="''"/>
3258 <xsl:param name="position" select="''"/>
3259 <xsl:param name="gentext-key" select="''"/>
3260
3261 <!-- pageclass can be front, body, back -->
3262 <!-- sequence can be odd, even, first, blank -->
3263 <!-- position can be left, center, right -->
3264
3265 <!-- Customize to add side region content-->
3266 <fo:block xsl:use-attribute-sets="outer.region.content.properties">
3267 <!-- Add your content here -->
3268 </fo:block>
3269</xsl:template>
3270
3271<!-- ==================================================================== -->
3272
3273<xsl:template name="page.number.format">
3274 <xsl:param name="element" select="local-name(.)"/>
3275 <xsl:param name="master-reference" select="''"/>
3276
3277 <xsl:choose>
3278 <xsl:when test="$element = 'toc' and self::book">i</xsl:when>
3279 <xsl:when test="$element = 'set'">i</xsl:when>
3280 <xsl:when test="$element = 'book'">i</xsl:when>
3281 <xsl:when test="$element = 'preface'">i</xsl:when>
3282 <xsl:when test="$element = 'dedication'">i</xsl:when>
3283 <xsl:when test="$element = 'acknowledgements'">i</xsl:when>
3284 <xsl:otherwise>1</xsl:otherwise>
3285 </xsl:choose>
3286</xsl:template>
3287
3288<xsl:template name="initial.page.number">
3289 <xsl:param name="element" select="local-name(.)"/>
3290 <xsl:param name="master-reference" select="''"/>
3291
3292 <xsl:variable name="first">
3293 <xsl:choose>
3294 <xsl:when test="$force.blank.pages = 0">auto</xsl:when>
3295 <xsl:otherwise>auto-odd</xsl:otherwise>
3296 </xsl:choose>
3297 </xsl:variable>
3298 <!-- Select the first content that the stylesheet places
3299 after the TOC -->
3300 <xsl:variable name="first.book.content"
3301 select="ancestor::book/*[
3302 not(self::title or
3303 self::subtitle or
3304 self::titleabbrev or
3305 self::bookinfo or
3306 self::info or
3307 self::dedication or
3308 self::acknowledgements or
3309 self::preface or
3310 self::toc or
3311 self::lot)][1]"/>
3312 <xsl:choose>
3313 <!-- double-sided output -->
3314 <xsl:when test="$double.sided != 0">
3315 <xsl:choose>
3316 <xsl:when test="$element = 'toc'"><xsl:value-of select="$first"/></xsl:when>
3317 <xsl:when test="$element = 'book'"><xsl:value-of select="$first"/></xsl:when>
3318 <!-- preface typically continues TOC roman numerals -->
3319 <!-- If changed to 1 here, then change page.number.format too -->
3320 <xsl:when test="$element = 'preface'"><xsl:value-of select="$first"/></xsl:when>
3321 <xsl:when test="($element = 'dedication' or $element = 'article')
3322 and not(preceding::chapter
3323 or preceding::preface
3324 or preceding::appendix
3325 or preceding::article
3326 or preceding::dedication
3327 or parent::part
3328 or parent::reference)">1</xsl:when>
3329 <xsl:when test="generate-id($first.book.content) =
3330 generate-id(.)">1</xsl:when>
3331 <xsl:otherwise><xsl:value-of select="$first"/></xsl:otherwise>
3332 </xsl:choose>
3333 </xsl:when>
3334
3335 <!-- single-sided output -->
3336 <xsl:otherwise>
3337 <xsl:choose>
3338 <xsl:when test="$element = 'toc'">auto</xsl:when>
3339 <xsl:when test="$element = 'book'">auto</xsl:when>
3340 <xsl:when test="$element = 'preface'">auto</xsl:when>
3341 <xsl:when test="($element = 'dedication' or $element = 'article') and
3342 not(preceding::chapter
3343 or preceding::preface
3344 or preceding::appendix
3345 or preceding::article
3346 or preceding::dedication
3347 or parent::part
3348 or parent::reference)">1</xsl:when>
3349 <xsl:when test="generate-id($first.book.content) =
3350 generate-id(.)">1</xsl:when>
3351 <xsl:otherwise>auto</xsl:otherwise>
3352 </xsl:choose>
3353 </xsl:otherwise>
3354 </xsl:choose>
3355</xsl:template>
3356
3357<xsl:template name="force.page.count">
3358 <xsl:param name="element" select="local-name(.)"/>
3359 <xsl:param name="master-reference" select="''"/>
3360
3361 <xsl:choose>
3362 <!-- no automatic even blank pages at end of chapters -->
3363 <xsl:when test="$force.blank.pages = 0">no-force</xsl:when>
3364 <!-- double-sided output -->
3365 <xsl:when test="$double.sided != 0">end-on-even</xsl:when>
3366 <!-- single-sided output -->
3367 <xsl:otherwise>no-force</xsl:otherwise>
3368 </xsl:choose>
3369</xsl:template>
3370
3371<xsl:template name="set.flow.properties">
3372 <xsl:param name="element" select="local-name(.)"/>
3373 <xsl:param name="master-reference" select="''"/>
3374
3375 <!-- This template is called after each <fo:flow> starts. -->
3376 <!-- Customize this template to set attributes on fo:flow -->
3377
3378 <!-- remove -draft from reference -->
3379 <xsl:variable name="pageclass">
3380 <xsl:choose>
3381 <xsl:when test="contains($master-reference, '-draft')">
3382 <xsl:value-of select="substring-before($master-reference, '-draft')"/>
3383 </xsl:when>
3384 <xsl:otherwise>
3385 <xsl:value-of select="$master-reference"/>
3386 </xsl:otherwise>
3387 </xsl:choose>
3388 </xsl:variable>
3389
3390 <xsl:choose>
3391 <xsl:when test="$fop.extensions != 0">
3392 <!-- body.start.indent does not work well with these processors -->
3393 </xsl:when>
3394 <xsl:when test="starts-with($pageclass, 'body') or
3395 starts-with($pageclass, 'lot') or
3396 starts-with($pageclass, 'front') or
3397 $element = 'preface' or
3398 (starts-with($pageclass, 'back') and
3399 $element = 'appendix')">
3400 <xsl:attribute name="start-indent">
3401 <xsl:value-of select="$body.start.indent"/>
3402 </xsl:attribute>
3403 <xsl:attribute name="end-indent">
3404 <xsl:value-of select="$body.end.indent"/>
3405 </xsl:attribute>
3406 </xsl:when>
3407 </xsl:choose>
3408
3409</xsl:template>
3410<!-- ==================================================================== -->
3411
3412<!-- Customize this template for custom side regions -->
3413<xsl:template name="region.inner">
3414 <xsl:param name="sequence">blank</xsl:param>
3415 <xsl:param name="classname">blank</xsl:param>
3416
3417 <xsl:choose>
3418 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">
3419 <fo:region-start xsl:use-attribute-sets="region.inner.properties">
3420 <xsl:attribute name="region-name">
3421 <xsl:text>xsl-region-inner-</xsl:text>
3422 <xsl:value-of select="$sequence"/>
3423 </xsl:attribute>
3424 <xsl:attribute name="precedence">
3425 <xsl:value-of select="$region.start.precedence"/>
3426 </xsl:attribute>
3427 <xsl:attribute name="extent">
3428 <xsl:value-of select="$region.inner.extent"/>
3429 </xsl:attribute>
3430 </fo:region-start>
3431 </xsl:when>
3432 <xsl:otherwise>
3433 <fo:region-end xsl:use-attribute-sets="region.inner.properties">
3434 <xsl:attribute name="region-name">
3435 <xsl:text>xsl-region-inner-</xsl:text>
3436 <xsl:value-of select="$sequence"/>
3437 </xsl:attribute>
3438 <xsl:attribute name="precedence">
3439 <xsl:value-of select="$region.end.precedence"/>
3440 </xsl:attribute>
3441 <xsl:attribute name="extent">
3442 <xsl:value-of select="$region.inner.extent"/>
3443 </xsl:attribute>
3444 </fo:region-end>
3445 </xsl:otherwise>
3446 </xsl:choose>
3447</xsl:template>
3448
3449<!-- Customize this template for custom side regions -->
3450<xsl:template name="region.outer">
3451 <xsl:param name="sequence">blank</xsl:param>
3452 <xsl:param name="classname">blank</xsl:param>
3453
3454 <xsl:choose>
3455 <xsl:when test="$sequence = 'first' or $sequence = 'odd'">
3456 <fo:region-end xsl:use-attribute-sets="region.outer.properties">
3457 <xsl:attribute name="region-name">
3458 <xsl:text>xsl-region-outer-</xsl:text>
3459 <xsl:value-of select="$sequence"/>
3460 </xsl:attribute>
3461 <xsl:attribute name="precedence">
3462 <xsl:value-of select="$region.start.precedence"/>
3463 </xsl:attribute>
3464 <xsl:attribute name="extent">
3465 <xsl:value-of select="$region.outer.extent"/>
3466 </xsl:attribute>
3467 </fo:region-end>
3468 </xsl:when>
3469 <xsl:otherwise>
3470 <fo:region-start xsl:use-attribute-sets="region.outer.properties">
3471 <xsl:attribute name="region-name">
3472 <xsl:text>xsl-region-outer-</xsl:text>
3473 <xsl:value-of select="$sequence"/>
3474 </xsl:attribute>
3475 <xsl:attribute name="precedence">
3476 <xsl:value-of select="$region.end.precedence"/>
3477 </xsl:attribute>
3478 <xsl:attribute name="extent">
3479 <xsl:value-of select="$region.outer.extent"/>
3480 </xsl:attribute>
3481 </fo:region-start>
3482 </xsl:otherwise>
3483 </xsl:choose>
3484</xsl:template>
3485
3486</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.