Project

General

Profile

1
<?xml version='1.0'?>
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
                version='1.0'>
4

    
5
<!-- ********************************************************************
6
     $Id: titlepage.xsl 8491 2009-07-19 10:02:57Z mzjn $
7
     ********************************************************************
8

    
9
     This file is part of the XSL DocBook Stylesheet distribution.
10
     See ../README or http://docbook.sf.net/release/xsl/current/ for
11
     copyright and other information.
12

    
13
     ******************************************************************** -->
14

    
15
<!-- ==================================================================== -->
16

    
17
<xsl:attribute-set name="book.titlepage.recto.style"/>
18
<xsl:attribute-set name="book.titlepage.verso.style"/>
19

    
20
<xsl:attribute-set name="article.titlepage.recto.style"/>
21
<xsl:attribute-set name="article.titlepage.verso.style"/>
22

    
23
<xsl:attribute-set name="set.titlepage.recto.style"/>
24
<xsl:attribute-set name="set.titlepage.verso.style"/>
25

    
26
<xsl:attribute-set name="part.titlepage.recto.style"/>
27
<xsl:attribute-set name="part.titlepage.verso.style"/>
28

    
29
<xsl:attribute-set name="partintro.titlepage.recto.style"/>
30
<xsl:attribute-set name="partintro.titlepage.verso.style"/>
31

    
32
<xsl:attribute-set name="reference.titlepage.recto.style"/>
33
<xsl:attribute-set name="reference.titlepage.verso.style"/>
34

    
35
<xsl:attribute-set name="refentry.titlepage.recto.style"/>
36
<xsl:attribute-set name="refentry.titlepage.verso.style"/>
37

    
38
<xsl:attribute-set name="dedication.titlepage.recto.style"/>
39
<xsl:attribute-set name="dedication.titlepage.verso.style"/>
40

    
41
<xsl:attribute-set name="acknowledgements.titlepage.recto.style"/>
42
<xsl:attribute-set name="acknowledgements.titlepage.verso.style"/>
43

    
44
<xsl:attribute-set name="preface.titlepage.recto.style"/>
45
<xsl:attribute-set name="preface.titlepage.verso.style"/>
46

    
47
<xsl:attribute-set name="chapter.titlepage.recto.style"/>
48
<xsl:attribute-set name="chapter.titlepage.verso.style"/>
49

    
50
<xsl:attribute-set name="appendix.titlepage.recto.style"/>
51
<xsl:attribute-set name="appendix.titlepage.verso.style"/>
52

    
53
<xsl:attribute-set name="bibliography.titlepage.recto.style"/>
54
<xsl:attribute-set name="bibliography.titlepage.verso.style"/>
55

    
56
<xsl:attribute-set name="glossary.titlepage.recto.style"/>
57
<xsl:attribute-set name="glossary.titlepage.verso.style"/>
58

    
59
<xsl:attribute-set name="index.titlepage.recto.style"/>
60
<xsl:attribute-set name="index.titlepage.verso.style"/>
61

    
62
<xsl:attribute-set name="setindex.titlepage.recto.style"/>
63
<xsl:attribute-set name="setindex.titlepage.verso.style"/>
64

    
65
<xsl:attribute-set name="section.titlepage.recto.style"/>
66
<xsl:attribute-set name="section.titlepage.verso.style"/>
67

    
68
<xsl:attribute-set name="sect1.titlepage.recto.style"
69
                   use-attribute-sets="section.titlepage.recto.style"/>
70
<xsl:attribute-set name="sect1.titlepage.verso.style"
71
                   use-attribute-sets="section.titlepage.verso.style"/>
72

    
73
<xsl:attribute-set name="sect2.titlepage.recto.style"
74
                   use-attribute-sets="section.titlepage.recto.style"/>
75
<xsl:attribute-set name="sect2.titlepage.verso.style"
76
                   use-attribute-sets="section.titlepage.verso.style"/>
77

    
78
<xsl:attribute-set name="sect3.titlepage.recto.style"
79
                   use-attribute-sets="section.titlepage.recto.style"/>
80
<xsl:attribute-set name="sect3.titlepage.verso.style"
81
                   use-attribute-sets="section.titlepage.verso.style"/>
82

    
83
<xsl:attribute-set name="sect4.titlepage.recto.style"
84
                   use-attribute-sets="section.titlepage.recto.style"/>
85
<xsl:attribute-set name="sect4.titlepage.verso.style"
86
                   use-attribute-sets="section.titlepage.verso.style"/>
87

    
88
<xsl:attribute-set name="sect5.titlepage.recto.style"
89
                   use-attribute-sets="section.titlepage.recto.style"/>
90
<xsl:attribute-set name="sect5.titlepage.verso.style"
91
                   use-attribute-sets="section.titlepage.verso.style"/>
92

    
93
<xsl:attribute-set name="simplesect.titlepage.recto.style"
94
                   use-attribute-sets="section.titlepage.recto.style"/>
95
<xsl:attribute-set name="simplesect.titlepage.verso.style"
96
                   use-attribute-sets="section.titlepage.verso.style"/>
97

    
98
<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
99
<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
100

    
101
<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
102
<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
103

    
104
<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
105
<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
106

    
107
<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
108
<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
109

    
110
<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
111
<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
112

    
113
<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
114
<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
115

    
116
<!-- ==================================================================== -->
117

    
118
<xsl:template match="*" mode="titlepage.mode">
119
  <!-- if an element isn't found in this mode, try the default mode -->
