Rocco Rutte:
[apps/madmutt.git] / doc / xslt / xhtml / titlepage.xsl
1 <?xml version="1.0" encoding="US-ASCII"?>
2 <!--This file was created automatically by html2xhtml-->
3 <!--from the HTML stylesheets. Do not edit this file.-->
4 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
5
6 <!-- ********************************************************************
7      $Id$
8      ********************************************************************
9
10      This file is part of the XSL DocBook Stylesheet distribution.
11      See ../README or http://nwalsh.com/docbook/xsl/ for copyright
12      and other information.
13
14      ******************************************************************** -->
15
16 <!-- ==================================================================== -->
17
18 <xsl:attribute-set name="book.titlepage.recto.style"/>
19 <xsl:attribute-set name="book.titlepage.verso.style"/>
20
21 <xsl:attribute-set name="article.titlepage.recto.style"/>
22 <xsl:attribute-set name="article.titlepage.verso.style"/>
23
24 <xsl:attribute-set name="set.titlepage.recto.style"/>
25 <xsl:attribute-set name="set.titlepage.verso.style"/>
26
27 <xsl:attribute-set name="part.titlepage.recto.style"/>
28 <xsl:attribute-set name="part.titlepage.verso.style"/>
29
30 <xsl:attribute-set name="partintro.titlepage.recto.style"/>
31 <xsl:attribute-set name="partintro.titlepage.verso.style"/>
32
33 <xsl:attribute-set name="reference.titlepage.recto.style"/>
34 <xsl:attribute-set name="reference.titlepage.verso.style"/>
35
36 <xsl:attribute-set name="refentry.titlepage.recto.style"/>
37 <xsl:attribute-set name="refentry.titlepage.verso.style"/>
38
39 <xsl:attribute-set name="dedication.titlepage.recto.style"/>
40 <xsl:attribute-set name="dedication.titlepage.verso.style"/>
41
42 <xsl:attribute-set name="preface.titlepage.recto.style"/>
43 <xsl:attribute-set name="preface.titlepage.verso.style"/>
44
45 <xsl:attribute-set name="chapter.titlepage.recto.style"/>
46 <xsl:attribute-set name="chapter.titlepage.verso.style"/>
47
48 <xsl:attribute-set name="appendix.titlepage.recto.style"/>
49 <xsl:attribute-set name="appendix.titlepage.verso.style"/>
50
51 <xsl:attribute-set name="bibliography.titlepage.recto.style"/>
52 <xsl:attribute-set name="bibliography.titlepage.verso.style"/>
53
54 <xsl:attribute-set name="glossary.titlepage.recto.style"/>
55 <xsl:attribute-set name="glossary.titlepage.verso.style"/>
56
57 <xsl:attribute-set name="index.titlepage.recto.style"/>
58 <xsl:attribute-set name="index.titlepage.verso.style"/>
59
60 <xsl:attribute-set name="setindex.titlepage.recto.style"/>
61 <xsl:attribute-set name="setindex.titlepage.verso.style"/>
62
63 <xsl:attribute-set name="section.titlepage.recto.style"/>
64 <xsl:attribute-set name="section.titlepage.verso.style"/>
65
66 <xsl:attribute-set name="sect1.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
67 <xsl:attribute-set name="sect1.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
68
69 <xsl:attribute-set name="sect2.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
70 <xsl:attribute-set name="sect2.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
71
72 <xsl:attribute-set name="sect3.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
73 <xsl:attribute-set name="sect3.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
74
75 <xsl:attribute-set name="sect4.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
76 <xsl:attribute-set name="sect4.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
77
78 <xsl:attribute-set name="sect5.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
79 <xsl:attribute-set name="sect5.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
80
81 <xsl:attribute-set name="simplesect.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
82 <xsl:attribute-set name="simplesect.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
83
84 <xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
85 <xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
86
87 <xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
88 <xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
89
90 <xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
91 <xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
92
93 <xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
94 <xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
95
96 <xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
97 <xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
98
99 <xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
100 <xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
101
102 <!-- ==================================================================== -->
103
104 <xsl:template match="*" mode="titlepage.mode">
105   <!-- if an element isn't found in this mode, try the default mode -->
106   <xsl:apply-templates select="."/>
107 </xsl:template>
108
109 <xsl:template match="abbrev" mode="titlepage.mode">
110   <span class="{name(.)}">
111     <xsl:apply-templates mode="titlepage.mode"/>
112     <br/>
113   </span>
114 </xsl:template>
115
116 <xsl:template match="abstract" mode="titlepage.mode">
117   <div class="{name(.)}">
118     <xsl:call-template name="anchor"/>
119     <xsl:call-template name="formal.object.heading">
120       <xsl:with-param name="title">
121         <xsl:apply-templates select="." mode="title.markup"/>
122       </xsl:with-param>
123     </xsl:call-template>
124     <xsl:apply-templates mode="titlepage.mode"/>
125   </div>
126 </xsl:template>
127
128 <xsl:template match="abstract/title" mode="titlepage.mode">
129 </xsl:template>
130
131 <xsl:template match="address" mode="titlepage.mode">
132   <xsl:param name="suppress-numbers" select="'0'"/>
133
134   <xsl:variable name="rtf">
135     <xsl:apply-templates mode="titlepage.mode"/>
136   </xsl:variable>
137
138   <xsl:choose>
139     <xsl:when test="$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'">
140       <div class="{name(.)}">
141         <xsl:call-template name="paragraph">
142           <xsl:with-param name="content">
143             <xsl:call-template name="number.rtf.lines">
144               <xsl:with-param name="rtf" select="$rtf"/>
145             </xsl:call-template>
146           </xsl:with-param>
147         </xsl:call-template>
148       </div>
149     </xsl:when>
150
151     <xsl:otherwise>
152       <div class="{name(.)}">
153         <xsl:call-template name="paragraph">
154           <xsl:with-param name="content">
155             <xsl:call-template name="make-verbatim">
156               <xsl:with-param name="rtf" select="$rtf"/>
157             </xsl:call-template>
158           </xsl:with-param>
159         </xsl:call-template>
160       </div>
161     </xsl:otherwise>
162   </xsl:choose>
163 </xsl:template>
164
165 <xsl:template match="affiliation" mode="titlepage.mode">
166   <div class="{name(.)}">
167     <xsl:apply-templates mode="titlepage.mode"/>
168   </div>
169 </xsl:template>
170
171 <xsl:template match="artpagenums" mode="titlepage.mode">
172   <span class="{name(.)}">
173     <xsl:apply-templates mode="titlepage.mode"/>
174     <br/>
175   </span>
176 </xsl:template>
177
178 <xsl:template match="author" mode="titlepage.mode">
179   <div class="{name(.)}">
180     <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
181     <xsl:apply-templates mode="titlepage.mode" select="./contrib"/>
182     <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
183     <xsl:apply-templates mode="titlepage.mode" select="./email"/>
184   </div>
185 </xsl:template>
186
187 <xsl:template match="authorblurb|personblurb" mode="titlepage.mode">
188   <div class="{name(.)}">
189     <xsl:apply-templates mode="titlepage.mode"/>
190   </div>
191 </xsl:template>
192
193 <xsl:template match="authorgroup" mode="titlepage.mode">
194   <div class="{name(.)}">
195     <xsl:apply-templates mode="titlepage.mode"/>
196   </div>
197 </xsl:template>
198
199 <xsl:template match="authorinitials" mode="titlepage.mode">
200   <span class="{name(.)}">
201     <xsl:apply-templates mode="titlepage.mode"/>
202     <br/>
203   </span>
204 </xsl:template>
205
206 <xsl:template match="bibliomisc" mode="titlepage.mode">
207   <xsl:apply-templates mode="titlepage.mode"/>
208 </xsl:template>
209
210 <xsl:template match="bibliomset" mode="titlepage.mode">
211   <xsl:apply-templates mode="titlepage.mode"/>
212 </xsl:template>
213
214 <xsl:template match="collab" mode="titlepage.mode">
215   <span class="{name(.)}">
216     <xsl:apply-templates mode="titlepage.mode"/>
217     <br/>
218   </span>
219 </xsl:template>
220
221 <xsl:template match="collabname" mode="titlepage.mode">
222   <span class="{name(.)}">
223     <xsl:apply-templates mode="titlepage.mode"/>
224   </span>
225 </xsl:template>
226
227 <xsl:template match="confgroup" mode="titlepage.mode">
228   <div class="{name(.)}">
229     <xsl:apply-templates mode="titlepage.mode"/>
230   </div>
231 </xsl:template>
232
233 <xsl:template match="confdates" mode="titlepage.mode">
234   <span class="{name(.)}">
235     <xsl:apply-templates mode="titlepage.mode"/>
236     <br/>
237   </span>
238 </xsl:template>
239
240 <xsl:template match="confsponsor" mode="titlepage.mode">
241   <span class="{name(.)}">
242     <xsl:apply-templates mode="titlepage.mode"/>
243     <br/>
244   </span>
245 </xsl:template>
246
247 <xsl:template match="conftitle" mode="titlepage.mode">
248   <span class="{name(.)}">
249     <xsl:apply-templates mode="titlepage.mode"/>
250     <br/>
251   </span>
252 </xsl:template>
253
254 <xsl:template match="confnum" mode="titlepage.mode">
255   <!-- suppress -->
256 </xsl:template>
257
258 <xsl:template match="contractnum" mode="titlepage.mode">
259   <span class="{name(.)}">
260     <xsl:apply-templates mode="titlepage.mode"/>
261     <br/>
262   </span>
263 </xsl:template>
264
265 <xsl:template match="contractsponsor" mode="titlepage.mode">
266   <span class="{name(.)}">
267     <xsl:apply-templates mode="titlepage.mode"/>
268     <br/>
269   </span>
270 </xsl:template>
271
272 <xsl:template match="contrib" mode="titlepage.mode">
273   <span class="{name(.)}">
274     <xsl:apply-templates mode="titlepage.mode"/>
275   </span>
276 </xsl:template>
277
278 <xsl:template match="copyright" mode="titlepage.mode">
279   <p class="{name(.)}">
280     <xsl:call-template name="gentext">
281       <xsl:with-param name="key" select="'Copyright'"/>
282     </xsl:call-template>
283     <xsl:call-template name="gentext.space"/>
284     <xsl:call-template name="dingbat">
285       <xsl:with-param name="dingbat">copyright</xsl:with-param>
286     </xsl:call-template>
287     <xsl:call-template name="gentext.space"/>
288     <xsl:call-template name="copyright.years">
289       <xsl:with-param name="years" select="year"/>
290       <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
291       <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
292     </xsl:call-template>
293     <xsl:call-template name="gentext.space"/>
294     <xsl:apply-templates select="holder" mode="titlepage.mode"/>
295   </p>
296 </xsl:template>
297
298 <xsl:template match="year" mode="titlepage.mode">
299   <xsl:choose>
300     <xsl:when test="$show.revisionflag != 0 and @revisionflag">
301       <span class="{@revisionflag}">
302         <xsl:apply-templates mode="titlepage.mode"/>
303       </span>
304     </xsl:when>
305     <xsl:otherwise>
306       <xsl:apply-templates mode="titlepage.mode"/>
307     </xsl:otherwise>
308   </xsl:choose>
309 </xsl:template>
310
311 <xsl:template match="holder" mode="titlepage.mode">
312   <xsl:choose>
313     <xsl:when test="$show.revisionflag != 0 and @revisionflag">
314       <span class="{@revisionflag}">
315         <xsl:apply-templates mode="titlepage.mode"/>
316       </span>
317     </xsl:when>
318     <xsl:otherwise>
319       <xsl:apply-templates mode="titlepage.mode"/>
320     </xsl:otherwise>
321   </xsl:choose>
322   <xsl:if test="position() &lt; last()">
323     <xsl:text>, </xsl:text>
324   </xsl:if>
325 </xsl:template>
326
327 <xsl:template match="corpauthor" mode="titlepage.mode">
328   <h3 class="{name(.)}">
329     <xsl:apply-templates mode="titlepage.mode"/>
330   </h3>
331 </xsl:template>
332
333 <xsl:template match="corpcredit" mode="titlepage.mode">
334   <span class="{name(.)}">
335     <xsl:apply-templates mode="titlepage.mode"/>
336     <br/>
337   </span>
338 </xsl:template>
339
340 <xsl:template match="corpname" mode="titlepage.mode">
341   <span class="{name(.)}">
342     <xsl:apply-templates mode="titlepage.mode"/>
343     <br/>
344   </span>
345 </xsl:template>
346
347 <xsl:template match="date" mode="titlepage.mode">
348   <span class="{name(.)}">
349     <xsl:apply-templates mode="titlepage.mode"/>
350     <br/>
351   </span>
352 </xsl:template>
353
354 <xsl:template match="edition" mode="titlepage.mode">
355   <p class="{name(.)}">
356     <xsl:apply-templates mode="titlepage.mode"/>
357     <xsl:call-template name="gentext.space"/>
358     <xsl:call-template name="gentext">
359       <xsl:with-param name="key" select="'Edition'"/>
360     </xsl:call-template>
361   </p>
362 </xsl:template>
363
364 <xsl:template match="editor" mode="titlepage.mode">
365   <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
366 </xsl:template>
367
368 <xsl:template match="editor[position()=1]" mode="titlepage.mode">
369   <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
370   <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3>
371 </xsl:template>
372
373 <xsl:template match="email" mode="titlepage.mode">
374   <!-- use the normal e-mail handling code -->
375   <xsl:apply-templates select="."/>
376 </xsl:template>
377
378 <xsl:template match="firstname" mode="titlepage.mode">
379   <span class="{name(.)}">
380     <xsl:apply-templates mode="titlepage.mode"/>
381     <br/>
382   </span>
383 </xsl:template>
384
385 <xsl:template match="graphic" mode="titlepage.mode">
386   <!-- use the normal graphic handling code -->
387   <xsl:apply-templates select="."/>
388 </xsl:template>
389
390 <xsl:template match="honorific" mode="titlepage.mode">
391   <span class="{name(.)}">
392     <xsl:apply-templates mode="titlepage.mode"/>
393     <br/>
394   </span>
395 </xsl:template>
396
397 <xsl:template match="isbn" mode="titlepage.mode">
398   <span class="{name(.)}">
399     <xsl:apply-templates mode="titlepage.mode"/>
400     <br/>
401   </span>
402 </xsl:template>
403
404 <xsl:template match="issn" mode="titlepage.mode">
405   <span class="{name(.)}">
406     <xsl:apply-templates mode="titlepage.mode"/>
407     <br/>
408   </span>
409 </xsl:template>
410
411 <xsl:template match="biblioid" mode="titlepage.mode">
412   <span class="{name(.)}">
413     <xsl:apply-templates mode="titlepage.mode"/>
414     <br/>
415   </span>
416 </xsl:template>
417
418 <xsl:template match="itermset" mode="titlepage.mode">
419 </xsl:template>
420
421 <xsl:template match="invpartnumber" mode="titlepage.mode">
422   <span class="{name(.)}">
423     <xsl:apply-templates mode="titlepage.mode"/>
424     <br/>
425   </span>
426 </xsl:template>
427
428 <xsl:template match="issuenum" mode="titlepage.mode">
429   <span class="{name(.)}">
430     <xsl:apply-templates mode="titlepage.mode"/>
431     <br/>
432   </span>
433 </xsl:template>
434
435 <xsl:template match="jobtitle" mode="titlepage.mode">
436   <span class="{name(.)}">
437     <xsl:apply-templates mode="titlepage.mode"/>
438     <br/>
439   </span>
440 </xsl:template>
441
442 <xsl:template match="keywordset" mode="titlepage.mode">
443 </xsl:template>
444
445 <xsl:template match="legalnotice" mode="titlepage.mode">
446   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
447   <xsl:choose>
448     <xsl:when test="$generate.legalnotice.link != 0">
449       <xsl:variable name="filename">
450         <xsl:call-template name="make-relative-filename">
451           <xsl:with-param name="base.dir" select="$base.dir"/>
452           <xsl:with-param name="base.name">
453             <xsl:apply-templates mode="chunk-filename" select="."/>
454           </xsl:with-param>
455         </xsl:call-template>
456       </xsl:variable>
457
458       <xsl:variable name="title">
459         <xsl:apply-templates select="." mode="title.markup"/>
460       </xsl:variable>
461
462       <xsl:variable name="href">
463         <xsl:apply-templates mode="chunk-filename" select="."/>
464       </xsl:variable>
465
466       <a href="{$href}">
467         <xsl:copy-of select="$title"/>
468       </a>
469
470       <xsl:call-template name="write.chunk">
471         <xsl:with-param name="filename" select="$filename"/>
472         <xsl:with-param name="quiet" select="$chunk.quietly"/>
473         <xsl:with-param name="content">
474         <xsl:call-template name="user.preroot"/>
475           <html>
476             <head>
477               <xsl:call-template name="system.head.content"/>
478               <xsl:call-template name="head.content"/>
479               <xsl:call-template name="user.head.content"/>
480             </head>
481             <body>
482               <xsl:call-template name="body.attributes"/>
483               <div class="{local-name(.)}">
484                 <xsl:apply-templates mode="titlepage.mode"/>
485               </div>
486             </body>
487           </html>
488         </xsl:with-param>
489       </xsl:call-template>
490     </xsl:when>
491     <xsl:otherwise>
492       <div class="{local-name(.)}">
493         <a id="{$id}"/>
494         <xsl:apply-templates mode="titlepage.mode"/>
495       </div>
496     </xsl:otherwise>
497   </xsl:choose>
498 </xsl:template>
499
500 <xsl:template match="legalnotice/title" mode="titlepage.mode">
501   <p class="legalnotice-title"><b><xsl:apply-templates/></b></p>
502 </xsl:template>
503
504 <xsl:template match="lineage" mode="titlepage.mode">
505   <span class="{name(.)}">
506     <xsl:apply-templates mode="titlepage.mode"/>
507     <br/>
508   </span>
509 </xsl:template>
510
511 <xsl:template match="modespec" mode="titlepage.mode">
512 </xsl:template>
513
514 <xsl:template match="orgdiv" mode="titlepage.mode">
515   <span class="{name(.)}">
516     <xsl:apply-templates mode="titlepage.mode"/>
517     <br/>
518   </span>
519 </xsl:template>
520
521 <xsl:template match="orgname" mode="titlepage.mode">
522   <span class="{name(.)}">
523     <xsl:apply-templates mode="titlepage.mode"/>
524     <br/>
525   </span>
526 </xsl:template>
527
528 <xsl:template match="othercredit" mode="titlepage.mode">
529   <xsl:variable name="contrib" select="string(contrib)"/>
530   <xsl:choose>
531     <xsl:when test="contrib">
532       <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
533         <xsl:call-template name="paragraph">
534           <xsl:with-param name="class" select="name(.)"/>
535           <xsl:with-param name="content">
536             <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
537             <xsl:text>: </xsl:text>
538             <xsl:call-template name="person.name"/>
539             <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
540             <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
541           </xsl:with-param>
542         </xsl:call-template>
543       </xsl:if>
544     </xsl:when>
545     <xsl:otherwise>
546       <xsl:call-template name="paragraph">
547         <xsl:with-param name="class" select="name(.)"/>
548         <xsl:with-param name="content">
549           <xsl:call-template name="person.name"/>
550         </xsl:with-param>
551       </xsl:call-template>
552       <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
553     </xsl:otherwise>
554   </xsl:choose>
555 </xsl:template>
556
557 <xsl:template match="othercredit" mode="titlepage.othercredits">
558   <xsl:text>, </xsl:text>
559   <xsl:call-template name="person.name"/>
560 </xsl:template>
561
562 <xsl:template match="othername" mode="titlepage.mode">
563   <span class="{name(.)}">
564     <xsl:apply-templates mode="titlepage.mode"/>
565     <br/>
566   </span>
567 </xsl:template>
568
569 <xsl:template match="pagenums" mode="titlepage.mode">
570   <span class="{name(.)}">
571     <xsl:apply-templates mode="titlepage.mode"/>
572     <br/>
573   </span>
574 </xsl:template>
575
576 <xsl:template match="printhistory" mode="titlepage.mode">
577   <div class="{name(.)}">
578     <xsl:apply-templates mode="titlepage.mode"/>
579   </div>
580 </xsl:template>
581
582 <xsl:template match="productname" mode="titlepage.mode">
583   <span class="{name(.)}">
584     <xsl:apply-templates mode="titlepage.mode"/>
585     <br/>
586   </span>
587 </xsl:template>
588
589 <xsl:template match="productnumber" mode="titlepage.mode">
590   <span class="{name(.)}">
591     <xsl:apply-templates mode="titlepage.mode"/>
592     <br/>
593   </span>
594 </xsl:template>
595
596 <xsl:template match="pubdate" mode="titlepage.mode">
597   <xsl:call-template name="paragraph">
598     <xsl:with-param name="class" select="name(.)"/>
599     <xsl:with-param name="content">
600       <xsl:apply-templates mode="titlepage.mode"/>
601     </xsl:with-param>
602   </xsl:call-template>
603 </xsl:template>
604
605 <xsl:template match="publisher" mode="titlepage.mode">
606   <xsl:call-template name="paragraph">
607     <xsl:with-param name="class" select="name(.)"/>
608     <xsl:with-param name="content">
609       <xsl:apply-templates mode="titlepage.mode"/>
610     </xsl:with-param>
611   </xsl:call-template>
612 </xsl:template>
613
614 <xsl:template match="publishername" mode="titlepage.mode">
615   <span class="{name(.)}">
616     <xsl:apply-templates mode="titlepage.mode"/>
617     <br/>
618   </span>
619 </xsl:template>
620
621 <xsl:template match="pubsnumber" mode="titlepage.mode">
622   <span class="{name(.)}">
623     <xsl:apply-templates mode="titlepage.mode"/>
624     <br/>
625   </span>
626 </xsl:template>
627
628 <xsl:template match="releaseinfo" mode="titlepage.mode">
629   <xsl:call-template name="paragraph">
630     <xsl:with-param name="class" select="name(.)"/>
631     <xsl:with-param name="content">
632       <xsl:apply-templates mode="titlepage.mode"/>
633     </xsl:with-param>
634   </xsl:call-template>
635 </xsl:template>
636
637 <xsl:template match="revhistory" mode="titlepage.mode">
638   <xsl:variable name="numcols">
639     <xsl:choose>
640       <xsl:when test="//authorinitials">3</xsl:when>
641       <xsl:otherwise>2</xsl:otherwise>
642     </xsl:choose>
643   </xsl:variable>
644
645   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
646
647   <xsl:variable name="title">
648     <xsl:call-template name="gentext">
649       <xsl:with-param name="key">RevHistory</xsl:with-param>
650     </xsl:call-template>
651   </xsl:variable>
652
653   <xsl:variable name="contents">
654     <div class="{name(.)}">
655       <table border="1" width="100%" summary="Revision history">
656         <tr>
657           <th align="left" valign="top" colspan="{$numcols}">
658             <b>
659               <xsl:call-template name="gentext">
660                 <xsl:with-param name="key" select="'RevHistory'"/>
661               </xsl:call-template>
662             </b>
663           </th>
664         </tr>
665         <xsl:apply-templates mode="titlepage.mode">
666           <xsl:with-param name="numcols" select="$numcols"/>
667         </xsl:apply-templates>
668       </table>
669     </div>
670   </xsl:variable>
671   
672   <xsl:choose>
673     <xsl:when test="$generate.revhistory.link != 0">
674       <xsl:variable name="filename">
675         <xsl:call-template name="make-relative-filename">
676           <xsl:with-param name="base.dir" select="$base.dir"/>
677           <xsl:with-param name="base.name" select="concat($id,$html.ext)"/>
678         </xsl:call-template>
679       </xsl:variable>
680
681       <a href="{concat($id,$html.ext)}">
682         <xsl:copy-of select="$title"/>
683       </a>
684
685       <xsl:call-template name="write.chunk">
686         <xsl:with-param name="filename" select="$filename"/>
687         <xsl:with-param name="quiet" select="$chunk.quietly"/>
688         <xsl:with-param name="content">
689         <xsl:call-template name="user.preroot"/>
690           <html>
691             <head>
692               <xsl:call-template name="system.head.content"/>
693               <xsl:call-template name="head.content">
694                 <xsl:with-param name="title">
695                     <xsl:value-of select="$title"/>
696                     <xsl:if test="../../title">
697                         <xsl:value-of select="concat(' (', ../../title, ')')"/>
698                     </xsl:if>
699                 </xsl:with-param>
700               </xsl:call-template>
701               <xsl:call-template name="user.head.content"/>
702             </head>
703             <body>
704               <xsl:call-template name="body.attributes"/>
705               <xsl:copy-of select="$contents"/>
706             </body>
707           </html>
708         </xsl:with-param>
709       </xsl:call-template>
710     </xsl:when>
711     <xsl:otherwise>
712       <xsl:copy-of select="$contents"/>
713     </xsl:otherwise>
714   </xsl:choose>
715 </xsl:template>
716
717 <xsl:template match="revhistory/revision" mode="titlepage.mode">
718   <xsl:param name="numcols" select="'3'"/>
719   <xsl:variable name="revnumber" select="revnumber"/>
720   <xsl:variable name="revdate" select="date"/>
721   <xsl:variable name="revauthor" select="authorinitials"/>
722   <xsl:variable name="revremark" select="revremark|revdescription"/>
723   <tr>
724     <td align="left">
725       <xsl:if test="$revnumber">
726         <xsl:call-template name="gentext">
727           <xsl:with-param name="key" select="'Revision'"/>
728         </xsl:call-template>
729         <xsl:call-template name="gentext.space"/>
730         <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
731       </xsl:if>
732     </td>
733     <td align="left">
734       <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
735     </td>
736     <xsl:choose>
737       <xsl:when test="$revauthor">
738         <td align="left">
739           <xsl:for-each select="$revauthor">
740             <xsl:apply-templates select="." mode="titlepage.mode"/>
741             <xsl:if test="position() != last()">
742               <xsl:text>, </xsl:text>
743             </xsl:if>
744           </xsl:for-each>
745         </td>
746       </xsl:when>
747       <xsl:when test="$numcols &gt; 2">
748         <td>&#160;</td>
749       </xsl:when>
750       <xsl:otherwise/>
751     </xsl:choose>
752   </tr>
753   <xsl:if test="$revremark">
754     <tr>
755       <td align="left" colspan="{$numcols}">
756         <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
757       </td>
758     </tr>
759   </xsl:if>
760 </xsl:template>
761
762 <xsl:template match="revision/revnumber" mode="titlepage.mode">
763   <xsl:apply-templates mode="titlepage.mode"/>
764 </xsl:template>
765
766 <xsl:template match="revision/date" mode="titlepage.mode">
767   <xsl:apply-templates mode="titlepage.mode"/>
768 </xsl:template>
769
770 <xsl:template match="revision/authorinitials" mode="titlepage.mode">
771   <xsl:apply-templates mode="titlepage.mode"/>
772 </xsl:template>
773
774 <xsl:template match="revision/revremark" mode="titlepage.mode">
775   <xsl:apply-templates mode="titlepage.mode"/>
776 </xsl:template>
777
778 <xsl:template match="revision/revdescription" mode="titlepage.mode">
779   <xsl:apply-templates mode="titlepage.mode"/>
780 </xsl:template>
781
782 <xsl:template match="seriesvolnums" mode="titlepage.mode">
783   <span class="{name(.)}">
784     <xsl:apply-templates mode="titlepage.mode"/>
785     <br/>
786   </span>
787 </xsl:template>
788
789 <xsl:template match="shortaffil" mode="titlepage.mode">
790   <span class="{name(.)}">
791     <xsl:apply-templates mode="titlepage.mode"/>
792     <br/>
793   </span>
794 </xsl:template>
795
796 <xsl:template match="subjectset" mode="titlepage.mode">
797 </xsl:template>
798
799 <xsl:template match="subtitle" mode="titlepage.mode">
800   <h2 class="{name(.)}">
801     <xsl:apply-templates mode="titlepage.mode"/>
802   </h2>
803 </xsl:template>
804
805 <xsl:template match="surname" mode="titlepage.mode">
806   <span class="{name(.)}">
807     <xsl:apply-templates mode="titlepage.mode"/>
808     <br/>
809   </span>
810 </xsl:template>
811
812 <xsl:template match="title" mode="titlepage.mode">
813   <xsl:variable name="id">
814     <xsl:choose>
815       <!-- if title is in an *info wrapper, get the grandparent -->
816       <xsl:when test="contains(local-name(..), 'info')">
817         <xsl:call-template name="object.id">
818           <xsl:with-param name="object" select="../.."/>
819         </xsl:call-template>
820       </xsl:when>
821       <xsl:otherwise>
822         <xsl:call-template name="object.id">
823           <xsl:with-param name="object" select=".."/>
824         </xsl:call-template>
825       </xsl:otherwise>
826     </xsl:choose>
827   </xsl:variable>
828
829   <h1 class="{name(.)}">
830     <a id="{$id}"/>
831     <xsl:choose>
832       <xsl:when test="$show.revisionflag != 0 and @revisionflag">
833         <span class="{@revisionflag}">
834           <xsl:apply-templates mode="titlepage.mode"/>
835         </span>
836       </xsl:when>
837       <xsl:otherwise>
838         <xsl:apply-templates mode="titlepage.mode"/>
839       </xsl:otherwise>
840     </xsl:choose>
841   </h1>
842 </xsl:template>
843
844 <xsl:template match="titleabbrev" mode="titlepage.mode">
845   <!-- nop; title abbreviations don't belong on the title page! -->
846 </xsl:template>
847
848 <xsl:template match="volumenum" mode="titlepage.mode">
849   <span class="{name(.)}">
850     <xsl:apply-templates mode="titlepage.mode"/>
851     <br/>
852   </span>
853 </xsl:template>
854
855 <!-- ==================================================================== -->
856
857 </xsl:stylesheet>