]> git.lyx.org Git - lyx.git/blob - lib/docbook/xhtml/titlepage.xsl
Release notes
[lyx.git] / lib / docbook / xhtml / titlepage.xsl
1 <?xml version="1.0" encoding="ASCII"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="d" version="1.0">
2
3 <!-- ********************************************************************
4
5      This file is part of the XSL DocBook Stylesheet distribution.
6      See ../README or http://cdn.docbook.org/release/xsl/current/ for
7      copyright and other information.
8
9      ******************************************************************** -->
10
11 <!-- ==================================================================== -->
12
13 <xsl:attribute-set name="book.titlepage.recto.style"/>
14 <xsl:attribute-set name="book.titlepage.verso.style"/>
15
16 <xsl:attribute-set name="article.titlepage.recto.style"/>
17 <xsl:attribute-set name="article.titlepage.verso.style"/>
18
19 <xsl:attribute-set name="set.titlepage.recto.style"/>
20 <xsl:attribute-set name="set.titlepage.verso.style"/>
21
22 <xsl:attribute-set name="part.titlepage.recto.style"/>
23 <xsl:attribute-set name="part.titlepage.verso.style"/>
24
25 <xsl:attribute-set name="partintro.titlepage.recto.style"/>
26 <xsl:attribute-set name="partintro.titlepage.verso.style"/>
27
28 <xsl:attribute-set name="reference.titlepage.recto.style"/>
29 <xsl:attribute-set name="reference.titlepage.verso.style"/>
30
31 <xsl:attribute-set name="refentry.titlepage.recto.style"/>
32 <xsl:attribute-set name="refentry.titlepage.verso.style"/>
33
34 <xsl:attribute-set name="dedication.titlepage.recto.style"/>
35 <xsl:attribute-set name="dedication.titlepage.verso.style"/>
36
37 <xsl:attribute-set name="acknowledgements.titlepage.recto.style"/>
38 <xsl:attribute-set name="acknowledgements.titlepage.verso.style"/>
39
40 <xsl:attribute-set name="preface.titlepage.recto.style"/>
41 <xsl:attribute-set name="preface.titlepage.verso.style"/>
42
43 <xsl:attribute-set name="chapter.titlepage.recto.style"/>
44 <xsl:attribute-set name="chapter.titlepage.verso.style"/>
45
46 <xsl:attribute-set name="appendix.titlepage.recto.style"/>
47 <xsl:attribute-set name="appendix.titlepage.verso.style"/>
48
49 <xsl:attribute-set name="bibliography.titlepage.recto.style"/>
50 <xsl:attribute-set name="bibliography.titlepage.verso.style"/>
51
52 <xsl:attribute-set name="glossary.titlepage.recto.style"/>
53 <xsl:attribute-set name="glossary.titlepage.verso.style"/>
54
55 <xsl:attribute-set name="index.titlepage.recto.style"/>
56 <xsl:attribute-set name="index.titlepage.verso.style"/>
57
58 <xsl:attribute-set name="setindex.titlepage.recto.style"/>
59 <xsl:attribute-set name="setindex.titlepage.verso.style"/>
60
61 <xsl:attribute-set name="sidebar.titlepage.recto.style"/>
62 <xsl:attribute-set name="sidebar.titlepage.verso.style"/>
63
64 <xsl:attribute-set name="topic.titlepage.recto.style"/>
65 <xsl:attribute-set name="topic.titlepage.verso.style"/>
66
67 <xsl:attribute-set name="section.titlepage.recto.style"/>
68 <xsl:attribute-set name="section.titlepage.verso.style"/>
69
70 <xsl:attribute-set name="sect1.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
71 <xsl:attribute-set name="sect1.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
72
73 <xsl:attribute-set name="sect2.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
74 <xsl:attribute-set name="sect2.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
75
76 <xsl:attribute-set name="sect3.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
77 <xsl:attribute-set name="sect3.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
78
79 <xsl:attribute-set name="sect4.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
80 <xsl:attribute-set name="sect4.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
81
82 <xsl:attribute-set name="sect5.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
83 <xsl:attribute-set name="sect5.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
84
85 <xsl:attribute-set name="simplesect.titlepage.recto.style" use-attribute-sets="section.titlepage.recto.style"/>
86 <xsl:attribute-set name="simplesect.titlepage.verso.style" use-attribute-sets="section.titlepage.verso.style"/>
87
88 <xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
89 <xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
90
91 <xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
92 <xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
93
94 <xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
95 <xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
96
97 <xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
98 <xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
99
100 <xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
101 <xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
102
103 <xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
104 <xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
105
106 <xsl:attribute-set name="dialogue.titlepage.recto.style"/>
107 <xsl:attribute-set name="dialogue.titlepage.verso.style"/>
108
109 <xsl:attribute-set name="drama.titlepage.recto.style"/>
110 <xsl:attribute-set name="drama.titlepage.verso.style"/>
111
112 <xsl:attribute-set name="poetry.titlepage.recto.style"/>
113 <xsl:attribute-set name="poetry.titlepage.verso.style"/>
114
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="d:abbrev" mode="titlepage.mode">
124   <span>
125     <xsl:apply-templates select="." mode="common.html.attributes"/>
126     <xsl:call-template name="id.attribute"/>
127     <xsl:apply-templates mode="titlepage.mode"/>
128     <br/>
129   </span>
130 </xsl:template>
131
132 <xsl:template match="d:abstract" mode="titlepage.mode">
133   <div>
134     <xsl:apply-templates select="." mode="common.html.attributes"/>
135     <xsl:call-template name="id.attribute"/>
136     <xsl:call-template name="anchor"/>
137     <xsl:if test="$abstract.notitle.enabled = 0">
138       <xsl:call-template name="formal.object.heading">
139         <xsl:with-param name="title">
140           <xsl:apply-templates select="." mode="title.markup"/>
141         </xsl:with-param>
142       </xsl:call-template>
143     </xsl:if>
144     <xsl:apply-templates mode="titlepage.mode"/>
145     <xsl:call-template name="process.footnotes"/>
146   </div>
147 </xsl:template>
148
149 <xsl:template match="d:abstract/d:title" mode="titlepage.mode">
150 </xsl:template>
151
152 <xsl:template match="d:address" mode="titlepage.mode">
153   <xsl:param name="suppress-numbers" select="'0'"/>
154
155   <xsl:variable name="rtf">
156     <xsl:apply-templates mode="titlepage.mode"/>
157   </xsl:variable>
158
159   <xsl:choose>
160     <xsl:when test="$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'">
161       <div>
162         <xsl:apply-templates select="." mode="common.html.attributes"/>
163         <xsl:call-template name="paragraph">
164           <xsl:with-param name="content">
165             <xsl:call-template name="number.rtf.lines">
166               <xsl:with-param name="rtf" select="$rtf"/>
167             </xsl:call-template>
168           </xsl:with-param>
169         </xsl:call-template>
170       </div>
171     </xsl:when>
172
173     <xsl:otherwise>
174       <div>
175         <xsl:apply-templates select="." mode="common.html.attributes"/>
176         <xsl:call-template name="paragraph">
177           <xsl:with-param name="content">
178             <xsl:call-template name="make-verbatim">
179               <xsl:with-param name="rtf" select="$rtf"/>
180             </xsl:call-template>
181           </xsl:with-param>
182         </xsl:call-template>
183       </div>
184     </xsl:otherwise>
185   </xsl:choose>
186 </xsl:template>
187
188 <xsl:template match="d:affiliation" mode="titlepage.mode">
189   <div>
190     <xsl:apply-templates select="." mode="common.html.attributes"/>
191     <xsl:call-template name="id.attribute"/>
192     <xsl:apply-templates mode="titlepage.mode"/>
193   </div>
194 </xsl:template>
195
196 <xsl:template match="d:artpagenums" mode="titlepage.mode">
197   <span>
198     <xsl:apply-templates select="." mode="common.html.attributes"/>
199     <xsl:call-template name="id.attribute"/>
200     <xsl:apply-templates mode="titlepage.mode"/>
201     <br/>
202   </span>
203 </xsl:template>
204
205 <xsl:template match="d:author|d:editor" mode="titlepage.mode">
206   <xsl:call-template name="credits.div"/>
207 </xsl:template>
208
209 <xsl:template name="credits.div">
210   <div>
211     <xsl:apply-templates select="." mode="common.html.attributes"/>
212     <xsl:call-template name="id.attribute"/>
213     <xsl:if test="self::d:editor and                   count(preceding-sibling::d:editor) = 0 and                   not($editedby.enabled = 0)">
214       <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
215     </xsl:if>
216     <h3>
217       <xsl:apply-templates select="." mode="common.html.attributes"/>
218       <xsl:choose>
219         <xsl:when test="d:orgname">
220           <xsl:apply-templates/>
221         </xsl:when>
222         <xsl:otherwise>
223           <xsl:call-template name="person.name"/>
224         </xsl:otherwise>
225       </xsl:choose>
226     </h3>
227     <xsl:if test="not($contrib.inline.enabled = 0)">
228       <xsl:apply-templates mode="titlepage.mode" select="d:contrib"/>
229     </xsl:if>
230     <xsl:apply-templates mode="titlepage.mode" select="d:affiliation"/>
231     <xsl:apply-templates mode="titlepage.mode" select="d:email"/>
232     <xsl:if test="not($blurb.on.titlepage.enabled = 0)">
233       <xsl:choose>
234         <xsl:when test="$contrib.inline.enabled = 0">
235           <xsl:apply-templates mode="titlepage.mode" select="d:contrib|d:authorblurb|d:personblurb"/>
236         </xsl:when>
237         <xsl:otherwise>
238           <xsl:apply-templates mode="titlepage.mode" select="d:authorblurb|d:personblurb"/>
239         </xsl:otherwise>
240       </xsl:choose>
241     </xsl:if>
242   </div>
243 </xsl:template>
244
245 <xsl:template match="d:authorblurb|d:personblurb" mode="titlepage.mode">
246   <div>
247     <xsl:apply-templates select="." mode="common.html.attributes"/>
248     <xsl:call-template name="id.attribute"/>
249     <xsl:apply-templates mode="titlepage.mode"/>
250   </div>
251 </xsl:template>
252
253 <xsl:template match="d:authorgroup" mode="titlepage.mode">
254   <div>
255     <xsl:apply-templates select="." mode="common.html.attributes"/>
256     <xsl:call-template name="id.attribute"/>
257     <xsl:if test="parent::d:refentryinfo">
258       <h2>Authors</h2>
259     </xsl:if>
260       
261     <xsl:call-template name="anchor"/>
262     <xsl:apply-templates mode="titlepage.mode"/>
263   </div>
264 </xsl:template>
265
266 <xsl:template match="d:authorinitials" mode="titlepage.mode">
267   <span>
268     <xsl:apply-templates select="." mode="common.html.attributes"/>
269     <xsl:call-template name="id.attribute"/>
270     <xsl:apply-templates mode="titlepage.mode"/>
271     <br/>
272   </span>
273 </xsl:template>
274
275 <xsl:template match="d:bibliomisc" mode="titlepage.mode">
276   <xsl:apply-templates mode="titlepage.mode"/>
277 </xsl:template>
278
279 <xsl:template match="d:bibliomset" mode="titlepage.mode">
280   <xsl:apply-templates mode="titlepage.mode"/>
281 </xsl:template>
282
283 <xsl:template match="d:collab" mode="titlepage.mode">
284   <span>
285     <xsl:apply-templates select="." mode="common.html.attributes"/>
286     <xsl:call-template name="id.attribute"/>
287     <xsl:apply-templates mode="titlepage.mode"/>
288     <br/>
289   </span>
290 </xsl:template>
291
292 <xsl:template match="d:collabname" mode="titlepage.mode">
293   <span>
294     <xsl:apply-templates select="." mode="common.html.attributes"/>
295     <xsl:call-template name="id.attribute"/>
296     <xsl:apply-templates mode="titlepage.mode"/>
297   </span>
298 </xsl:template>
299
300 <xsl:template match="d:confgroup" mode="titlepage.mode">
301   <div>
302     <xsl:apply-templates select="." mode="common.html.attributes"/>
303     <xsl:call-template name="id.attribute"/>
304     <xsl:apply-templates mode="titlepage.mode"/>
305   </div>
306 </xsl:template>
307
308 <xsl:template match="d:confdates" mode="titlepage.mode">
309   <span>
310     <xsl:apply-templates select="." mode="common.html.attributes"/>
311     <xsl:call-template name="id.attribute"/>
312     <xsl:apply-templates mode="titlepage.mode"/>
313     <br/>
314   </span>
315 </xsl:template>
316
317 <xsl:template match="d:confsponsor" mode="titlepage.mode">
318   <span>
319     <xsl:apply-templates select="." mode="common.html.attributes"/>
320     <xsl:call-template name="id.attribute"/>
321     <xsl:apply-templates mode="titlepage.mode"/>
322     <br/>
323   </span>
324 </xsl:template>
325
326 <xsl:template match="d:conftitle" mode="titlepage.mode">
327   <span>
328     <xsl:apply-templates select="." mode="common.html.attributes"/>
329     <xsl:call-template name="id.attribute"/>
330     <xsl:apply-templates mode="titlepage.mode"/>
331     <br/>
332   </span>
333 </xsl:template>
334
335 <xsl:template match="d:confnum" mode="titlepage.mode">
336   <!-- suppress -->
337 </xsl:template>
338
339 <xsl:template match="d:contractnum" mode="titlepage.mode">
340   <span>
341     <xsl:apply-templates select="." mode="common.html.attributes"/>
342     <xsl:call-template name="id.attribute"/>
343     <xsl:apply-templates mode="titlepage.mode"/>
344     <br/>
345   </span>
346 </xsl:template>
347
348 <xsl:template match="d:contractsponsor" mode="titlepage.mode">
349   <span>
350     <xsl:apply-templates select="." mode="common.html.attributes"/>
351     <xsl:call-template name="id.attribute"/>
352     <xsl:apply-templates mode="titlepage.mode"/>
353     <br/>
354   </span>
355 </xsl:template>
356
357 <xsl:template match="d:contrib" mode="titlepage.mode">
358   <xsl:choose>
359     <xsl:when test="not($contrib.inline.enabled = 0)">
360       <span>
361         <xsl:apply-templates select="." mode="common.html.attributes"/>
362         <xsl:call-template name="id.attribute"/>
363         <xsl:apply-templates mode="titlepage.mode"/>
364       </span><xsl:text>&#160;</xsl:text>
365     </xsl:when>
366     <xsl:otherwise>
367       <div>
368         <xsl:apply-templates select="." mode="common.html.attributes"/>
369         <xsl:call-template name="id.attribute"/>
370         <p><xsl:apply-templates mode="titlepage.mode"/></p>
371       </div>
372     </xsl:otherwise>
373   </xsl:choose>
374 </xsl:template>
375
376 <xsl:template match="d:copyright" mode="titlepage.mode">
377
378   <xsl:if test="generate-id() = generate-id(//d:refentryinfo/d:copyright[1])       and ($stylesheet.result.type = 'html' or $stylesheet.result.type = 'xhtml')">
379     <h2>Copyright</h2>
380   </xsl:if>
381
382   <p>
383     <xsl:apply-templates select="." mode="common.html.attributes"/>
384     <xsl:call-template name="id.attribute"/>
385     <xsl:call-template name="gentext">
386       <xsl:with-param name="key" select="'Copyright'"/>
387     </xsl:call-template>
388     <xsl:call-template name="gentext.space"/>
389     <xsl:call-template name="dingbat">
390       <xsl:with-param name="dingbat">copyright</xsl:with-param>
391     </xsl:call-template>
392     <xsl:call-template name="gentext.space"/>
393     <xsl:call-template name="copyright.years">
394       <xsl:with-param name="years" select="d:year"/>
395       <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
396       <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
397     </xsl:call-template>
398     <xsl:call-template name="gentext.space"/>
399     <xsl:apply-templates select="d:holder" mode="titlepage.mode"/>
400   </p>
401 </xsl:template>
402
403 <xsl:template match="d:year" mode="titlepage.mode">
404   <xsl:choose>
405     <xsl:when test="$show.revisionflag != 0 and @revisionflag">
406       <span class="{@revisionflag}">
407         <xsl:apply-templates mode="titlepage.mode"/>
408       </span>
409     </xsl:when>
410     <xsl:otherwise>
411       <xsl:apply-templates mode="titlepage.mode"/>
412     </xsl:otherwise>
413   </xsl:choose>
414 </xsl:template>
415
416 <xsl:template match="d:holder" mode="titlepage.mode">
417   <xsl:choose>
418     <xsl:when test="$show.revisionflag != 0 and @revisionflag">
419       <span class="{@revisionflag}">
420         <xsl:apply-templates mode="titlepage.mode"/>
421       </span>
422     </xsl:when>
423     <xsl:otherwise>
424       <xsl:apply-templates mode="titlepage.mode"/>
425     </xsl:otherwise>
426   </xsl:choose>
427   <xsl:if test="position() &lt; last()">
428     <xsl:text>, </xsl:text>
429   </xsl:if>
430 </xsl:template>
431
432 <xsl:template match="d:corpauthor" mode="titlepage.mode">
433   <h3>
434     <xsl:apply-templates select="." mode="common.html.attributes"/>
435     <xsl:call-template name="id.attribute"/>
436     <xsl:apply-templates mode="titlepage.mode"/>
437   </h3>
438 </xsl:template>
439
440 <xsl:template match="d:corpcredit" mode="titlepage.mode">
441   <span>
442     <xsl:apply-templates select="." mode="common.html.attributes"/>
443     <xsl:call-template name="id.attribute"/>
444     <xsl:apply-templates mode="titlepage.mode"/>
445     <br/>
446   </span>
447 </xsl:template>
448
449 <xsl:template match="d:corpname" mode="titlepage.mode">
450   <span>
451     <xsl:apply-templates select="." mode="common.html.attributes"/>
452     <xsl:call-template name="id.attribute"/>
453     <xsl:apply-templates mode="titlepage.mode"/>
454     <br/>
455   </span>
456 </xsl:template>
457
458 <xsl:template match="d:date" mode="titlepage.mode">
459   <span>
460     <xsl:apply-templates select="." mode="common.html.attributes"/>
461     <xsl:call-template name="id.attribute"/>
462     <xsl:apply-templates mode="titlepage.mode"/>
463     <br/>
464   </span>
465 </xsl:template>
466
467 <xsl:template match="d:edition" mode="titlepage.mode">
468   <p>
469     <xsl:apply-templates select="." mode="common.html.attributes"/>
470     <xsl:call-template name="id.attribute"/>
471     <xsl:apply-templates mode="titlepage.mode"/>
472     <xsl:call-template name="gentext.space"/>
473     <xsl:call-template name="gentext">
474       <xsl:with-param name="key" select="'Edition'"/>
475     </xsl:call-template>
476   </p>
477 </xsl:template>
478
479 <xsl:template match="d:email" mode="titlepage.mode">
480   <!-- use the normal e-mail handling code -->
481   <xsl:apply-templates select="."/>
482 </xsl:template>
483
484 <xsl:template match="d:firstname" mode="titlepage.mode">
485   <span>
486     <xsl:apply-templates select="." mode="common.html.attributes"/>
487     <xsl:call-template name="id.attribute"/>
488     <xsl:apply-templates mode="titlepage.mode"/>
489     <br/>
490   </span>
491 </xsl:template>
492
493 <xsl:template match="d:graphic" mode="titlepage.mode">
494   <!-- use the normal graphic handling code -->
495   <xsl:apply-templates select="."/>
496 </xsl:template>
497
498 <xsl:template match="d:honorific" mode="titlepage.mode">
499   <span>
500     <xsl:apply-templates select="." mode="common.html.attributes"/>
501     <xsl:call-template name="id.attribute"/>
502     <xsl:apply-templates mode="titlepage.mode"/>
503     <br/>
504   </span>
505 </xsl:template>
506
507 <xsl:template match="d:isbn" mode="titlepage.mode">
508   <span>
509     <xsl:apply-templates select="." mode="common.html.attributes"/>
510     <xsl:call-template name="id.attribute"/>
511     <xsl:apply-templates mode="titlepage.mode"/>
512     <br/>
513   </span>
514 </xsl:template>
515
516 <xsl:template match="d:issn" mode="titlepage.mode">
517   <span>
518     <xsl:apply-templates select="." mode="common.html.attributes"/>
519     <xsl:call-template name="id.attribute"/>
520     <xsl:apply-templates mode="titlepage.mode"/>
521     <br/>
522   </span>
523 </xsl:template>
524
525 <xsl:template match="d:biblioid" mode="titlepage.mode">
526   <span>
527     <xsl:apply-templates select="." mode="common.html.attributes"/>
528     <xsl:call-template name="id.attribute"/>
529     <xsl:apply-templates mode="titlepage.mode"/>
530     <br/>
531   </span>
532 </xsl:template>
533
534 <xsl:template match="d:itermset" mode="titlepage.mode">
535 </xsl:template>
536
537 <xsl:template match="d:invpartnumber" mode="titlepage.mode">
538   <span>
539     <xsl:apply-templates select="." mode="common.html.attributes"/>
540     <xsl:call-template name="id.attribute"/>
541     <xsl:apply-templates mode="titlepage.mode"/>
542     <br/>
543   </span>
544 </xsl:template>
545
546 <xsl:template match="d:issuenum" mode="titlepage.mode">
547   <span>
548     <xsl:apply-templates select="." mode="common.html.attributes"/>
549     <xsl:call-template name="id.attribute"/>
550     <xsl:apply-templates mode="titlepage.mode"/>
551     <br/>
552   </span>
553 </xsl:template>
554
555 <xsl:template match="d:jobtitle" mode="titlepage.mode">
556   <span>
557     <xsl:apply-templates select="." mode="common.html.attributes"/>
558     <xsl:call-template name="id.attribute"/>
559     <xsl:apply-templates mode="titlepage.mode"/>
560     <br/>
561   </span>
562 </xsl:template>
563
564 <xsl:template match="d:keywordset" mode="titlepage.mode">
565 </xsl:template>
566
567 <xsl:template match="d:legalnotice" mode="titlepage.mode">
568   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
569
570   <xsl:choose>
571     <xsl:when test="$generate.legalnotice.link != 0">
572       
573       <!-- Compute name of legalnotice file -->
574       <xsl:variable name="file">
575         <xsl:call-template name="ln.or.rh.filename"/>
576       </xsl:variable>
577
578       <xsl:variable name="filename">
579         <xsl:call-template name="make-relative-filename">
580           <xsl:with-param name="base.dir" select="$chunk.base.dir"/>
581           <xsl:with-param name="base.name" select="$file"/>
582         </xsl:call-template>
583       </xsl:variable>
584
585       <xsl:variable name="title">
586         <xsl:apply-templates select="." mode="title.markup"/>
587       </xsl:variable>
588
589       <a href="{$file}">
590         <xsl:copy-of select="$title"/>
591       </a>
592
593       <xsl:call-template name="write.chunk">
594         <xsl:with-param name="filename" select="$filename"/>
595         <xsl:with-param name="quiet" select="$chunk.quietly"/>
596         <xsl:with-param name="content">
597         <xsl:call-template name="user.preroot"/>
598           <html>
599             <head>
600               <xsl:call-template name="system.head.content"/>
601               <xsl:call-template name="head.content"/>
602               <xsl:call-template name="user.head.content"/>
603             </head>
604             <body>
605               <xsl:call-template name="body.attributes"/>
606               <div>
607                 <xsl:apply-templates select="." mode="common.html.attributes"/>
608                 <xsl:call-template name="id.attribute">
609                   <xsl:with-param name="conditional" select="0"/>
610                 </xsl:call-template>
611                 <xsl:apply-templates mode="titlepage.mode"/>
612               </div>
613             </body>
614           </html>
615           <xsl:value-of select="$chunk.append"/>
616         </xsl:with-param>
617       </xsl:call-template>
618     </xsl:when>
619     <xsl:otherwise>
620       <div>
621         <xsl:apply-templates select="." mode="common.html.attributes"/>
622         <xsl:call-template name="id.attribute">
623           <xsl:with-param name="conditional" select="0"/>
624         </xsl:call-template>
625         <xsl:call-template name="anchor">
626           <xsl:with-param name="conditional" select="0"/>
627         </xsl:call-template>
628         <xsl:apply-templates mode="titlepage.mode"/>
629       </div>
630     </xsl:otherwise>
631   </xsl:choose>
632 </xsl:template>
633
634 <xsl:template match="d:legalnotice/d:title" mode="titlepage.mode">
635   <p class="legalnotice-title"><strong><xsl:apply-templates/></strong></p>
636 </xsl:template>
637
638 <xsl:template match="d:lineage" mode="titlepage.mode">
639   <span>
640     <xsl:apply-templates select="." mode="common.html.attributes"/>
641     <xsl:call-template name="id.attribute"/>
642     <xsl:apply-templates mode="titlepage.mode"/>
643     <br/>
644   </span>
645 </xsl:template>
646
647 <xsl:template match="d:modespec" mode="titlepage.mode">
648 </xsl:template>
649
650 <xsl:template match="d:orgdiv" mode="titlepage.mode">
651   <xsl:if test="preceding-sibling::*[1][self::d:orgname]">
652     <xsl:text> </xsl:text>
653   </xsl:if>
654   <span>
655     <xsl:apply-templates select="." mode="common.html.attributes"/>
656     <xsl:call-template name="id.attribute"/>
657     <xsl:apply-templates mode="titlepage.mode"/>
658     <br/>
659   </span>
660 </xsl:template>
661
662 <xsl:template match="d:orgname" mode="titlepage.mode">
663   <span>
664     <xsl:apply-templates select="." mode="common.html.attributes"/>
665     <xsl:call-template name="id.attribute"/>
666     <xsl:apply-templates mode="titlepage.mode"/>
667     <br/>
668   </span>
669 </xsl:template>
670
671 <xsl:template match="d:othercredit" mode="titlepage.mode">
672 <xsl:choose>
673   <xsl:when test="not($othercredit.like.author.enabled = 0)">
674   <xsl:variable name="contrib" select="string(d:contrib)"/>
675   <xsl:choose>
676     <xsl:when test="d:contrib">
677       <xsl:if test="not(preceding-sibling::d:othercredit[string(d:contrib)=$contrib])">
678         <xsl:call-template name="paragraph">
679           <xsl:with-param name="class" select="local-name(.)"/>
680           <xsl:with-param name="content">
681             <xsl:apply-templates mode="titlepage.mode" select="d:contrib"/>
682             <xsl:text>: </xsl:text>
683             <xsl:call-template name="person.name"/>
684             <xsl:apply-templates mode="titlepage.mode" select="d:affiliation"/>
685             <xsl:apply-templates select="following-sibling::d:othercredit[string(d:contrib)=$contrib]" mode="titlepage.othercredits"/>
686           </xsl:with-param>
687         </xsl:call-template>
688       </xsl:if>
689     </xsl:when>
690     <xsl:otherwise>
691       <xsl:call-template name="paragraph">
692         <xsl:with-param name="class" select="local-name(.)"/>
693         <xsl:with-param name="content">
694           <xsl:call-template name="person.name"/>
695         </xsl:with-param>
696       </xsl:call-template>
697       <xsl:apply-templates mode="titlepage.mode" select="d:affiliation"/>
698     </xsl:otherwise>
699   </xsl:choose>
700   </xsl:when>
701   <xsl:otherwise>
702     <xsl:call-template name="credits.div"/>
703   </xsl:otherwise>
704 </xsl:choose>
705 </xsl:template>
706
707 <xsl:template match="d:othercredit" mode="titlepage.othercredits">
708   <xsl:text>, </xsl:text>
709   <xsl:call-template name="person.name"/>
710 </xsl:template>
711
712 <xsl:template match="d:othername" mode="titlepage.mode">
713   <span>
714     <xsl:apply-templates select="." mode="common.html.attributes"/>
715     <xsl:call-template name="id.attribute"/>
716     <xsl:apply-templates mode="titlepage.mode"/>
717     <br/>
718   </span>
719 </xsl:template>
720
721 <xsl:template match="d:pagenums" mode="titlepage.mode">
722   <span>
723     <xsl:apply-templates select="." mode="common.html.attributes"/>
724     <xsl:call-template name="id.attribute"/>
725     <xsl:apply-templates mode="titlepage.mode"/>
726     <br/>
727   </span>
728 </xsl:template>
729
730 <xsl:template match="d:printhistory" mode="titlepage.mode">
731   <div>
732     <xsl:apply-templates select="." mode="common.html.attributes"/>
733     <xsl:call-template name="id.attribute"/>
734     <xsl:apply-templates mode="titlepage.mode"/>
735   </div>
736 </xsl:template>
737
738 <xsl:template match="d:productname" mode="titlepage.mode">
739   <span>
740     <xsl:apply-templates select="." mode="common.html.attributes"/>
741     <xsl:call-template name="id.attribute"/>
742     <xsl:apply-templates mode="titlepage.mode"/>
743     <br/>
744   </span>
745 </xsl:template>
746
747 <xsl:template match="d:productnumber" mode="titlepage.mode">
748   <span>
749     <xsl:apply-templates select="." mode="common.html.attributes"/>
750     <xsl:call-template name="id.attribute"/>
751     <xsl:apply-templates mode="titlepage.mode"/>
752     <br/>
753   </span>
754 </xsl:template>
755
756 <xsl:template match="d:pubdate" mode="titlepage.mode">
757   <xsl:call-template name="paragraph">
758     <xsl:with-param name="class" select="local-name(.)"/>
759     <xsl:with-param name="content">
760       <xsl:apply-templates mode="titlepage.mode"/>
761     </xsl:with-param>
762   </xsl:call-template>
763 </xsl:template>
764
765 <xsl:template match="d:publisher" mode="titlepage.mode">
766   <xsl:call-template name="paragraph">
767     <xsl:with-param name="class" select="local-name(.)"/>
768     <xsl:with-param name="content">
769       <xsl:apply-templates mode="titlepage.mode"/>
770     </xsl:with-param>
771   </xsl:call-template>
772 </xsl:template>
773
774 <xsl:template match="d:publishername" mode="titlepage.mode">
775   <span>
776     <xsl:apply-templates select="." mode="common.html.attributes"/>
777     <xsl:call-template name="id.attribute"/>
778     <xsl:apply-templates mode="titlepage.mode"/>
779     <br/>
780   </span>
781 </xsl:template>
782
783 <xsl:template match="d:pubsnumber" mode="titlepage.mode">
784   <span>
785     <xsl:apply-templates select="." mode="common.html.attributes"/>
786     <xsl:call-template name="id.attribute"/>
787     <xsl:apply-templates mode="titlepage.mode"/>
788     <br/>
789   </span>
790 </xsl:template>
791
792 <xsl:template match="d:releaseinfo" mode="titlepage.mode">
793   <xsl:call-template name="paragraph">
794     <xsl:with-param name="class" select="local-name(.)"/>
795     <xsl:with-param name="content">
796       <xsl:apply-templates mode="titlepage.mode"/>
797     </xsl:with-param>
798   </xsl:call-template>
799 </xsl:template>
800
801 <xsl:template match="d:revhistory" mode="titlepage.mode">
802   <xsl:variable name="numcols">
803     <xsl:choose>
804       <xsl:when test=".//d:authorinitials|.//d:author">3</xsl:when>
805       <xsl:otherwise>2</xsl:otherwise>
806     </xsl:choose>
807   </xsl:variable>
808
809   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
810
811   <xsl:variable name="title">
812     <xsl:call-template name="gentext">
813       <xsl:with-param name="key">RevHistory</xsl:with-param>
814     </xsl:call-template>
815   </xsl:variable>
816
817   <xsl:variable name="contents">
818     <div>
819       <xsl:apply-templates select="." mode="common.html.attributes"/>
820       <xsl:call-template name="id.attribute"/>
821       <table>
822         <xsl:if test="$css.decoration != 0">
823           <xsl:attribute name="style">
824             <xsl:text>border-style:solid; width:100%;</xsl:text>
825           </xsl:attribute>
826         </xsl:if>
827         <!-- include summary attribute if not HTML5 -->
828         <xsl:if test="$div.element != 'section'">
829           <xsl:attribute name="summary">
830             <xsl:call-template name="gentext">
831               <xsl:with-param name="key">revhistory</xsl:with-param>
832             </xsl:call-template>
833           </xsl:attribute>
834         </xsl:if>
835         <tr>
836           <th align="{$direction.align.start}" valign="top" colspan="{$numcols}">
837             <strong>
838               <xsl:call-template name="gentext">
839                 <xsl:with-param name="key" select="'RevHistory'"/>
840               </xsl:call-template>
841             </strong>
842           </th>
843         </tr>
844         <xsl:apply-templates mode="titlepage.mode">
845           <xsl:with-param name="numcols" select="$numcols"/>
846         </xsl:apply-templates>
847       </table>
848     </div>
849   </xsl:variable>
850   
851   <xsl:choose>
852     <xsl:when test="$generate.revhistory.link != 0">
853       
854       <!-- Compute name of revhistory file -->
855       <xsl:variable name="file">
856         <xsl:call-template name="ln.or.rh.filename">
857           <xsl:with-param name="is.ln" select="false()"/>
858         </xsl:call-template>
859       </xsl:variable>
860
861       <xsl:variable name="filename">
862         <xsl:call-template name="make-relative-filename">
863           <xsl:with-param name="base.dir" select="$chunk.base.dir"/>
864           <xsl:with-param name="base.name" select="$file"/>
865         </xsl:call-template>
866       </xsl:variable>
867
868       <a href="{$file}">
869         <xsl:copy-of select="$title"/>
870       </a>
871
872       <xsl:call-template name="write.chunk">
873         <xsl:with-param name="filename" select="$filename"/>
874         <xsl:with-param name="quiet" select="$chunk.quietly"/>
875         <xsl:with-param name="content">
876         <xsl:call-template name="user.preroot"/>
877           <html>
878             <head>
879               <xsl:call-template name="system.head.content"/>
880               <xsl:call-template name="head.content">
881                 <xsl:with-param name="title">
882                     <xsl:value-of select="$title"/>
883                     <xsl:if test="../../d:title">
884                         <xsl:value-of select="concat(' (', ../../d:title, ')')"/>
885                     </xsl:if>
886                 </xsl:with-param>
887               </xsl:call-template>
888               <xsl:call-template name="user.head.content"/>
889             </head>
890             <body>
891               <xsl:call-template name="body.attributes"/>
892               <xsl:copy-of select="$contents"/>
893             </body>
894           </html>
895           <xsl:text>
896 </xsl:text>
897         </xsl:with-param>
898       </xsl:call-template>
899     </xsl:when>
900     <xsl:otherwise>
901       <xsl:copy-of select="$contents"/>
902     </xsl:otherwise>
903   </xsl:choose>
904 </xsl:template>
905
906 <xsl:template match="d:revhistory/d:revision" mode="titlepage.mode">
907   <xsl:param name="numcols" select="'3'"/>
908   <xsl:variable name="revnumber" select="d:revnumber"/>
909   <xsl:variable name="revdate" select="d:date"/>
910   <xsl:variable name="revauthor" select="d:authorinitials|d:author"/>
911   <xsl:variable name="revremark" select="d:revremark|d:revdescription"/>
912   <tr>
913     <td align="{$direction.align.start}">
914       <xsl:if test="$revnumber">
915         <xsl:call-template name="gentext">
916           <xsl:with-param name="key" select="'Revision'"/>
917         </xsl:call-template>
918         <xsl:call-template name="gentext.space"/>
919         <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
920       </xsl:if>
921     </td>
922     <td align="{$direction.align.start}">
923       <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
924     </td>
925     <xsl:choose>
926       <xsl:when test="$revauthor">
927         <td align="{$direction.align.start}">
928           <xsl:for-each select="$revauthor">
929             <xsl:apply-templates select="." mode="titlepage.mode"/>
930             <xsl:if test="position() != last()">
931               <xsl:text>, </xsl:text>
932             </xsl:if>
933           </xsl:for-each>
934         </td>
935       </xsl:when>
936       <xsl:when test="$numcols &gt; 2">
937         <td>&#160;</td>
938       </xsl:when>
939       <xsl:otherwise/>
940     </xsl:choose>
941   </tr>
942   <xsl:if test="$revremark">
943     <tr>
944       <td align="{$direction.align.start}" colspan="{$numcols}">
945         <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
946       </td>
947     </tr>
948   </xsl:if>
949 </xsl:template>
950
951 <xsl:template match="d:revision/d:revnumber" mode="titlepage.mode">
952   <xsl:apply-templates mode="titlepage.mode"/>
953 </xsl:template>
954
955 <xsl:template match="d:revision/d:date" mode="titlepage.mode">
956   <xsl:apply-templates mode="titlepage.mode"/>
957 </xsl:template>
958
959 <xsl:template match="d:revision/d:authorinitials" mode="titlepage.mode">
960   <xsl:apply-templates mode="titlepage.mode"/>
961 </xsl:template>
962
963 <xsl:template match="d:revision/d:author" mode="titlepage.mode">
964   <xsl:apply-templates mode="titlepage.mode"/>
965 </xsl:template>
966
967 <xsl:template match="d:revision/d:revremark" mode="titlepage.mode">
968   <xsl:apply-templates mode="titlepage.mode"/>
969 </xsl:template>
970
971 <xsl:template match="d:revision/d:revdescription" mode="titlepage.mode">
972   <xsl:apply-templates mode="titlepage.mode"/>
973 </xsl:template>
974
975 <xsl:template match="d:seriesvolnums" mode="titlepage.mode">
976   <span>
977     <xsl:apply-templates select="." mode="common.html.attributes"/>
978     <xsl:call-template name="id.attribute"/>
979     <xsl:apply-templates mode="titlepage.mode"/>
980     <br/>
981   </span>
982 </xsl:template>
983
984 <xsl:template match="d:shortaffil" mode="titlepage.mode">
985   <span>
986     <xsl:apply-templates select="." mode="common.html.attributes"/>
987     <xsl:call-template name="id.attribute"/>
988     <xsl:apply-templates mode="titlepage.mode"/>
989     <br/>
990   </span>
991 </xsl:template>
992
993 <xsl:template match="d:subjectset" mode="titlepage.mode">
994 </xsl:template>
995
996 <xsl:template match="d:subtitle" mode="titlepage.mode">
997   <h2>
998     <xsl:apply-templates select="." mode="common.html.attributes"/>
999     <xsl:call-template name="id.attribute"/>
1000     <xsl:apply-templates mode="titlepage.mode"/>
1001   </h2>
1002 </xsl:template>
1003
1004 <xsl:template match="d:surname" mode="titlepage.mode">
1005   <span>
1006     <xsl:apply-templates select="." mode="common.html.attributes"/>
1007     <xsl:call-template name="id.attribute"/>
1008     <xsl:apply-templates mode="titlepage.mode"/>
1009     <br/>
1010   </span>
1011 </xsl:template>
1012
1013 <xsl:template match="d:title" mode="titlepage.mode">
1014   <xsl:variable name="id">
1015     <xsl:choose>
1016       <!-- if title is in an *info wrapper, get the grandparent -->
1017       <xsl:when test="contains(local-name(..), 'info')">
1018         <xsl:call-template name="object.id">
1019           <xsl:with-param name="object" select="../.."/>
1020         </xsl:call-template>
1021       </xsl:when>
1022       <xsl:otherwise>
1023         <xsl:call-template name="object.id">
1024           <xsl:with-param name="object" select=".."/>
1025         </xsl:call-template>
1026       </xsl:otherwise>
1027     </xsl:choose>
1028   </xsl:variable>
1029
1030   <h1>
1031     <xsl:apply-templates select="." mode="common.html.attributes"/>
1032     <xsl:choose>
1033       <xsl:when test="$generate.id.attributes = 0">
1034         <a id="{$id}"/>
1035       </xsl:when>
1036       <xsl:otherwise>
1037       </xsl:otherwise>
1038     </xsl:choose>
1039     <xsl:choose>
1040       <xsl:when test="$show.revisionflag != 0 and @revisionflag">
1041         <span class="{@revisionflag}">
1042           <xsl:apply-templates mode="titlepage.mode"/>
1043         </span>
1044       </xsl:when>
1045       <xsl:otherwise>
1046         <xsl:apply-templates mode="titlepage.mode"/>
1047       </xsl:otherwise>
1048     </xsl:choose>
1049   </h1>
1050 </xsl:template>
1051
1052 <xsl:template match="d:titleabbrev" mode="titlepage.mode">
1053   <!-- nop; title abbreviations don't belong on the title page! -->
1054 </xsl:template>
1055
1056 <xsl:template match="d:volumenum" mode="titlepage.mode">
1057   <span>
1058     <xsl:apply-templates select="." mode="common.html.attributes"/>
1059     <xsl:call-template name="id.attribute"/>
1060     <xsl:apply-templates mode="titlepage.mode"/>
1061     <br/>
1062   </span>
1063 </xsl:template>
1064
1065 <!-- This template computes the filename for legalnotice and revhistory chunks -->
1066 <xsl:template name="ln.or.rh.filename">
1067   <xsl:param name="node" select="."/>
1068   <xsl:param name="is.ln" select="true()"/>
1069
1070   <xsl:variable name="dbhtml-filename">
1071     <xsl:call-template name="pi.dbhtml_filename">
1072       <xsl:with-param name="node" select="$node"/>
1073     </xsl:call-template>
1074   </xsl:variable>
1075  
1076   <xsl:choose>
1077     <!--  1. If there is a dbhtml_filename PI, use that -->
1078     <xsl:when test="$dbhtml-filename != ''">
1079       <xsl:value-of select="$dbhtml-filename"/>
1080     </xsl:when>
1081     <xsl:when test="($node/@id or $node/@xml:id) and not($use.id.as.filename = 0)">
1082       <!-- * 2. If this legalnotice/revhistory has an ID, then go ahead and use -->
1083       <!-- * just the value of that ID as the basename for the file -->
1084       <!-- * (that is, without prepending an "ln-" or "rh-" to it) -->
1085       <xsl:value-of select="($node/@id|$node/@xml:id)[1]"/>
1086       <xsl:value-of select="$html.ext"/>
1087     </xsl:when>
1088     <xsl:when test="not ($node/@id or $node/@xml:id) or $use.id.as.filename = 0">
1089       <!-- * 3. Otherwise, if this legalnotice/revhistory does not have an ID, or -->
1090       <!-- * if $use.id.as.filename = 0 -->
1091       <!-- * then we generate an ID... -->
1092       <xsl:variable name="id">
1093         <xsl:value-of select="generate-id($node)"/>
1094       </xsl:variable>
1095       <!-- * ...and then we take that generated ID, prepend a -->
1096       <!-- * prefix to it, and use that as the basename for the file -->
1097       <xsl:choose>
1098         <xsl:when test="$is.ln">
1099           <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
1100         </xsl:when>
1101         <xsl:otherwise>
1102           <xsl:value-of select="concat('rh-',$id,$html.ext)"/>
1103         </xsl:otherwise>
1104       </xsl:choose>
1105     </xsl:when>
1106   </xsl:choose>
1107 </xsl:template>
1108     
1109 <!-- ==================================================================== -->
1110
1111 </xsl:stylesheet>