120
  <xsl:apply-templates select="."/>
121
</xsl:template>
122

    
123
<xsl:template match="abbrev" mode="titlepage.mode">
124
  <span>
125
    <xsl:apply-templates select="." mode="common.html.attributes"/>
126
    <xsl:apply-templates mode="titlepage.mode"/>
127
    <br/>
128
  </span>
129
</xsl:template>
130

    
131
<xsl:template match="abstract" mode="titlepage.mode">
132
  <div>
133
    <xsl:apply-templates select="." mode="common.html.attributes"/>
134
    <xsl:call-template name="anchor"/>
135
    <xsl:if test="$abstract.notitle.enabled = 0">
136
      <xsl:call-template name="formal.object.heading">
137
        <xsl:with-param name="title">
138
          <xsl:apply-templates select="." mode="title.markup"/>
139
        </xsl:with-param>
140
      </xsl:call-template>
141
    </xsl:if>
142
    <xsl:apply-templates mode="titlepage.mode"/>
143
    <xsl:call-template name="process.footnotes"/>
144
  </div>
145
</xsl:template>
146

    
147
<xsl:template match="abstract/title" mode="titlepage.mode">
148
</xsl:template>
149

    
150
<xsl:template match="address" mode="titlepage.mode">
151
  <xsl:param name="suppress-numbers" select="'0'"/>
152

    
153
  <xsl:variable name="rtf">
154
    <xsl:apply-templates mode="titlepage.mode"/>
155
  </xsl:variable>
156

    
157
  <xsl:choose>
158
    <xsl:when test="$suppress-numbers = '0'
159
                    and @linenumbering = 'numbered'
160
                    and $use.extensions != '0'
161
                    and $linenumbering.extension != '0'">
162
      <div>
163
        <xsl:apply-templates select="." mode="common.html.attributes"/>
164
        <xsl:call-template name="paragraph">
165
          <xsl:with-param name="content">
166
            <xsl:call-template name="number.rtf.lines">
167
              <xsl:with-param name="rtf" select="$rtf"/>
168
            </xsl:call-template>
169
          </xsl:with-param>
170
        </xsl:call-template>
171
      </div>
172
    </xsl:when>
173

    
174
    <xsl:otherwise>
175
      <div>
176
        <xsl:apply-templates select="." mode="common.html.attributes"/>
177
        <xsl:call-template name="paragraph">
178
          <xsl:with-param name="content">
179
            <xsl:call-template name="make-verbatim">
180
              <xsl:with-param name="rtf" select="$rtf"/>
181
            </xsl:call-template>
182
          </xsl:with-param>
183
        </xsl:call-template>
184
      </div>
185
    </xsl:otherwise>
186
  </xsl:choose>
187
</xsl:template>
188

    
189
<xsl:template match="affiliation" mode="titlepage.mode">
190
  <div>
191
    <xsl:apply-templates select="." mode="common.html.attributes"/>
192
    <xsl:apply-templates mode="titlepage.mode"/>
193
  </div>
194
</xsl:template>
195

    
196
<xsl:template match="artpagenums" mode="titlepage.mode">
197
  <span>
198
    <xsl:apply-templates select="." mode="common.html.attributes"/>
199
    <xsl:apply-templates mode="titlepage.mode"/>
200
    <br/>
201
  </span>
202
</xsl:template>
203

    
204
<xsl:template match="author|editor" mode="titlepage.mode">
205
  <xsl:call-template name="credits.div"/>
206
</xsl:template>
207

    
208
<xsl:template name="credits.div">
209
  <div>
210
    <xsl:apply-templates select="." mode="common.html.attributes"/>
211
    <xsl:if test="self::editor[position()=1] and not($editedby.enabled = 0)">
212
      <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
213
    </xsl:if>
214
    <h3>
215
      <xsl:apply-templates select="." mode="common.html.attributes"/>
216
      <xsl:choose>
217
        <xsl:when test="orgname">
218
          <xsl:apply-templates/>
219
        </xsl:when>
220
        <xsl:otherwise>
221
          <xsl:call-template name="person.name"/>
222
        </xsl:otherwise>
223
      </xsl:choose>
224
    </h3>
225
    <xsl:if test="not($contrib.inline.enabled = 0)">
226
      <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
227
    </xsl:if>
228
    <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
229
    <xsl:apply-templates mode="titlepage.mode" select="email"/>
230
    <xsl:if test="not($blurb.on.titlepage.enabled = 0)">
231
      <xsl:choose>
232
        <xsl:when test="$contrib.inline.enabled = 0">
233
          <xsl:apply-templates mode="titlepage.mode"
234
                               select="contrib|authorblurb|personblurb"/>
235
        </xsl:when>
236
        <xsl:otherwise>
237
          <xsl:apply-templates mode="titlepage.mode"
238
                               select="authorblurb|personblurb"/>
239
        </xsl:otherwise>
240
      </xsl:choose>
241
    </xsl:if>
242
  </div>
243
</xsl:template>
244

    
245
<xsl:template match="authorblurb|personblurb" mode="titlepage.mode">
246
  <div>
247
    <xsl:apply-templates select="." mode="common.html.attributes"/>
