2 <xsl:stylesheet xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
3 xmlns:
fo=
"http://www.w3.org/1999/XSL/Format"
6 <!-- ********************************************************************
7 $Id: titlepage.xsl 8804 2010-08-09 16:41:43Z bobstayton $
8 ********************************************************************
10 This file is part of the XSL DocBook Stylesheet distribution.
11 See ../README or http://docbook.sf.net/release/xsl/current/ for
12 copyright and other information.
14 ******************************************************************** -->
16 <!-- ==================================================================== -->
18 <xsl:attribute-set name=
"book.titlepage.recto.style">
19 <xsl:attribute name=
"font-family">
20 <xsl:value-of select=
"$title.fontset"/>
22 <xsl:attribute name=
"font-weight">bold
</xsl:attribute>
23 <xsl:attribute name=
"font-size">12pt
</xsl:attribute>
24 <xsl:attribute name=
"text-align">center
</xsl:attribute>
27 <xsl:attribute-set name=
"book.titlepage.verso.style">
28 <xsl:attribute name=
"font-size">10pt
</xsl:attribute>
31 <xsl:attribute-set name=
"article.titlepage.recto.style"/>
32 <xsl:attribute-set name=
"article.titlepage.verso.style"/>
34 <xsl:attribute-set name=
"set.titlepage.recto.style"/>
35 <xsl:attribute-set name=
"set.titlepage.verso.style"/>
37 <xsl:attribute-set name=
"part.titlepage.recto.style">
38 <xsl:attribute name=
"text-align">center
</xsl:attribute>
41 <xsl:attribute-set name=
"part.titlepage.verso.style"/>
43 <xsl:attribute-set name=
"partintro.titlepage.recto.style"/>
44 <xsl:attribute-set name=
"partintro.titlepage.verso.style"/>
46 <xsl:attribute-set name=
"reference.titlepage.recto.style"/>
47 <xsl:attribute-set name=
"reference.titlepage.verso.style"/>
49 <xsl:attribute-set name=
"dedication.titlepage.recto.style"/>
50 <xsl:attribute-set name=
"dedication.titlepage.verso.style"/>
52 <xsl:attribute-set name=
"acknowledgements.titlepage.recto.style"/>
53 <xsl:attribute-set name=
"acknowledgements.titlepage.verso.style"/>
55 <xsl:attribute-set name=
"preface.titlepage.recto.style"/>
56 <xsl:attribute-set name=
"preface.titlepage.verso.style"/>
58 <xsl:attribute-set name=
"chapter.titlepage.recto.style"/>
59 <xsl:attribute-set name=
"chapter.titlepage.verso.style"/>
61 <xsl:attribute-set name=
"appendix.titlepage.recto.style"/>
62 <xsl:attribute-set name=
"appendix.titlepage.verso.style"/>
64 <xsl:attribute-set name=
"bibliography.titlepage.recto.style"/>
65 <xsl:attribute-set name=
"bibliography.titlepage.verso.style"/>
67 <xsl:attribute-set name=
"bibliodiv.titlepage.recto.style"/>
68 <xsl:attribute-set name=
"bibliodiv.titlepage.verso.style"/>
70 <xsl:attribute-set name=
"glossary.titlepage.recto.style"/>
71 <xsl:attribute-set name=
"glossary.titlepage.verso.style"/>
73 <xsl:attribute-set name=
"glossdiv.titlepage.recto.style"/>
74 <xsl:attribute-set name=
"glossdiv.titlepage.verso.style"/>
76 <xsl:attribute-set name=
"index.titlepage.recto.style"/>
77 <xsl:attribute-set name=
"index.titlepage.verso.style"/>
79 <xsl:attribute-set name=
"setindex.titlepage.recto.style"/>
80 <xsl:attribute-set name=
"setindex.titlepage.verso.style"/>
82 <xsl:attribute-set name=
"indexdiv.titlepage.recto.style"/>
83 <xsl:attribute-set name=
"indexdiv.titlepage.verso.style"/>
85 <xsl:attribute-set name=
"colophon.titlepage.recto.style"/>
86 <xsl:attribute-set name=
"colophon.titlepage.verso.style"/>
88 <xsl:attribute-set name=
"sidebar.titlepage.recto.style"/>
89 <xsl:attribute-set name=
"sidebar.titlepage.verso.style"/>
91 <xsl:attribute-set name=
"qandaset.titlepage.recto.style"/>
92 <xsl:attribute-set name=
"qandaset.titlepage.verso.style"/>
94 <xsl:attribute-set name=
"section.titlepage.recto.style">
95 <xsl:attribute name=
"keep-together.within-column">always
</xsl:attribute>
98 <xsl:attribute-set name=
"section.titlepage.verso.style">
99 <xsl:attribute name=
"keep-together.within-column">always
</xsl:attribute>
100 <xsl:attribute name=
"keep-with-next.within-column">always
</xsl:attribute>
103 <xsl:attribute-set name=
"sect1.titlepage.recto.style"
104 use-attribute-sets=
"section.titlepage.recto.style"/>
105 <xsl:attribute-set name=
"sect1.titlepage.verso.style"
106 use-attribute-sets=
"section.titlepage.verso.style"/>
108 <xsl:attribute-set name=
"sect2.titlepage.recto.style"
109 use-attribute-sets=
"section.titlepage.recto.style"/>
110 <xsl:attribute-set name=
"sect2.titlepage.verso.style"
111 use-attribute-sets=
"section.titlepage.verso.style"/>
113 <xsl:attribute-set name=
"sect3.titlepage.recto.style"
114 use-attribute-sets=
"section.titlepage.recto.style"/>
115 <xsl:attribute-set name=
"sect3.titlepage.verso.style"
116 use-attribute-sets=
"section.titlepage.verso.style"/>
118 <xsl:attribute-set name=
"sect4.titlepage.recto.style"
119 use-attribute-sets=
"section.titlepage.recto.style"/>
120 <xsl:attribute-set name=
"sect4.titlepage.verso.style"
121 use-attribute-sets=
"section.titlepage.verso.style"/>
123 <xsl:attribute-set name=
"sect5.titlepage.recto.style"
124 use-attribute-sets=
"section.titlepage.recto.style"/>
125 <xsl:attribute-set name=
"sect5.titlepage.verso.style"
126 use-attribute-sets=
"section.titlepage.verso.style"/>
128 <xsl:attribute-set name=
"simplesect.titlepage.recto.style"
129 use-attribute-sets=
"section.titlepage.recto.style"/>
130 <xsl:attribute-set name=
"simplesect.titlepage.verso.style"
131 use-attribute-sets=
"section.titlepage.verso.style"/>
133 <xsl:attribute-set name=
"refnamediv.titlepage.recto.style"
134 use-attribute-sets=
"section.titlepage.recto.style"/>
135 <xsl:attribute-set name=
"refnamediv.titlepage.verso.style"
136 use-attribute-sets=
"section.titlepage.verso.style"/>
138 <xsl:attribute-set name=
"refsynopsisdiv.titlepage.recto.style"
139 use-attribute-sets=
"section.titlepage.recto.style"/>
140 <xsl:attribute-set name=
"refsynopsisdiv.titlepage.verso.style"
141 use-attribute-sets=
"section.titlepage.verso.style"/>
143 <xsl:attribute-set name=
"refsection.titlepage.recto.style"
144 use-attribute-sets=
"section.titlepage.recto.style"/>
145 <xsl:attribute-set name=
"refsection.titlepage.verso.style"
146 use-attribute-sets=
"section.titlepage.verso.style"/>
148 <xsl:attribute-set name=
"refsect1.titlepage.recto.style"
149 use-attribute-sets=
"section.titlepage.recto.style"/>
150 <xsl:attribute-set name=
"refsect1.titlepage.verso.style"
151 use-attribute-sets=
"section.titlepage.verso.style"/>
153 <xsl:attribute-set name=
"refsect2.titlepage.recto.style"
154 use-attribute-sets=
"section.titlepage.recto.style"/>
155 <xsl:attribute-set name=
"refsect2.titlepage.verso.style"
156 use-attribute-sets=
"section.titlepage.verso.style"/>
158 <xsl:attribute-set name=
"refsect3.titlepage.recto.style"
159 use-attribute-sets=
"section.titlepage.recto.style"/>
160 <xsl:attribute-set name=
"refsect3.titlepage.verso.style"
161 use-attribute-sets=
"section.titlepage.verso.style"/>
163 <xsl:attribute-set name=
"table.of.contents.titlepage.recto.style"/>
164 <xsl:attribute-set name=
"table.of.contents.titlepage.verso.style"/>
166 <xsl:attribute-set name=
"list.of.tables.titlepage.recto.style"/>
167 <xsl:attribute-set name=
"list.of.tables.contents.titlepage.verso.style"/>
169 <xsl:attribute-set name=
"list.of.figures.titlepage.recto.style"/>
170 <xsl:attribute-set name=
"list.of.figures.contents.titlepage.verso.style"/>
172 <xsl:attribute-set name=
"list.of.equations.titlepage.recto.style"/>
173 <xsl:attribute-set name=
"list.of.equations.contents.titlepage.verso.style"/>
175 <xsl:attribute-set name=
"list.of.examples.titlepage.recto.style"/>
176 <xsl:attribute-set name=
"list.of.examples.contents.titlepage.verso.style"/>
178 <xsl:attribute-set name=
"list.of.procedures.titlepage.recto.style"/>
179 <xsl:attribute-set name=
"list.of.procedures.contents.titlepage.verso.style"/>
181 <xsl:attribute-set name=
"list.of.unknowns.titlepage.recto.style"/>
182 <xsl:attribute-set name=
"list.of.unknowns.contents.titlepage.verso.style"/>
184 <!-- ==================================================================== -->
186 <xsl:template match=
"*" mode=
"titlepage.mode">
187 <!-- if an element isn't found in this mode, try the default mode -->
188 <xsl:apply-templates select=
"."/>
191 <xsl:template match=
"abbrev" mode=
"titlepage.mode">
192 <xsl:apply-templates mode=
"titlepage.mode"/>
195 <xsl:template match=
"abstract" mode=
"titlepage.mode">
196 <fo:block xsl:
use-attribute-sets=
"abstract.properties">
197 <fo:block xsl:
use-attribute-sets=
"abstract.title.properties">
199 <xsl:when test=
"title|info/title">
200 <xsl:apply-templates select=
"title|info/title"/>
203 <xsl:call-template name=
"gentext">
204 <xsl:with-param name=
"key" select=
"'Abstract'"/>
209 <xsl:apply-templates select=
"*[not(self::title)]" mode=
"titlepage.mode"/>
213 <xsl:template match=
"abstract/title" mode=
"titlepage.mode"/>
215 <xsl:template match=
"abstract/title" mode=
"titlepage.abstract.title.mode">
216 <xsl:apply-templates mode=
"titlepage.mode"/>
219 <xsl:template match=
"address" mode=
"titlepage.mode">
220 <!-- use the normal address handling code -->
221 <xsl:apply-templates select=
"."/>
224 <xsl:template match=
"affiliation" mode=
"titlepage.mode">
226 <xsl:apply-templates mode=
"titlepage.mode"/>
230 <xsl:template match=
"artpagenums" mode=
"titlepage.mode">
231 <xsl:apply-templates mode=
"titlepage.mode"/>
234 <xsl:template match=
"author" mode=
"titlepage.mode">
236 <xsl:call-template name=
"anchor"/>
238 <xsl:when test=
"orgname">
239 <xsl:apply-templates/>
242 <xsl:call-template name=
"person.name"/>
243 <xsl:if test=
"affiliation/orgname">
244 <xsl:text>,
</xsl:text>
245 <xsl:apply-templates select=
"affiliation/orgname" mode=
"titlepage.mode"/>
247 <xsl:if test=
"email|affiliation/address/email">
248 <xsl:text> </xsl:text>
249 <xsl:apply-templates select=
"(email|affiliation/address/email)[1]"/>
256 <xsl:template match=
"authorblurb" mode=
"titlepage.mode">
257 <xsl:apply-templates mode=
"titlepage.mode"/>
260 <xsl:template match=
"authorgroup" mode=
"titlepage.mode">
262 <xsl:call-template name=
"anchor"/>
263 <xsl:apply-templates mode=
"titlepage.mode"/>
267 <xsl:template match=
"authorinitials" mode=
"titlepage.mode">
268 <xsl:apply-templates mode=
"titlepage.mode"/>
271 <xsl:template match=
"bibliomisc" mode=
"titlepage.mode">
272 <xsl:apply-templates mode=
"titlepage.mode"/>
275 <xsl:template match=
"bibliomset" mode=
"titlepage.mode">
276 <xsl:apply-templates mode=
"titlepage.mode"/>
279 <xsl:template match=
"collab" mode=
"titlepage.mode">
280 <xsl:apply-templates mode=
"titlepage.mode"/>
283 <xsl:template match=
"confgroup" mode=
"titlepage.mode">
285 <xsl:apply-templates mode=
"titlepage.mode"/>
289 <xsl:template match=
"confdates" mode=
"titlepage.mode">
291 <xsl:apply-templates mode=
"titlepage.mode"/>
295 <xsl:template match=
"conftitle" mode=
"titlepage.mode">
297 <xsl:apply-templates mode=
"titlepage.mode"/>
301 <xsl:template match=
"confnum" mode=
"titlepage.mode">
305 <xsl:template match=
"contractnum" mode=
"titlepage.mode">
306 <xsl:apply-templates mode=
"titlepage.mode"/>
309 <xsl:template match=
"contractsponsor" mode=
"titlepage.mode">
310 <xsl:apply-templates mode=
"titlepage.mode"/>
313 <xsl:template match=
"contrib" mode=
"titlepage.mode">
314 <xsl:apply-templates mode=
"titlepage.mode"/>
317 <xsl:template match=
"copyright" mode=
"titlepage.mode">
318 <xsl:call-template name=
"gentext">
319 <xsl:with-param name=
"key" select=
"'Copyright'"/>
321 <xsl:call-template name=
"gentext.space"/>
322 <xsl:call-template name=
"dingbat">
323 <xsl:with-param name=
"dingbat">copyright
</xsl:with-param>
325 <xsl:call-template name=
"gentext.space"/>
326 <xsl:call-template name=
"copyright.years">
327 <xsl:with-param name=
"years" select=
"year"/>
328 <xsl:with-param name=
"print.ranges" select=
"$make.year.ranges"/>
329 <xsl:with-param name=
"single.year.ranges"
330 select=
"$make.single.year.ranges"/>
332 <xsl:call-template name=
"gentext.space"/>
333 <xsl:apply-templates select=
"holder" mode=
"titlepage.mode"/>
336 <xsl:template match=
"year" mode=
"titlepage.mode">
337 <xsl:apply-templates/>
340 <xsl:template match=
"holder" mode=
"titlepage.mode">
341 <xsl:apply-templates/>
342 <xsl:if test=
"position() < last()">
343 <xsl:text>,
</xsl:text>
347 <xsl:template match=
"corpauthor" mode=
"titlepage.mode">
348 <xsl:apply-templates mode=
"titlepage.mode"/>
351 <xsl:template match=
"corpcredit" mode=
"titlepage.mode">
352 <xsl:apply-templates mode=
"titlepage.mode"/>
355 <xsl:template match=
"corpname" mode=
"titlepage.mode">
356 <xsl:apply-templates mode=
"titlepage.mode"/>
359 <xsl:template match=
"date" mode=
"titlepage.mode">
360 <xsl:apply-templates mode=
"titlepage.mode"/>
363 <xsl:template match=
"edition" mode=
"titlepage.mode">
364 <xsl:apply-templates mode=
"titlepage.mode"/>
365 <xsl:call-template name=
"gentext.space"/>
366 <xsl:call-template name=
"gentext">
367 <xsl:with-param name=
"key" select=
"'Edition'"/>
371 <xsl:template match=
"editor" mode=
"titlepage.mode">
372 <!-- The first editor is dealt with in the following template,
373 which in turn displays all editors of the same mode. -->
376 <xsl:template match=
"editor[1]" priority=
"2" mode=
"titlepage.mode">
377 <xsl:call-template name=
"gentext.edited.by"/>
378 <xsl:call-template name=
"gentext.space"/>
379 <xsl:call-template name=
"person.name.list">
380 <xsl:with-param name=
"person.list" select=
"../editor"/>
384 <xsl:template match=
"firstname" mode=
"titlepage.mode">
385 <xsl:apply-templates mode=
"titlepage.mode"/>
388 <xsl:template match=
"graphic" mode=
"titlepage.mode">
389 <!-- use the normal graphic handling code -->
390 <xsl:apply-templates select=
"."/>
393 <xsl:template match=
"honorific" mode=
"titlepage.mode">
394 <xsl:apply-templates mode=
"titlepage.mode"/>
397 <xsl:template match=
"isbn" mode=
"titlepage.mode">
398 <xsl:apply-templates mode=
"titlepage.mode"/>
401 <xsl:template match=
"issn" mode=
"titlepage.mode">
402 <xsl:apply-templates mode=
"titlepage.mode"/>
405 <xsl:template match=
"biblioid" mode=
"titlepage.mode">
406 <xsl:apply-templates mode=
"titlepage.mode"/>
409 <xsl:template match=
"itermset" mode=
"titlepage.mode">
413 <xsl:template match=
"invpartnumber" mode=
"titlepage.mode">
414 <xsl:apply-templates mode=
"titlepage.mode"/>
417 <xsl:template match=
"issuenum" mode=
"titlepage.mode">
418 <xsl:apply-templates mode=
"titlepage.mode"/>
421 <xsl:template match=
"jobtitle" mode=
"titlepage.mode">
423 <xsl:apply-templates mode=
"titlepage.mode"/>
427 <xsl:template match=
"keywordset" mode=
"titlepage.mode">
430 <xsl:template match=
"legalnotice" mode=
"titlepage.mode">
432 <xsl:variable name=
"id">
433 <xsl:call-template name=
"object.id"/>
436 <fo:block id=
"{$id}">
437 <xsl:if test=
"title"> <!-- FIXME: add param for using default title? -->
438 <xsl:call-template name=
"formal.object.heading"/>
440 <xsl:apply-templates mode=
"titlepage.mode"/>
444 <xsl:template match=
"legalnotice/title" mode=
"titlepage.mode">
447 <xsl:template match=
"lineage" mode=
"titlepage.mode">
448 <xsl:apply-templates mode=
"titlepage.mode"/>
451 <xsl:template match=
"modespec" mode=
"titlepage.mode">
455 <xsl:template match=
"orgdiv" mode=
"titlepage.mode">
456 <xsl:if test=
"preceding-sibling::*[1][self::orgname]">
457 <xsl:text> </xsl:text>
459 <xsl:apply-templates mode=
"titlepage.mode"/>
462 <xsl:template match=
"orgname" mode=
"titlepage.mode">
463 <xsl:apply-templates mode=
"titlepage.mode"/>
466 <xsl:template match=
"othercredit" mode=
"titlepage.mode">
467 <xsl:variable name=
"contrib" select=
"string(contrib)"/>
469 <xsl:when test=
"contrib">
470 <xsl:if test=
"not(preceding-sibling::othercredit[string(contrib)=$contrib])">
472 <xsl:apply-templates mode=
"titlepage.mode" select=
"contrib"/>
473 <xsl:text>:
</xsl:text>
474 <xsl:call-template name=
"person.name"/>
475 <xsl:apply-templates mode=
"titlepage.mode" select=
"affiliation"/>
476 <xsl:apply-templates select=
"following-sibling::othercredit[string(contrib)=$contrib]" mode=
"titlepage.othercredits"/>
481 <fo:block><xsl:call-template name=
"person.name"/></fo:block>
482 <xsl:apply-templates mode=
"titlepage.mode" select=
"./affiliation"/>
487 <xsl:template match=
"othercredit" mode=
"titlepage.othercredits">
488 <xsl:text>,
</xsl:text>
489 <xsl:call-template name=
"person.name"/>
492 <xsl:template match=
"othername" mode=
"titlepage.mode">
493 <xsl:apply-templates mode=
"titlepage.mode"/>
496 <xsl:template match=
"pagenums" mode=
"titlepage.mode">
497 <xsl:apply-templates mode=
"titlepage.mode"/>
500 <xsl:template match=
"printhistory" mode=
"titlepage.mode">
501 <xsl:apply-templates mode=
"titlepage.mode"/>
504 <xsl:template match=
"productname" mode=
"titlepage.mode">
505 <xsl:apply-templates mode=
"titlepage.mode"/>
508 <xsl:template match=
"productnumber" mode=
"titlepage.mode">
509 <xsl:apply-templates mode=
"titlepage.mode"/>
512 <xsl:template match=
"pubdate" mode=
"titlepage.mode">
513 <xsl:apply-templates mode=
"titlepage.mode"/>
516 <xsl:template match=
"publisher" mode=
"titlepage.mode">
518 <xsl:apply-templates mode=
"titlepage.mode"/>
522 <xsl:template match=
"publishername" mode=
"titlepage.mode">
523 <xsl:apply-templates mode=
"titlepage.mode"/>
526 <xsl:template match=
"pubsnumber" mode=
"titlepage.mode">
527 <xsl:apply-templates mode=
"titlepage.mode"/>
530 <xsl:template match=
"releaseinfo" mode=
"titlepage.mode">
531 <xsl:apply-templates mode=
"titlepage.mode"/>
534 <xsl:template match=
"revhistory" mode=
"titlepage.mode">
536 <xsl:variable name=
"explicit.table.width">
537 <xsl:call-template name=
"pi.dbfo_table-width"/>
540 <xsl:variable name=
"table.width">
542 <xsl:when test=
"$explicit.table.width != ''">
543 <xsl:value-of select=
"$explicit.table.width"/>
545 <xsl:when test=
"$default.table.width = ''">
546 <xsl:text>100%
</xsl:text>
549 <xsl:value-of select=
"$default.table.width"/>
554 <fo:table table-layout=
"fixed" width=
"{$table.width}" xsl:
use-attribute-sets=
"revhistory.table.properties">
555 <fo:table-column column-number=
"1" column-width=
"proportional-column-width(1)"/>
556 <fo:table-column column-number=
"2" column-width=
"proportional-column-width(1)"/>
557 <fo:table-column column-number=
"3" column-width=
"proportional-column-width(1)"/>
558 <fo:table-body start-indent=
"0pt" end-indent=
"0pt">
560 <fo:table-cell number-columns-spanned=
"3" xsl:
use-attribute-sets=
"revhistory.table.cell.properties">
561 <fo:block xsl:
use-attribute-sets=
"revhistory.title.properties">
563 <xsl:when test=
"title|info/title">
564 <xsl:apply-templates select=
"title|info/title" mode=
"titlepage.mode"/>
567 <xsl:call-template name=
"gentext">
568 <xsl:with-param name=
"key" select=
"'RevHistory'"/>
575 <xsl:apply-templates select=
"*[not(self::title)]" mode=
"titlepage.mode"/>
582 <xsl:template match=
"revhistory/revision" mode=
"titlepage.mode">
583 <xsl:variable name=
"revnumber" select=
"revnumber"/>
584 <xsl:variable name=
"revdate" select=
"date"/>
585 <xsl:variable name=
"revauthor" select=
"authorinitials|author"/>
586 <xsl:variable name=
"revremark" select=
"revremark|revdescription"/>
588 <fo:table-cell xsl:
use-attribute-sets=
"revhistory.table.cell.properties">
590 <xsl:if test=
"$revnumber">
591 <xsl:call-template name=
"gentext">
592 <xsl:with-param name=
"key" select=
"'Revision'"/>
594 <xsl:call-template name=
"gentext.space"/>
595 <xsl:apply-templates select=
"$revnumber[1]" mode=
"titlepage.mode"/>
599 <fo:table-cell xsl:
use-attribute-sets=
"revhistory.table.cell.properties">
601 <xsl:apply-templates select=
"$revdate[1]" mode=
"titlepage.mode"/>
604 <fo:table-cell xsl:
use-attribute-sets=
"revhistory.table.cell.properties">
606 <xsl:for-each select=
"$revauthor">
607 <xsl:apply-templates select=
"." mode=
"titlepage.mode"/>
608 <xsl:if test=
"position() != last()">
609 <xsl:text>,
</xsl:text>
615 <xsl:if test=
"$revremark">
617 <fo:table-cell number-columns-spanned=
"3" xsl:
use-attribute-sets=
"revhistory.table.cell.properties">
619 <xsl:apply-templates select=
"$revremark[1]" mode=
"titlepage.mode"/>
626 <xsl:template match=
"revision/revnumber" mode=
"titlepage.mode">
627 <xsl:apply-templates mode=
"titlepage.mode"/>
630 <xsl:template match=
"revision/date" mode=
"titlepage.mode">
631 <xsl:apply-templates mode=
"titlepage.mode"/>
634 <xsl:template match=
"revision/authorinitials" mode=
"titlepage.mode">
635 <xsl:apply-templates mode=
"titlepage.mode"/>
638 <xsl:template match=
"revision/author" mode=
"titlepage.mode">
639 <xsl:apply-templates mode=
"titlepage.mode"/>
642 <xsl:template match=
"revision/revremark" mode=
"titlepage.mode">
643 <xsl:apply-templates mode=
"titlepage.mode"/>
646 <xsl:template match=
"revision/revdescription" mode=
"titlepage.mode">
647 <xsl:apply-templates mode=
"titlepage.mode"/>
650 <xsl:template match=
"seriesvolnums" mode=
"titlepage.mode">
651 <xsl:apply-templates mode=
"titlepage.mode"/>
654 <xsl:template match=
"shortaffil" mode=
"titlepage.mode">
655 <xsl:apply-templates mode=
"titlepage.mode"/>
658 <xsl:template match=
"subjectset" mode=
"titlepage.mode">
662 <xsl:template match=
"subtitle" mode=
"titlepage.mode">
663 <xsl:apply-templates mode=
"titlepage.mode"/>
666 <xsl:template match=
"surname" mode=
"titlepage.mode">
667 <xsl:apply-templates mode=
"titlepage.mode"/>
670 <xsl:template match=
"title" mode=
"titlepage.mode">
671 <xsl:apply-templates mode=
"titlepage.mode"/>
674 <xsl:template match=
"titleabbrev" mode=
"titlepage.mode">
675 <xsl:apply-templates mode=
"titlepage.mode"/>
678 <xsl:template match=
"volumenum" mode=
"titlepage.mode">
679 <xsl:apply-templates mode=
"titlepage.mode"/>
682 <!-- ==================================================================== -->
683 <!-- Book templates -->
685 <!-- Note: these templates cannot use *.titlepage.recto.mode or
686 *.titlepage.verso.mode. If they do then subsequent use of a custom
687 titlepage.templates.xml file will not work correctly. -->
691 <xsl:template match=
"bookinfo/authorgroup|book/info/authorgroup"
692 mode=
"titlepage.mode" priority=
"2">
694 <xsl:call-template name=
"anchor"/>
695 <xsl:apply-templates mode=
"titlepage.mode"/>
701 <xsl:template name=
"book.verso.title">
703 <xsl:apply-templates mode=
"titlepage.mode"/>
705 <xsl:if test=
"following-sibling::subtitle
706 |following-sibling::info/subtitle
707 |following-sibling::bookinfo/subtitle">
708 <xsl:text>:
</xsl:text>
710 <xsl:apply-templates select=
"(following-sibling::subtitle
711 |following-sibling::info/subtitle
712 |following-sibling::bookinfo/subtitle)[1]"
713 mode=
"book.verso.subtitle.mode"/>
718 <xsl:template match=
"subtitle" mode=
"book.verso.subtitle.mode">
719 <xsl:apply-templates mode=
"titlepage.mode"/>
720 <xsl:if test=
"following-sibling::subtitle">
721 <xsl:text>:
</xsl:text>
722 <xsl:apply-templates select=
"following-sibling::subtitle[1]"
723 mode=
"book.verso.subtitle.mode"/>
727 <xsl:template name=
"verso.authorgroup">
729 <xsl:call-template name=
"gentext">
730 <xsl:with-param name=
"key" select=
"'by'"/>
732 <xsl:text> </xsl:text>
733 <xsl:call-template name=
"person.name.list">
734 <xsl:with-param name=
"person.list" select=
"author|corpauthor|editor"/>
737 <xsl:apply-templates select=
"othercredit" mode=
"titlepage.mode"/>
740 <xsl:template match=
"bookinfo/author|book/info/author"
741 mode=
"titlepage.mode" priority=
"2">
743 <xsl:call-template name=
"person.name"/>
747 <xsl:template match=
"bookinfo/corpauthor|book/info/corpauthor"
748 mode=
"titlepage.mode" priority=
"2">
750 <xsl:apply-templates/>
754 <xsl:template match=
"bookinfo/pubdate|book/info/pubdate"
755 mode=
"titlepage.mode" priority=
"2">
757 <xsl:call-template name=
"gentext">
758 <xsl:with-param name=
"key" select=
"'pubdate'"/>
760 <xsl:text> </xsl:text>
761 <xsl:apply-templates mode=
"titlepage.mode"/>
765 <!-- ==================================================================== -->