source: BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/component.xsl@ c30178f

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since c30178f was f8c4e94, checked in by Manuel Canales Esparcia <manuel@…>, 17 years ago

Added LFS XSL Stylesheets.

  • Property mode set to 100644
File size: 29.3 KB
RevLine 
[f8c4e94]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 xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
5 version='1.0'>
6
7<!-- ********************************************************************
8 $Id$
9 ********************************************************************
10
11 This file is part of the XSL DocBook Stylesheet distribution.
12 See ../README or http://docbook.sf.net/release/xsl/current/ for
13 copyright and other information.
14
15 ******************************************************************** -->
16
17<!-- ==================================================================== -->
18
19
20<xsl:template name="component.title">
21 <xsl:param name="node" select="."/>
22 <xsl:param name="pagewide" select="0"/>
23
24 <xsl:variable name="id">
25 <xsl:call-template name="object.id">
26 <xsl:with-param name="object" select="$node"/>
27 </xsl:call-template>
28 </xsl:variable>
29
30 <xsl:variable name="title">
31 <xsl:apply-templates select="$node" mode="object.title.markup">
32 <xsl:with-param name="allow-anchors" select="1"/>
33 </xsl:apply-templates>
34 </xsl:variable>
35
36 <xsl:variable name="titleabbrev">
37 <xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
38 </xsl:variable>
39
40 <xsl:variable name="level">
41 <xsl:choose>
42 <xsl:when test="ancestor::section">
43 <xsl:value-of select="count(ancestor::section)+1"/>
44 </xsl:when>
45 <xsl:when test="ancestor::sect5">6</xsl:when>
46 <xsl:when test="ancestor::sect4">5</xsl:when>
47 <xsl:when test="ancestor::sect3">4</xsl:when>
48 <xsl:when test="ancestor::sect2">3</xsl:when>
49 <xsl:when test="ancestor::sect1">2</xsl:when>
50 <xsl:otherwise>1</xsl:otherwise>
51 </xsl:choose>
52 </xsl:variable>
53
54 <xsl:if test="$passivetex.extensions != 0">
55 <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
56 fotex-bookmark-level="2"
57 fotex-bookmark-label="{$id}">
58 <xsl:value-of select="$titleabbrev"/>
59 </fotex:bookmark>
60 </xsl:if>
61
62 <fo:block xsl:use-attribute-sets="component.title.properties">
63 <xsl:if test="$pagewide != 0">
64 <!-- Doesn't work to use 'all' here since not a child of fo:flow -->
65 <xsl:attribute name="span">inherit</xsl:attribute>
66 </xsl:if>
67 <xsl:attribute name="hyphenation-character">
68 <xsl:call-template name="gentext">
69 <xsl:with-param name="key" select="'hyphenation-character'"/>
70 </xsl:call-template>
71 </xsl:attribute>
72 <xsl:attribute name="hyphenation-push-character-count">
73 <xsl:call-template name="gentext">
74 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
75 </xsl:call-template>
76 </xsl:attribute>
77 <xsl:attribute name="hyphenation-remain-character-count">
78 <xsl:call-template name="gentext">
79 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
80 </xsl:call-template>
81 </xsl:attribute>
82 <xsl:if test="$axf.extensions != 0">
83 <xsl:attribute name="axf:outline-level">
84 <xsl:value-of select="count($node/ancestor::*)"/>
85 </xsl:attribute>
86 <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
87 <xsl:attribute name="axf:outline-title">
88 <xsl:value-of select="normalize-space($title)"/>
89 </xsl:attribute>
90 </xsl:if>
91
92 <!-- Let's handle the case where a component (bibliography, for example)
93 occurs inside a section; will we need parameters for this?
94 Danger Will Robinson: using section.title.level*.properties here
95 runs the risk that someone will set something other than
96 font-size there... -->
97 <xsl:choose>
98 <xsl:when test="$level=2">
99 <fo:block xsl:use-attribute-sets="section.title.level2.properties">
100 <xsl:copy-of select="$title"/>
101 </fo:block>
102 </xsl:when>
103 <xsl:when test="$level=3">
104 <fo:block xsl:use-attribute-sets="section.title.level3.properties">
105 <xsl:copy-of select="$title"/>
106 </fo:block>
107 </xsl:when>
108 <xsl:when test="$level=4">
109 <fo:block xsl:use-attribute-sets="section.title.level4.properties">
110 <xsl:copy-of select="$title"/>
111 </fo:block>
112 </xsl:when>
113 <xsl:when test="$level=5">
114 <fo:block xsl:use-attribute-sets="section.title.level5.properties">
115 <xsl:copy-of select="$title"/>
116 </fo:block>
117 </xsl:when>
118 <xsl:when test="$level=6">
119 <fo:block xsl:use-attribute-sets="section.title.level6.properties">
120 <xsl:copy-of select="$title"/>
121 </fo:block>
122 </xsl:when>
123 <xsl:otherwise>
124 <!-- not in a section: do nothing special -->
125 <xsl:copy-of select="$title"/>
126 </xsl:otherwise>
127 </xsl:choose>
128 </fo:block>
129</xsl:template>
130
131<!-- ==================================================================== -->
132
133<xsl:template match="dedication" mode="dedication">
134 <xsl:variable name="id">
135 <xsl:call-template name="object.id"/>
136 </xsl:variable>
137
138 <xsl:variable name="master-reference">
139 <xsl:call-template name="select.pagemaster"/>
140 </xsl:variable>
141
142 <fo:page-sequence hyphenate="{$hyphenate}"
143 master-reference="{$master-reference}">
144 <xsl:attribute name="language">
145 <xsl:call-template name="l10n.language"/>
146 </xsl:attribute>
147 <xsl:attribute name="format">
148 <xsl:call-template name="page.number.format">
149 <xsl:with-param name="master-reference" select="$master-reference"/>
150 </xsl:call-template>
151 </xsl:attribute>
152
153 <xsl:attribute name="initial-page-number">
154 <xsl:call-template name="initial.page.number">
155 <xsl:with-param name="master-reference" select="$master-reference"/>
156 </xsl:call-template>
157 </xsl:attribute>
158
159 <xsl:attribute name="force-page-count">
160 <xsl:call-template name="force.page.count">
161 <xsl:with-param name="master-reference" select="$master-reference"/>
162 </xsl:call-template>
163 </xsl:attribute>
164
165 <xsl:attribute name="hyphenation-character">
166 <xsl:call-template name="gentext">
167 <xsl:with-param name="key" select="'hyphenation-character'"/>
168 </xsl:call-template>
169 </xsl:attribute>
170 <xsl:attribute name="hyphenation-push-character-count">
171 <xsl:call-template name="gentext">
172 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
173 </xsl:call-template>
174 </xsl:attribute>
175 <xsl:attribute name="hyphenation-remain-character-count">
176 <xsl:call-template name="gentext">
177 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
178 </xsl:call-template>
179 </xsl:attribute>
180
181 <xsl:apply-templates select="." mode="running.head.mode">
182 <xsl:with-param name="master-reference" select="$master-reference"/>
183 </xsl:apply-templates>
184
185 <xsl:apply-templates select="." mode="running.foot.mode">
186 <xsl:with-param name="master-reference" select="$master-reference"/>
187 </xsl:apply-templates>
188
189 <fo:flow flow-name="xsl-region-body">
190 <xsl:call-template name="set.flow.properties">
191 <xsl:with-param name="element" select="local-name(.)"/>
192 <xsl:with-param name="master-reference" select="$master-reference"/>
193 </xsl:call-template>
194
195 <fo:block id="{$id}"
196 xsl:use-attribute-sets="component.titlepage.properties">
197 <xsl:call-template name="dedication.titlepage"/>
198 </fo:block>
199 <xsl:apply-templates/>
200 </fo:flow>
201 </fo:page-sequence>
202</xsl:template>
203
204<xsl:template match="dedication"></xsl:template> <!-- see mode="dedication" -->
205<xsl:template match="dedication/docinfo"></xsl:template>
206<xsl:template match="dedication/title"></xsl:template>
207<xsl:template match="dedication/subtitle"></xsl:template>
208<xsl:template match="dedication/titleabbrev"></xsl:template>
209
210<!-- ==================================================================== -->
211
212<xsl:template match="colophon">
213 <xsl:variable name="id">
214 <xsl:call-template name="object.id"/>
215 </xsl:variable>
216
217 <xsl:variable name="master-reference">
218 <xsl:call-template name="select.pagemaster"/>
219 </xsl:variable>
220
221 <fo:page-sequence hyphenate="{$hyphenate}"
222 master-reference="{$master-reference}">
223 <xsl:attribute name="language">
224 <xsl:call-template name="l10n.language"/>
225 </xsl:attribute>
226 <xsl:attribute name="format">
227 <xsl:call-template name="page.number.format">
228 <xsl:with-param name="master-reference" select="$master-reference"/>
229 </xsl:call-template>
230 </xsl:attribute>
231 <xsl:attribute name="initial-page-number">
232 <xsl:call-template name="initial.page.number">
233 <xsl:with-param name="master-reference" select="$master-reference"/>
234 </xsl:call-template>
235 </xsl:attribute>
236 <xsl:attribute name="force-page-count">
237 <xsl:call-template name="force.page.count">
238 <xsl:with-param name="master-reference" select="$master-reference"/>
239 </xsl:call-template>
240 </xsl:attribute>
241 <xsl:attribute name="hyphenation-character">
242 <xsl:call-template name="gentext">
243 <xsl:with-param name="key" select="'hyphenation-character'"/>
244 </xsl:call-template>
245 </xsl:attribute>
246 <xsl:attribute name="hyphenation-push-character-count">
247 <xsl:call-template name="gentext">
248 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
249 </xsl:call-template>
250 </xsl:attribute>
251 <xsl:attribute name="hyphenation-remain-character-count">
252 <xsl:call-template name="gentext">
253 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
254 </xsl:call-template>
255 </xsl:attribute>
256
257 <xsl:apply-templates select="." mode="running.head.mode">
258 <xsl:with-param name="master-reference" select="$master-reference"/>
259 </xsl:apply-templates>
260
261 <xsl:apply-templates select="." mode="running.foot.mode">
262 <xsl:with-param name="master-reference" select="$master-reference"/>
263 </xsl:apply-templates>
264
265 <fo:flow flow-name="xsl-region-body">
266 <xsl:call-template name="set.flow.properties">
267 <xsl:with-param name="element" select="local-name(.)"/>
268 <xsl:with-param name="master-reference" select="$master-reference"/>
269 </xsl:call-template>
270
271 <fo:block id="{$id}"
272 xsl:use-attribute-sets="component.titlepage.properties">
273 <xsl:call-template name="colophon.titlepage"/>
274 </fo:block>
275 <xsl:apply-templates/>
276 </fo:flow>
277 </fo:page-sequence>
278</xsl:template>
279
280<xsl:template match="colophon/title"></xsl:template>
281<xsl:template match="colophon/subtitle"></xsl:template>
282<xsl:template match="colophon/titleabbrev"></xsl:template>
283
284<!-- ==================================================================== -->
285
286<xsl:template match="preface">
287 <xsl:variable name="id">
288 <xsl:call-template name="object.id"/>
289 </xsl:variable>
290
291 <xsl:variable name="master-reference">
292 <xsl:call-template name="select.pagemaster"/>
293 </xsl:variable>
294
295 <fo:page-sequence hyphenate="{$hyphenate}"
296 master-reference="{$master-reference}">
297 <xsl:attribute name="language">
298 <xsl:call-template name="l10n.language"/>
299 </xsl:attribute>
300 <xsl:attribute name="format">
301 <xsl:call-template name="page.number.format">
302 <xsl:with-param name="master-reference" select="$master-reference"/>
303 </xsl:call-template>
304 </xsl:attribute>
305
306 <xsl:attribute name="initial-page-number">
307 <xsl:call-template name="initial.page.number">
308 <xsl:with-param name="master-reference" select="$master-reference"/>
309 </xsl:call-template>
310 </xsl:attribute>
311
312 <xsl:attribute name="force-page-count">
313 <xsl:call-template name="force.page.count">
314 <xsl:with-param name="master-reference" select="$master-reference"/>
315 </xsl:call-template>
316 </xsl:attribute>
317
318 <xsl:attribute name="hyphenation-character">
319 <xsl:call-template name="gentext">
320 <xsl:with-param name="key" select="'hyphenation-character'"/>
321 </xsl:call-template>
322 </xsl:attribute>
323 <xsl:attribute name="hyphenation-push-character-count">
324 <xsl:call-template name="gentext">
325 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
326 </xsl:call-template>
327 </xsl:attribute>
328 <xsl:attribute name="hyphenation-remain-character-count">
329 <xsl:call-template name="gentext">
330 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
331 </xsl:call-template>
332 </xsl:attribute>
333
334 <xsl:apply-templates select="." mode="running.head.mode">
335 <xsl:with-param name="master-reference" select="$master-reference"/>
336 </xsl:apply-templates>
337
338 <xsl:apply-templates select="." mode="running.foot.mode">
339 <xsl:with-param name="master-reference" select="$master-reference"/>
340 </xsl:apply-templates>
341
342 <fo:flow flow-name="xsl-region-body">
343 <xsl:call-template name="set.flow.properties">
344 <xsl:with-param name="element" select="local-name(.)"/>
345 <xsl:with-param name="master-reference" select="$master-reference"/>
346 </xsl:call-template>
347
348 <fo:block id="{$id}"
349 xsl:use-attribute-sets="component.titlepage.properties">
350 <xsl:call-template name="preface.titlepage"/>
351 </fo:block>
352
353 <xsl:variable name="toc.params">
354 <xsl:call-template name="find.path.params">
355 <xsl:with-param name="table"
356 select="normalize-space($generate.toc)"/>
357 </xsl:call-template>
358 </xsl:variable>
359 <xsl:if test="contains($toc.params, 'toc')">
360 <xsl:call-template name="component.toc">
361 <xsl:with-param name="toc.title.p"
362 select="contains($toc.params, 'title')"/>
363 </xsl:call-template>
364 <xsl:call-template name="component.toc.separator"/>
365 </xsl:if>
366
367 <xsl:apply-templates/>
368 </fo:flow>
369 </fo:page-sequence>
370</xsl:template>
371
372<xsl:template match="preface/docinfo|prefaceinfo"></xsl:template>
373<xsl:template match="preface/info"></xsl:template>
374<xsl:template match="preface/title"></xsl:template>
375<xsl:template match="preface/titleabbrev"></xsl:template>
376<xsl:template match="preface/subtitle"></xsl:template>
377
378<!-- ==================================================================== -->
379
380<xsl:template match="chapter">
381 <xsl:variable name="id">
382 <xsl:call-template name="object.id"/>
383 </xsl:variable>
384
385 <xsl:variable name="master-reference">
386 <xsl:call-template name="select.pagemaster"/>
387 </xsl:variable>
388
389 <fo:page-sequence hyphenate="{$hyphenate}"
390 master-reference="{$master-reference}">
391 <xsl:attribute name="language">
392 <xsl:call-template name="l10n.language"/>
393 </xsl:attribute>
394 <xsl:attribute name="format">
395 <xsl:call-template name="page.number.format">
396 <xsl:with-param name="master-reference" select="$master-reference"/>
397 </xsl:call-template>
398 </xsl:attribute>
399 <xsl:attribute name="initial-page-number">
400 <xsl:call-template name="initial.page.number">
401 <xsl:with-param name="master-reference" select="$master-reference"/>
402 </xsl:call-template>
403 </xsl:attribute>
404
405 <xsl:attribute name="force-page-count">
406 <xsl:call-template name="force.page.count">
407 <xsl:with-param name="master-reference" select="$master-reference"/>
408 </xsl:call-template>
409 </xsl:attribute>
410
411 <xsl:attribute name="hyphenation-character">
412 <xsl:call-template name="gentext">
413 <xsl:with-param name="key" select="'hyphenation-character'"/>
414 </xsl:call-template>
415 </xsl:attribute>
416 <xsl:attribute name="hyphenation-push-character-count">
417 <xsl:call-template name="gentext">
418 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
419 </xsl:call-template>
420 </xsl:attribute>
421 <xsl:attribute name="hyphenation-remain-character-count">
422 <xsl:call-template name="gentext">
423 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
424 </xsl:call-template>
425 </xsl:attribute>
426
427 <xsl:apply-templates select="." mode="running.head.mode">
428 <xsl:with-param name="master-reference" select="$master-reference"/>
429 </xsl:apply-templates>
430
431 <xsl:apply-templates select="." mode="running.foot.mode">
432 <xsl:with-param name="master-reference" select="$master-reference"/>
433 </xsl:apply-templates>
434
435 <fo:flow flow-name="xsl-region-body">
436 <xsl:call-template name="set.flow.properties">
437 <xsl:with-param name="element" select="local-name(.)"/>
438 <xsl:with-param name="master-reference" select="$master-reference"/>
439 </xsl:call-template>
440
441 <fo:block id="{$id}"
442 xsl:use-attribute-sets="component.titlepage.properties">
443 <xsl:call-template name="chapter.titlepage"/>
444 </fo:block>
445
446 <xsl:variable name="toc.params">
447 <xsl:call-template name="find.path.params">
448 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
449 </xsl:call-template>
450 </xsl:variable>
451 <xsl:if test="contains($toc.params, 'toc')">
452 <xsl:call-template name="component.toc">
453 <xsl:with-param name="toc.title.p"
454 select="contains($toc.params, 'title')"/>
455 </xsl:call-template>
456 <xsl:call-template name="component.toc.separator"/>
457 </xsl:if>
458 <xsl:apply-templates/>
459 </fo:flow>
460 </fo:page-sequence>
461</xsl:template>
462
463<xsl:template match="chapter/docinfo|chapterinfo"></xsl:template>
464<xsl:template match="chapter/info"></xsl:template>
465<xsl:template match="chapter/title"></xsl:template>
466<xsl:template match="chapter/titleabbrev"></xsl:template>
467<xsl:template match="chapter/subtitle"></xsl:template>
468
469<!-- ==================================================================== -->
470
471<xsl:template match="appendix">
472 <xsl:variable name="id">
473 <xsl:call-template name="object.id"/>
474 </xsl:variable>
475
476 <xsl:variable name="master-reference">
477 <xsl:call-template name="select.pagemaster"/>
478 </xsl:variable>
479
480 <fo:page-sequence hyphenate="{$hyphenate}"
481 master-reference="{$master-reference}">
482 <xsl:attribute name="language">
483 <xsl:call-template name="l10n.language"/>
484 </xsl:attribute>
485 <xsl:attribute name="format">
486 <xsl:call-template name="page.number.format">
487 <xsl:with-param name="master-reference" select="$master-reference"/>
488 </xsl:call-template>
489 </xsl:attribute>
490 <xsl:attribute name="initial-page-number">
491 <xsl:call-template name="initial.page.number">
492 <xsl:with-param name="master-reference" select="$master-reference"/>
493 </xsl:call-template>
494 </xsl:attribute>
495
496 <xsl:attribute name="force-page-count">
497 <xsl:call-template name="force.page.count">
498 <xsl:with-param name="master-reference" select="$master-reference"/>
499 </xsl:call-template>
500 </xsl:attribute>
501
502 <xsl:attribute name="hyphenation-character">
503 <xsl:call-template name="gentext">
504 <xsl:with-param name="key" select="'hyphenation-character'"/>
505 </xsl:call-template>
506 </xsl:attribute>
507 <xsl:attribute name="hyphenation-push-character-count">
508 <xsl:call-template name="gentext">
509 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
510 </xsl:call-template>
511 </xsl:attribute>
512 <xsl:attribute name="hyphenation-remain-character-count">
513 <xsl:call-template name="gentext">
514 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
515 </xsl:call-template>
516 </xsl:attribute>
517
518 <xsl:apply-templates select="." mode="running.head.mode">
519 <xsl:with-param name="master-reference" select="$master-reference"/>
520 </xsl:apply-templates>
521
522 <xsl:apply-templates select="." mode="running.foot.mode">
523 <xsl:with-param name="master-reference" select="$master-reference"/>
524 </xsl:apply-templates>
525
526 <fo:flow flow-name="xsl-region-body">
527 <xsl:call-template name="set.flow.properties">
528 <xsl:with-param name="element" select="local-name(.)"/>
529 <xsl:with-param name="master-reference" select="$master-reference"/>
530 </xsl:call-template>
531
532 <fo:block id="{$id}"
533 xsl:use-attribute-sets="component.titlepage.properties">
534 <xsl:call-template name="appendix.titlepage"/>
535 </fo:block>
536
537 <xsl:variable name="toc.params">
538 <xsl:call-template name="find.path.params">
539 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
540 </xsl:call-template>
541 </xsl:variable>
542
543 <xsl:if test="contains($toc.params, 'toc')">
544 <xsl:call-template name="component.toc">
545 <xsl:with-param name="toc.title.p"
546 select="contains($toc.params, 'title')"/>
547 </xsl:call-template>
548 <xsl:call-template name="component.toc.separator"/>
549 </xsl:if>
550 <xsl:apply-templates/>
551 </fo:flow>
552 </fo:page-sequence>
553</xsl:template>
554
555<xsl:template match="appendix/docinfo|appendixinfo"></xsl:template>
556<xsl:template match="appendix/info"></xsl:template>
557<xsl:template match="appendix/title"></xsl:template>
558<xsl:template match="appendix/titleabbrev"></xsl:template>
559<xsl:template match="appendix/subtitle"></xsl:template>
560
561<!-- ==================================================================== -->
562
563<xsl:template match="article">
564 <xsl:variable name="id">
565 <xsl:call-template name="object.id"/>
566 </xsl:variable>
567
568 <xsl:variable name="master-reference">
569 <xsl:call-template name="select.pagemaster"/>
570 </xsl:variable>
571
572 <fo:page-sequence hyphenate="{$hyphenate}"
573 master-reference="{$master-reference}">
574 <xsl:attribute name="language">
575 <xsl:call-template name="l10n.language"/>
576 </xsl:attribute>
577 <xsl:attribute name="format">
578 <xsl:call-template name="page.number.format">
579 <xsl:with-param name="master-reference" select="$master-reference"/>
580 </xsl:call-template>
581 </xsl:attribute>
582 <xsl:attribute name="initial-page-number">
583 <xsl:call-template name="initial.page.number">
584 <xsl:with-param name="master-reference" select="$master-reference"/>
585 </xsl:call-template>
586 </xsl:attribute>
587
588 <xsl:attribute name="force-page-count">
589 <xsl:call-template name="force.page.count">
590 <xsl:with-param name="master-reference" select="$master-reference"/>
591 </xsl:call-template>
592 </xsl:attribute>
593
594 <xsl:attribute name="hyphenation-character">
595 <xsl:call-template name="gentext">
596 <xsl:with-param name="key" select="'hyphenation-character'"/>
597 </xsl:call-template>
598 </xsl:attribute>
599 <xsl:attribute name="hyphenation-push-character-count">
600 <xsl:call-template name="gentext">
601 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
602 </xsl:call-template>
603 </xsl:attribute>
604 <xsl:attribute name="hyphenation-remain-character-count">
605 <xsl:call-template name="gentext">
606 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
607 </xsl:call-template>
608 </xsl:attribute>
609
610 <xsl:apply-templates select="." mode="running.head.mode">
611 <xsl:with-param name="master-reference" select="$master-reference"/>
612 </xsl:apply-templates>
613
614 <xsl:apply-templates select="." mode="running.foot.mode">
615 <xsl:with-param name="master-reference" select="$master-reference"/>
616 </xsl:apply-templates>
617
618 <fo:flow flow-name="xsl-region-body">
619 <xsl:call-template name="set.flow.properties">
620 <xsl:with-param name="element" select="local-name(.)"/>
621 <xsl:with-param name="master-reference" select="$master-reference"/>
622 </xsl:call-template>
623
624 <fo:block id="{$id}"
625 xsl:use-attribute-sets="component.titlepage.properties">
626 <xsl:call-template name="article.titlepage"/>
627 </fo:block>
628
629 <xsl:variable name="toc.params">
630 <xsl:call-template name="find.path.params">
631 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
632 </xsl:call-template>
633 </xsl:variable>
634
635 <xsl:if test="contains($toc.params, 'toc')">
636 <xsl:call-template name="component.toc">
637 <xsl:with-param name="toc.title.p"
638 select="contains($toc.params, 'title')"/>
639 </xsl:call-template>
640 <xsl:call-template name="component.toc.separator"/>
641 </xsl:if>
642 <xsl:apply-templates/>
643 </fo:flow>
644 </fo:page-sequence>
645</xsl:template>
646
647<xsl:template match="article/artheader"></xsl:template>
648<xsl:template match="article/articleinfo"></xsl:template>
649<xsl:template match="article/info"></xsl:template>
650<xsl:template match="article/title"></xsl:template>
651<xsl:template match="article/subtitle"></xsl:template>
652<xsl:template match="article/titleabbrev"></xsl:template>
653
654<xsl:template match="article/appendix">
655 <xsl:variable name="id">
656 <xsl:call-template name="object.id"/>
657 </xsl:variable>
658
659 <xsl:variable name="title">
660 <xsl:apply-templates select="." mode="object.title.markup"/>
661 </xsl:variable>
662
663 <xsl:variable name="titleabbrev">
664 <xsl:apply-templates select="." mode="titleabbrev.markup"/>
665 </xsl:variable>
666
667 <fo:block id='{$id}'>
668 <xsl:if test="$axf.extensions != 0">
669 <xsl:attribute name="axf:outline-level">
670 <xsl:value-of select="count(ancestor::*)+2"/>
671 </xsl:attribute>
672 <xsl:attribute name="axf:outline-expand">false</xsl:attribute>
673 <xsl:attribute name="axf:outline-title">
674 <xsl:value-of select="normalize-space($titleabbrev)"/>
675 </xsl:attribute>
676 </xsl:if>
677
678 <xsl:if test="$passivetex.extensions != 0">
679 <fotex:bookmark xmlns:fotex="http://www.tug.org/fotex"
680 fotex-bookmark-level="{count(ancestor::*)+2}"
681 fotex-bookmark-label="{$id}">
682 <xsl:value-of select="$titleabbrev"/>
683 </fotex:bookmark>
684 </xsl:if>
685
686 <fo:block xsl:use-attribute-sets="article.appendix.title.properties">
687 <fo:marker marker-class-name="section.head.marker">
688 <xsl:choose>
689 <xsl:when test="$titleabbrev = ''">
690 <xsl:value-of select="$title"/>
691 </xsl:when>
692 <xsl:otherwise>
693 <xsl:value-of select="$titleabbrev"/>
694 </xsl:otherwise>
695 </xsl:choose>
696 </fo:marker>
697 <xsl:copy-of select="$title"/>
698 </fo:block>
699
700 <xsl:apply-templates/>
701 </fo:block>
702</xsl:template>
703
704<!-- ==================================================================== -->
705
706<!-- Utility template to create a page sequence for an element -->
707<xsl:template match="*" mode="page.sequence" name="page.sequence">
708 <xsl:param name="content">
709 <xsl:apply-templates/>
710 </xsl:param>
711 <xsl:param name="master-reference">
712 <xsl:call-template name="select.pagemaster"/>
713 </xsl:param>
714 <xsl:param name="element" select="local-name(.)"/>
715 <xsl:param name="gentext-key" select="local-name(.)"/>
716 <xsl:param name="language">
717 <xsl:call-template name="l10n.language"/>
718 </xsl:param>
719
720 <xsl:param name="format">
721 <xsl:call-template name="page.number.format">
722 <xsl:with-param name="master-reference" select="$master-reference"/>
723 <xsl:with-param name="element" select="$element"/>
724 </xsl:call-template>
725 </xsl:param>
726
727 <xsl:param name="initial-page-number">
728 <xsl:call-template name="initial.page.number">
729 <xsl:with-param name="master-reference" select="$master-reference"/>
730 <xsl:with-param name="element" select="$element"/>
731 </xsl:call-template>
732 </xsl:param>
733
734 <xsl:param name="force-page-count">
735 <xsl:call-template name="force.page.count">
736 <xsl:with-param name="master-reference" select="$master-reference"/>
737 <xsl:with-param name="element" select="$element"/>
738 </xsl:call-template>
739 </xsl:param>
740
741 <fo:page-sequence hyphenate="{$hyphenate}"
742 master-reference="{$master-reference}">
743 <xsl:attribute name="language">
744 <xsl:value-of select="$language"/>
745 </xsl:attribute>
746 <xsl:attribute name="format">
747 <xsl:value-of select="$format"/>
748 </xsl:attribute>
749
750 <xsl:attribute name="initial-page-number">
751 <xsl:value-of select="$initial-page-number"/>
752 </xsl:attribute>
753
754 <xsl:attribute name="force-page-count">
755 <xsl:value-of select="$force-page-count"/>
756 </xsl:attribute>
757
758 <xsl:attribute name="hyphenation-character">
759 <xsl:call-template name="gentext">
760 <xsl:with-param name="key" select="'hyphenation-character'"/>
761 </xsl:call-template>
762 </xsl:attribute>
763 <xsl:attribute name="hyphenation-push-character-count">
764 <xsl:call-template name="gentext">
765 <xsl:with-param name="key" select="'hyphenation-push-character-count'"/>
766 </xsl:call-template>
767 </xsl:attribute>
768 <xsl:attribute name="hyphenation-remain-character-count">
769 <xsl:call-template name="gentext">
770 <xsl:with-param name="key" select="'hyphenation-remain-character-count'"/>
771 </xsl:call-template>
772 </xsl:attribute>
773
774 <xsl:apply-templates select="." mode="running.head.mode">
775 <xsl:with-param name="master-reference" select="$master-reference"/>
776 <xsl:with-param name="gentext-key" select="$gentext-key"/>
777 </xsl:apply-templates>
778
779 <xsl:apply-templates select="." mode="running.foot.mode">
780 <xsl:with-param name="master-reference" select="$master-reference"/>
781 <xsl:with-param name="gentext-key" select="$gentext-key"/>
782 </xsl:apply-templates>
783
784 <fo:flow flow-name="xsl-region-body">
785 <xsl:call-template name="set.flow.properties">
786 <xsl:with-param name="element" select="local-name(.)"/>
787 <xsl:with-param name="master-reference" select="$master-reference"/>
788 </xsl:call-template>
789
790 <xsl:copy-of select="$content"/>
791
792 </fo:flow>
793 </fo:page-sequence>
794</xsl:template>
795
796</xsl:stylesheet>
797
Note: See TracBrowser for help on using the repository browser.