248
    <xsl:apply-templates mode="titlepage.mode"/>
249
  </div>
250
</xsl:template>
251

    
252
<xsl:template match="authorgroup" mode="titlepage.mode">
253
  <div>
254
    <xsl:apply-templates select="." mode="common.html.attributes"/>
255
    <xsl:if test="parent::refentryinfo">
256
      <h2>Authors</h2>
257
    </xsl:if>
258
      
259
    <xsl:call-template name="anchor"/>
260
    <xsl:apply-templates mode="titlepage.mode"/>
261
  </div>
262
</xsl:template>
263

    
264
<xsl:template match="authorinitials" mode="titlepage.mode">
265
  <span>
266
    <xsl:apply-templates select="." mode="common.html.attributes"/>
267
    <xsl:apply-templates mode="titlepage.mode"/>
268
    <br/>
269
  </span>
270
</xsl:template>
271

    
272
<xsl:template match="bibliomisc" mode="titlepage.mode">
273
  <xsl:apply-templates mode="titlepage.mode"/>
274
</xsl:template>
275

    
276
<xsl:template match="bibliomset" mode="titlepage.mode">
277
  <xsl:apply-templates mode="titlepage.mode"/>
278
</xsl:template>
279

    
280
<xsl:template match="collab" mode="titlepage.mode">
281
  <span>
282
    <xsl:apply-templates select="." mode="common.html.attributes"/>
283
    <xsl:apply-templates mode="titlepage.mode"/>
284
    <br/>
285
  </span>
286
</xsl:template>
287

    
288
<xsl:template match="collabname" mode="titlepage.mode">
289
  <span>
290
    <xsl:apply-templates select="." mode="common.html.attributes"/>
291
    <xsl:apply-templates mode="titlepage.mode"/>
292
  </span>
293
</xsl:template>
294

    
295
<xsl:template match="confgroup" mode="titlepage.mode">
296
  <div>
297
    <xsl:apply-templates select="." mode="common.html.attributes"/>
298
    <xsl:apply-templates mode="titlepage.mode"/>
299
  </div>
300
</xsl:template>
301

    
302
<xsl:template match="confdates" mode="titlepage.mode">
303
  <span>
304
    <xsl:apply-templates select="." mode="common.html.attributes"/>
305
    <xsl:apply-templates mode="titlepage.mode"/>
306
    <br/>
307
  </span>
308
</xsl:template>
309

    
310
<xsl:template match="confsponsor" mode="titlepage.mode">
311
  <span>
312
    <xsl:apply-templates select="." mode="common.html.attributes"/>
313
    <xsl:apply-templates mode="titlepage.mode"/>
314
    <br/>
315
  </span>
316
</xsl:template>
317

    
318
<xsl:template match="conftitle" mode="titlepage.mode">
319
  <span>
320
    <xsl:apply-templates select="." mode="common.html.attributes"/>
321
    <xsl:apply-templates mode="titlepage.mode"/>
322
    <br/>
323
  </span>
324
</xsl:template>
325

    
326
<xsl:template match="confnum" mode="titlepage.mode">
327
  <!-- suppress -->
328
</xsl:template>
329

    
330
<xsl:template match="contractnum" mode="titlepage.mode">
331
  <span>
332
    <xsl:apply-templates select="." mode="common.html.attributes"/>
333
    <xsl:apply-templates mode="titlepage.mode"/>
334
    <br/>
335
  </span>
336
</xsl:template>
337

    
338
<xsl:template match="contractsponsor" mode="titlepage.mode">
339
  <span>
340
    <xsl:apply-templates select="." mode="common.html.attributes"/>
341
    <xsl:apply-templates mode="titlepage.mode"/>
342
    <br/>
343
  </span>
344
</xsl:template>
345

    
346
<xsl:template match="contrib" mode="titlepage.mode">
347
  <xsl:choose>
348
    <xsl:when test="not($contrib.inline.enabled = 0)">
349
      <span>
350
        <xsl:apply-templates select="." mode="common.html.attributes"/>
351
        <xsl:apply-templates mode="titlepage.mode"/>
352
      </span><xsl:text>&#160;</xsl:text>
353
    </xsl:when>
354
    <xsl:otherwise>
355
      <div>
356
        <xsl:apply-templates select="." mode="common.html.attributes"/>
357
        <p><xsl:apply-templates mode="titlepage.mode"/></p>
358
      </div>
359
    </xsl:otherwise>
360
  </xsl:choose>
361
</xsl:template>
362

    
363
<xsl:template match="copyright" mode="titlepage.mode">
364

    
365
  <xsl:if test="generate-id() = generate-id(//refentryinfo/copyright[1])
366
      and ($stylesheet.result.type = 'html' or $stylesheet.result.type = 'xhtml')">
367
    <h2>Copyright</h2>
368
  </xsl:if>
369

    
370
  <p>
371
    <xsl:apply-templates select="." mode="common.html.attributes"/>
372
    <xsl:call-template name="gentext">
373
      <xsl:with-param name="key" select="'Copyright'"/>
374
    </xsl:call-template>
375
    <xsl:call-template name="gentext.space"/>
376
    <xsl:call-template name="dingbat">
377
      <xsl:with-param name="dingbat">copyright</xsl:with-param>
378
    </xsl:call-template>
379
    <xsl:call-template name="gentext.space"/>
380
    <xsl:call-template name="copyright.years">
381
      <xsl:with-param name="years" select="year"/>
382
      <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
383
      <xsl:with-param name="single.year.ranges"
384
                      select="$make.single.year.ranges"/>
385
    </xsl:call-template>
386
    <xsl:call-template name="gentext.space"/>
387
    <xsl:apply-templates select="holder" mode="titlepage.mode"/>
388
  </p>
389
</xsl:template>
390

    
391
<xsl:template match="year" mode="titlepage.mode">
392
  <xsl:choose>
393
    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
394
      <span class="{@revisionflag}">
395
        <xsl:apply-templates mode="titlepage.mode"/>
396
      </span>
397
    </xsl:when>
398
    <xsl:otherwise>
399
      <xsl:apply-templates mode="titlepage.mode"/>
400
    </xsl:otherwise>
401
  </xsl:choose>
402
</xsl:template>
403

    
404
<xsl:template match="holder" mode="titlepage.mode">
405
  <xsl:choose>
406
    <xsl:when test="$show.revisionflag != 0 and @revisionflag">
407
      <span class="{@revisionflag}">
408
        <xsl:apply-templates mode="titlepage.mode"/>
409
      </span>
410
    </xsl:when>
411
    <xsl:otherwise>
412
      <xsl:apply-templates mode="titlepage.mode"/>
413
    </xsl:otherwise>
414
  </xsl:choose>
415
  <xsl:if test="position() &lt; last()">
416
    <xsl:text>, </xsl:text>
417
  </xsl:if>
418
</xsl:template>
419

    
420
<xsl:template match="corpauthor" mode="titlepage.mode">
421
  <h3>
422
    <xsl:apply-templates select="." mode="common.html.attributes"/>
423
    <xsl:apply-templates mode="titlepage.mode"/>
424
  </h3>
425
</xsl:template>
426

    
427
<xsl:template match="corpcredit" mode="titlepage.mode">
428
  <span>
429
    <xsl:apply-templates select="." mode="common.html.attributes"/>
430
    <xsl:apply-templates mode="titlepage.mode"/>
431
    <br/>
432
  </span>
433
</xsl:template>
434

    
435
<xsl:template match="corpname" mode="titlepage.mode">
436
  <span>
437
    <xsl:apply-templates select="." mode="common.html.attributes"/>
438
    <xsl:apply-templates mode="titlepage.mode"/>
439
    <br/>
440
  </span>
441
</xsl:template>
442

    
443
<xsl:template match="date" mode="titlepage.mode">
444
  <span>
445
    <xsl:apply-templates select="." mode="common.html.attributes"/>
446
    <xsl:apply-templates mode="titlepage.mode"/>
447
    <br/>
448
  </span>
449
</xsl:template>
450

    
451
<xsl:template match="edition" mode="titlepage.mode">
452
  <p>
453
    <xsl:apply-templates select="." mode="common.html.attributes"/>
454
    <xsl:apply-templates mode="titlepage.mode"/>
455
    <xsl:call-template name="gentext.space"/>
456
    <xsl:call-template name="gentext">
457
      <xsl:with-param name="key" select="'Edition'"/>
458
    </xsl:call-template>
459
  </p>
460
</xsl:template>
461

    
462
<xsl:template match="email" mode="titlepage.mode">
463
  <!-- use the normal e-mail handling code -->
464
  <xsl:apply-templates select="."/>
465
</xsl:template>
466

    
467
<xsl:template match="firstname" mode="titlepage.mode">
468
  <span>
469
    <xsl:apply-templates select="." mode="common.html.attributes"/>
470
    <xsl:apply-templates mode="titlepage.mode"/>
471
    <br/>
472
  </span>
473
</xsl:template>
474

    
475
<xsl:template match="graphic" mode="titlepage.mode">
476
  <!-- use the normal graphic handling code -->
477
  <xsl:apply-templates select="."/>
478
</xsl:template>
479

    
480
<xsl:template match="honorific" mode="titlepage.mode">
481
  <span>
482
    <xsl:apply-templates select="." mode="common.html.attributes"/>
483
    <xsl:apply-templates mode="titlepage.mode"/>
484
    <br/>
485
  </span>
486
</xsl:template>
487

    
488
<xsl:template match="isbn" mode="titlepage.mode">
489
  <span>
490
    <xsl:apply-templates select="." mode="common.html.attributes"/>
491
    <xsl:apply-templates mode="titlepage.mode"/>
492
    <br/>
493
  </span>
494
</xsl:template>
495

    
496
<xsl:template match="issn" mode="titlepage.mode">
497
  <span>
498
    <xsl:apply-templates select="." mode="common.html.attributes"/>
499
    <xsl:apply-templates mode="titlepage.mode"/>
500
    <br/>
501
  </span>
502
</xsl:template>
503

    
504
<xsl:template match="biblioid" mode="titlepage.mode">
505
  <span>
506
    <xsl:apply-templates select="." mode="common.html.attributes"/>
507
    <xsl:apply-templates mode="titlepage.mode"/>
508
    <br/>
509
  </span>
510
</xsl:template>
511

    
512
<xsl:template match="itermset" mode="titlepage.mode">
513
</xsl:template>
514

    
515
<xsl:template match="invpartnumber" mode="titlepage.mode">
516
  <span>
517
    <xsl:apply-templates select="." mode="common.html.attributes"/>
518
    <xsl:apply-templates mode="titlepage.mode"/>
519
    <br/>
520
  </span>
521
</xsl:template>
522

    
523
<xsl:template match="issuenum" mode="titlepage.mode">
524
  <span>
525
    <xsl:apply-templates select="." mode="common.html.attributes"/>
526
    <xsl:apply-templates mode="titlepage.mode"/>
527
    <br/>
528
  </span>
529
</xsl:template>
530

    
531
<xsl:template match="jobtitle" mode="titlepage.mode">
532
  <span>
533
    <xsl:apply-templates select="." mode="common.html.attributes"/>
534
    <xsl:apply-templates mode="titlepage.mode"/>
535
    <br/>
536
  </span>
537
</xsl:template>
538

    
539
<xsl:template match="keywordset" mode="titlepage.mode">
540
</xsl:template>
541

    
542
<xsl:template match="legalnotice" mode="titlepage.mode">
543
  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
544

    
545
  <xsl:choose>
546
    <xsl:when test="$generate.legalnotice.link != 0">
547
      
548
      <!-- Compute name of legalnotice file -->
549
      <xsl:variable name="file">
550
	<xsl:call-template name="ln.or.rh.filename"/>
551
      </xsl:variable>
552

    
553
      <xsl:variable name="filename">
554
        <xsl:call-template name="make-relative-filename">
555
          <xsl:with-param name="base.dir" select="$base.dir"/>
556
	  <xsl:with-param name="base.name" select="$file"/>
557
        </xsl:call-template>
558
      </xsl:variable>
559

    
560
      <xsl:variable name="title">
561
        <xsl:apply-templates select="." mode="title.markup"/>
562
      </xsl:variable>
563

    
564
      <a href="{$file}">
565
        <xsl:copy-of select="$title"/>
566
      </a>
567

    
568
      <xsl:call-template name="write.chunk">
569
        <xsl:with-param name="filename" select="$filename"/>
570
        <xsl:with-param name="quiet" select="$chunk.quietly"/>
571
        <xsl:with-param name="content">
572
        <xsl:call-template name="user.preroot"/>
573
          <html>
574
            <head>
575
              <xsl:call-template name="system.head.content"/>
576
              <xsl:call-template name="head.content"/>
577
              <xsl:call-template name="user.head.content"/>
578
            </head>
579
            <body>
580
              <xsl:call-template name="body.attributes"/>
581
              <div>
582
                <xsl:apply-templates select="." mode="common.html.attributes"/>
583
                <xsl:apply-templates mode="titlepage.mode"/>
584
              </div>
585
            </body>
586
          </html>
587
          <xsl:value-of select="$chunk.append"/>
588
        </xsl:with-param>
589
      </xsl:call-template>
590
    </xsl:when>
591
    <xsl:otherwise>
592
      <div>
593
        <xsl:apply-templates select="." mode="common.html.attributes"/>
594
        <a name="{$id}"/>
595
        <xsl:apply-templates mode="titlepage.mode"/>
596
      </div>
597
    </xsl:otherwise>
598
  </xsl:choose>
599
</xsl:template>
600

    
601
<xsl:template match="legalnotice/title" mode="titlepage.mode">
602
  <p class="legalnotice-title"><b><xsl:apply-templates/></b></p>
603
</xsl:template>
604

    
605
<xsl:template match="lineage" mode="titlepage.mode">
606
  <span>
607
    <xsl:apply-templates select="." mode="common.html.attributes"/>
608
    <xsl:apply-templates mode="titlepage.mode"/>
609
    <br/>
610
  </span>
611
</xsl:template>
612

    
613
<xsl:template match="modespec" mode="titlepage.mode">
614
</xsl:template>
615

    
616
<xsl:template match="orgdiv" mode="titlepage.mode">
617
  <xsl:if test="preceding-sibling::*[1][self::orgname]">
618
    <xsl:text> </xsl:text>
619
  </xsl:if>
620
  <span>
621
    <xsl:apply-templates select="." mode="common.html.attributes"/>
622
    <xsl:apply-templates mode="titlepage.mode"/>
623
    <br/>
624
  </span>
625
</xsl:template>
626

    
627
<xsl:template match="orgname" mode="titlepage.mode">
628
  <span>
629
    <xsl:apply-templates select="." mode="common.html.attributes"/>
630
    <xsl:apply-templates mode="titlepage.mode"/>
631
    <br/>
632
  </span>
633
</xsl:template>
634

    
635
<xsl:template match="othercredit" mode="titlepage.mode">
636
<xsl:choose>
637
  <xsl:when test="not($othercredit.like.author.enabled = 0)">
638
  <xsl:variable name="contrib" select="string(contrib)"/>
639
  <xsl:choose>
640
    <xsl:when test="contrib">
641
      <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
642
        <xsl:call-template name="paragraph">
643
          <xsl:with-param name="class" select="local-name(.)"/>
644
          <xsl:with-param name="content">
645
            <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
646
            <xsl:text>: </xsl:text>
647
            <xsl:call-template name="person.name"/>
648
            <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
649
            <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
650
          </xsl:with-param>
651
        </xsl:call-template>
652
      </xsl:if>
653
    </xsl:when>
654
    <xsl:otherwise>
655
      <xsl:call-template name="paragraph">
656
        <xsl:with-param name="class" select="local-name(.)"/>
657
        <xsl:with-param name="content">
658
          <xsl:call-template name="person.name"/>
659
        </xsl:with-param>
660
      </xsl:call-template>
661
      <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
662
    </xsl:otherwise>
663
  </xsl:choose>
664
  </xsl:when>
665
  <xsl:otherwise>
666
    <xsl:call-template name="credits.div"/>
667
  </xsl:otherwise>
668
</xsl:choose>
669
</xsl:template>
670

    
671
<xsl:template match="othercredit" mode="titlepage.othercredits">
672
  <xsl:text>, </xsl:text>
673
  <xsl:call-template name="person.name"/>
674
</xsl:template>
675

    
676
<xsl:template match="othername" mode="titlepage.mode">
677
  <span>
678
    <xsl:apply-templates select="." mode="common.html.attributes"/>
679
    <xsl:apply-templates mode="titlepage.mode"/>
680
    <br/>
681
  </span>
682
</xsl:template>
683

    
684
<xsl:template match="pagenums" mode="titlepage.mode">
685
  <span>
686
    <xsl:apply-templates select="." mode="common.html.attributes"/>
687
    <xsl:apply-templates mode="titlepage.mode"/>
688
    <br/>
689
  </span>
690
</xsl:template>
691

    
692
<xsl:template match="printhistory" mode="titlepage.mode">
693
  <div>
694
    <xsl:apply-templates select="." mode="common.html.attributes"/>
695
    <xsl:apply-templates mode="titlepage.mode"/>
696
  </div>
697
</xsl:template>
698

    
699
<xsl:template match="productname" mode="titlepage.mode">
700
  <span>
701
    <xsl:apply-templates select="." mode="common.html.attributes"/>
702
    <xsl:apply-templates mode="titlepage.mode"/>
703
    <br/>
704
  </span>
705
</xsl:template>
706

    
707
<xsl:template match="productnumber" mode="titlepage.mode">
708
  <span>
709
    <xsl:apply-templates select="." mode="common.html.attributes"/>
710
    <xsl:apply-templates mode="titlepage.mode"/>
711
    <br/>
712
  </span>
713
</xsl:template>
714

    
715
<xsl:template match="pubdate" mode="titlepage.mode">
716
  <xsl:call-template name="paragraph">
717
    <xsl:with-param name="class" select="local-name(.)"/>
718
    <xsl:with-param name="content">
719
      <xsl:apply-templates mode="titlepage.mode"/>
720
    </xsl:with-param>
721
  </xsl:call-template>
722
</xsl:template>
723

    
724
<xsl:template match="publisher" mode="titlepage.mode">
725
  <xsl:call-template name="paragraph">
726
    <xsl:with-param name="class" select="local-name(.)"/>
727
    <xsl:with-param name="content">
728
      <xsl:apply-templates mode="titlepage.mode"/>
729
    </xsl:with-param>
730
  </xsl:call-template>
731
</xsl:template>
732

    
733
<xsl:template match="publishername" mode="titlepage.mode">
734
  <span>
735
    <xsl:apply-templates select="." mode="common.html.attributes"/>
736
    <xsl:apply-templates mode="titlepage.mode"/>
737
    <br/>
738
  </span>
739
</xsl:template>
740

    
741
<xsl:template match="pubsnumber" mode="titlepage.mode">
742
  <span>
743
    <xsl:apply-templates select="." mode="common.html.attributes"/>
744
    <xsl:apply-templates mode="titlepage.mode"/>
745
    <br/>
746
  </span>
747
</xsl:template>
748

    
749
<xsl:template match="releaseinfo" mode="titlepage.mode">
750
  <xsl:call-template name="paragraph">
751
    <xsl:with-param name="class" select="local-name(.)"/>
752
    <xsl:with-param name="content">
753
      <xsl:apply-templates mode="titlepage.mode"/>
754
    </xsl:with-param>
755
  </xsl:call-template>
756
</xsl:template>
757

    
758
<xsl:template match="revhistory" mode="titlepage.mode">
759
  <xsl:variable name="numcols">
760
    <xsl:choose>
761
      <xsl:when test=".//authorinitials|.//author">3</xsl:when>
762
      <xsl:otherwise>2</xsl:otherwise>
763
    </xsl:choose>
764
  </xsl:variable>
765

    
766
  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
767

    
768
  <xsl:variable name="title">
769
    <xsl:call-template name="gentext">
770
      <xsl:with-param name="key">RevHistory</xsl:with-param>
771
    </xsl:call-template>
772
  </xsl:variable>
773

    
774
  <xsl:variable name="contents">
775
    <div>
776
      <xsl:apply-templates select="." mode="common.html.attributes"/>
777
      <table border="1" width="100%" summary="Revision history">
778
        <tr>
779
          <th align="{$direction.align.start}" valign="top" colspan="{$numcols}">
780
            <b>
781
              <xsl:call-template name="gentext">
782
                <xsl:with-param name="key" select="'RevHistory'"/>
783
              </xsl:call-template>
784
            </b>
785
          </th>
786
        </tr>
787
        <xsl:apply-templates mode="titlepage.mode">
788
          <xsl:with-param name="numcols" select="$numcols"/>
789
        </xsl:apply-templates>
790
      </table>
791
    </div>
792
  </xsl:variable>
793
  
794
  <xsl:choose>
795
    <xsl:when test="$generate.revhistory.link != 0">
796
      
797
      <!-- Compute name of revhistory file -->
798
      <xsl:variable name="file">
799
	<xsl:call-template name="ln.or.rh.filename">
800
	  <xsl:with-param name="is.ln" select="false()"/>
801
	</xsl:call-template>
802
      </xsl:variable>
803

    
804
      <xsl:variable name="filename">
805
        <xsl:call-template name="make-relative-filename">
806
          <xsl:with-param name="base.dir" select="$base.dir"/>
807
          <xsl:with-param name="base.name" select="$file"/>
808
        </xsl:call-template>
809
      </xsl:variable>
810

    
811
      <a href="{$file}">
812
        <xsl:copy-of select="$title"/>
813
      </a>
814

    
815
      <xsl:call-template name="write.chunk">
816
        <xsl:with-param name="filename" select="$filename"/>
817
        <xsl:with-param name="quiet" select="$chunk.quietly"/>
818
        <xsl:with-param name="content">
819
        <xsl:call-template name="user.preroot"/>
820
          <html>
821
            <head>
822
              <xsl:call-template name="system.head.content"/>
823
              <xsl:call-template name="head.content">
824
                <xsl:with-param name="title">
825
                    <xsl:value-of select="$title"/>
826
                    <xsl:if test="../../title">
827
                        <xsl:value-of select="concat(' (', ../../title, ')')"/>
828
                    </xsl:if>
829
                </xsl:with-param>
830
              </xsl:call-template>
831
              <xsl:call-template name="user.head.content"/>
832
            </head>
833
            <body>
834
              <xsl:call-template name="body.attributes"/>
835
              <xsl:copy-of select="$contents"/>
836
            </body>
837
          </html>
838
          <xsl:text>&#x0a;</xsl:text>
839
        </xsl:with-param>
840
      </xsl:call-template>
841
    </xsl:when>
842
    <xsl:otherwise>
843
      <xsl:copy-of select="$contents"/>
844
    </xsl:otherwise>
845
  </xsl:choose>
846
</xsl:template>
847

    
848
<xsl:template match="revhistory/revision" mode="titlepage.mode">
849
  <xsl:param name="numcols" select="'3'"/>
850
  <xsl:variable name="revnumber" select="revnumber"/>
851
  <xsl:variable name="revdate"   select="date"/>
852
  <xsl:variable name="revauthor" select="authorinitials|author"/>
853
  <xsl:variable name="revremark" select="revremark|revdescription"/>
854
  <tr>
855
    <td align="{$direction.align.start}">
856
      <xsl:if test="$revnumber">
857
        <xsl:call-template name="gentext">
858
          <xsl:with-param name="key" select="'Revision'"/>
859
        </xsl:call-template>
860
        <xsl:call-template name="gentext.space"/>
861
        <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
862
      </xsl:if>
863
    </td>
864
    <td align="{$direction.align.start}">
865
      <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
866
    </td>
867
    <xsl:choose>
868
      <xsl:when test="$revauthor">
869
        <td align="{$direction.align.start}">
870
          <xsl:for-each select="$revauthor">
871
            <xsl:apply-templates select="." mode="titlepage.mode"/>
872
            <xsl:if test="position() != last()">
873
	      <xsl:text>, </xsl:text>
874
	    </xsl:if>
875
	  </xsl:for-each>
876
        </td>
877
      </xsl:when>
878
      <xsl:when test="$numcols &gt; 2">
879
        <td>&#160;</td>
880
      </xsl:when>
881
      <xsl:otherwise></xsl:otherwise>
882
    </xsl:choose>
883
  </tr>
884
  <xsl:if test="$revremark">
885
    <tr>
886
      <td align="{$direction.align.start}" colspan="{$numcols}">
887
        <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
888
      </td>
889
    </tr>
890
  </xsl:if>
891
</xsl:template>
892

    
893
<xsl:template match="revision/revnumber" mode="titlepage.mode">
894
  <xsl:apply-templates mode="titlepage.mode"/>
895
</xsl:template>
896

    
897
<xsl:template match="revision/date" mode="titlepage.mode">
898
  <xsl:apply-templates mode="titlepage.mode"/>
899
</xsl:template>
900

    
901
<xsl:template match="revision/authorinitials" mode="titlepage.mode">
902
  <xsl:apply-templates mode="titlepage.mode"/>
903
</xsl:template>
904

    
905
<xsl:template match="revision/author" mode="titlepage.mode">
906
  <xsl:apply-templates mode="titlepage.mode"/>
907
</xsl:template>
908

    
909
<xsl:template match="revision/revremark" mode="titlepage.mode">
910
  <xsl:apply-templates mode="titlepage.mode"/>
911
</xsl:template>
912

    
913
<xsl:template match="revision/revdescription" mode="titlepage.mode">
914
  <xsl:apply-templates mode="titlepage.mode"/>
915
</xsl:template>
916

    
917
<xsl:template match="seriesvolnums" mode="titlepage.mode">
918
  <span>
919
    <xsl:apply-templates select="." mode="common.html.attributes"/>
920
    <xsl:apply-templates mode="titlepage.mode"/>
921
    <br/>
922
  </span>
923
</xsl:template>
924

    
925
<xsl:template match="shortaffil" mode="titlepage.mode">
926
  <span>
927
    <xsl:apply-templates select="." mode="common.html.attributes"/>
928
    <xsl:apply-templates mode="titlepage.mode"/>
929
    <br/>
930
  </span>
931
</xsl:template>
932

    
933
<xsl:template match="subjectset" mode="titlepage.mode">
934
</xsl:template>
935

    
936
<xsl:template match="subtitle" mode="titlepage.mode">
937
  <h2>
938
    <xsl:apply-templates select="." mode="common.html.attributes"/>
939
    <xsl:apply-templates mode="titlepage.mode"/>
940
  </h2>
941
</xsl:template>
942

    
943
<xsl:template match="surname" mode="titlepage.mode">
944
  <span>
945
    <xsl:apply-templates select="." mode="common.html.attributes"/>
946
    <xsl:apply-templates mode="titlepage.mode"/>
947
    <br/>
948
  </span>
949
</xsl:template>
950

    
951
<xsl:template match="title" mode="titlepage.mode">
952
  <xsl:variable name="id">
953
    <xsl:choose>
954
      <!-- if title is in an *info wrapper, get the grandparent -->
955
      <xsl:when test="contains(local-name(..), 'info')">
956
        <xsl:call-template name="object.id">
957
          <xsl:with-param name="object" select="../.."/>
958
        </xsl:call-template>
959
      </xsl:when>
960
      <xsl:otherwise>
961
        <xsl:call-template name="object.id">
962
          <xsl:with-param name="object" select=".."/>
963
        </xsl:call-template>
964
      </xsl:otherwise>
965
    </xsl:choose>
966
  </xsl:variable>
967

    
968
  <h1>
969
    <xsl:apply-templates select="." mode="common.html.attributes"/>
970
    <xsl:if test="$generate.id.attributes = 0">
971
      <a name="{$id}"/>
972
    </xsl:if>
973
    <xsl:choose>
974
      <xsl:when test="$show.revisionflag != 0 and @revisionflag">
975
	<span class="{@revisionflag}">
976
	  <xsl:apply-templates mode="titlepage.mode"/>
977
	</span>
978
      </xsl:when>
979
      <xsl:otherwise>
980
	<xsl:apply-templates mode="titlepage.mode"/>
981
      </xsl:otherwise>
982
    </xsl:choose>
983
  </h1>
984
</xsl:template>
985

    
986
<xsl:template match="titleabbrev" mode="titlepage.mode">
987
  <!-- nop; title abbreviations don't belong on the title page! -->
988
</xsl:template>
989

    
990
<xsl:template match="volumenum" mode="titlepage.mode">
991
  <span>
992
    <xsl:apply-templates select="." mode="common.html.attributes"/>
993
    <xsl:apply-templates mode="titlepage.mode"/>
994
    <br/>
995
  </span>
996
</xsl:template>
997

    
998
<!-- This template computes the filename for legalnotice and revhistory chunks -->
999
<xsl:template name="ln.or.rh.filename">
1000
  <xsl:param name="node" select="."/>
1001
  <xsl:param name="is.ln" select="true()"/>
1002

    
1003
  <xsl:variable name="dbhtml-filename">
1004
    <xsl:call-template name="pi.dbhtml_filename">
1005
      <xsl:with-param name="node" select="$node"/>
1006
    </xsl:call-template>
1007
  </xsl:variable>
1008
 
1009
  <xsl:choose>
1010
    <!--  1. If there is a dbhtml_filename PI, use that -->
1011
    <xsl:when test="$dbhtml-filename != ''">
1012
      <xsl:value-of select="$dbhtml-filename"/>
1013
    </xsl:when>
1014
    <xsl:when test="($node/@id or $node/@xml:id) and not($use.id.as.filename = 0)">
1015
      <!-- * 2. If this legalnotice/revhistory has an ID, then go ahead and use -->
1016
      <!-- * just the value of that ID as the basename for the file -->
1017
      <!-- * (that is, without prepending an "ln-" or "rh-" to it) -->
1018
      <xsl:value-of select="($node/@id|$node/@xml:id)[1]"/>
1019
      <xsl:value-of select="$html.ext"/>
1020
    </xsl:when>
1021
    <xsl:when test="not ($node/@id or $node/@xml:id) or $use.id.as.filename = 0">
1022
      <!-- * 3. Otherwise, if this legalnotice/revhistory does not have an ID, or -->
1023
      <!-- * if $use.id.as.filename = 0 -->
1024
      <!-- * then we generate an ID... -->
1025
      <xsl:variable name="id">
1026
	<xsl:value-of select="generate-id($node)"/>
1027
      </xsl:variable>
1028
      <!-- * ...and then we take that generated ID, prepend a -->
1029
      <!-- * prefix to it, and use that as the basename for the file -->
1030
      <xsl:choose>
1031
	<xsl:when test="$is.ln">
1032
	  <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
1033
	</xsl:when>
1034
	<xsl:otherwise>
1035
	  <xsl:value-of select="concat('rh-',$id,$html.ext)"/>
1036
	</xsl:otherwise>
1037
      </xsl:choose>
1038
    </xsl:when>
1039
  </xsl:choose>
1040
</xsl:template>
1041
    
1042
<!-- ==================================================================== -->
1043

    
1044
</xsl:stylesheet>
(36-36/39)