Rocco Rutte:
[apps/madmutt.git] / doc / xslt / xhtml / biblio.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:template match="bibliography">
19   <div class="{name(.)}">
20     <xsl:if test="$generate.id.attributes != 0">
21       <xsl:attribute name="id">
22         <xsl:call-template name="object.id"/>
23       </xsl:attribute>
24     </xsl:if>
25
26     <xsl:call-template name="bibliography.titlepage"/>
27
28     <xsl:apply-templates/>
29
30     <xsl:if test="not(parent::article)">
31       <xsl:call-template name="process.footnotes"/>
32     </xsl:if>
33   </div>
34 </xsl:template>
35
36 <xsl:template match="bibliography/bibliographyinfo"/>
37 <xsl:template match="bibliography/title"/>
38 <xsl:template match="bibliography/subtitle"/>
39 <xsl:template match="bibliography/titleabbrev"/>
40
41 <!-- ==================================================================== -->
42
43 <xsl:template match="bibliodiv">
44   <div class="{name(.)}">
45     <xsl:apply-templates/>
46   </div>
47 </xsl:template>
48
49 <xsl:template match="bibliodiv/title">
50   <h3 class="{name(.)}">
51     <xsl:call-template name="anchor">
52       <xsl:with-param name="node" select=".."/>
53     </xsl:call-template>
54     <xsl:apply-templates/>
55   </h3>
56 </xsl:template>
57
58 <!-- ==================================================================== -->
59
60 <xsl:template match="bibliolist">
61   <div class="{name(.)}">
62     <xsl:call-template name="anchor"/>
63     <xsl:if test="blockinfo/title|title">
64       <xsl:call-template name="formal.object.heading"/>
65     </xsl:if>
66     <xsl:apply-templates select="*[not(self::blockinfo)               and not(self::title)        and not(self::titleabbrev)               and not(self::biblioentry)        and not(self::bibliomixed)]"/>
67     <dl>
68       <xsl:apply-templates select="biblioentry|bibliomixed"/>
69     </dl>
70   </div>
71 </xsl:template>
72
73 <!-- ==================================================================== -->
74
75 <xsl:template match="biblioentry">
76   <xsl:param name="label">
77     <xsl:call-template name="biblioentry.label"/>
78   </xsl:param>
79
80   <xsl:variable name="id">
81     <xsl:call-template name="object.id"/>
82   </xsl:variable>
83
84   <xsl:choose>
85     <xsl:when test="string(.) = ''">
86       <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
87       <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/>
88       <xsl:choose>
89         <xsl:when test="$entry">
90           <xsl:choose>
91             <xsl:when test="$bibliography.numbered != 0">
92               <xsl:apply-templates select="$entry">
93                 <xsl:with-param name="label" select="$label"/>
94               </xsl:apply-templates>
95             </xsl:when>
96             <xsl:otherwise>
97               <xsl:apply-templates select="$entry"/>
98             </xsl:otherwise>
99           </xsl:choose>
100         </xsl:when>
101         <xsl:otherwise>
102           <xsl:message>
103             <xsl:text>No bibliography entry: </xsl:text>
104             <xsl:value-of select="$id"/>
105             <xsl:text> found in </xsl:text>
106             <xsl:value-of select="$bibliography.collection"/>
107           </xsl:message>
108           <div class="{name(.)}">
109             <xsl:call-template name="anchor"/>
110             <p>
111               <xsl:copy-of select="$label"/>
112               <xsl:text>Error: no bibliography entry: </xsl:text>
113               <xsl:value-of select="$id"/>
114               <xsl:text> found in </xsl:text>
115               <xsl:value-of select="$bibliography.collection"/>
116             </p>
117           </div>
118         </xsl:otherwise>
119       </xsl:choose>
120     </xsl:when>
121     <xsl:otherwise>
122       <div class="{name(.)}">
123         <xsl:call-template name="anchor"/>
124         <p>
125           <xsl:copy-of select="$label"/>
126           <xsl:apply-templates mode="bibliography.mode"/>
127         </p>
128       </div>
129     </xsl:otherwise>
130   </xsl:choose>
131 </xsl:template>
132
133 <xsl:template match="bibliomixed">
134   <xsl:param name="label">
135     <xsl:call-template name="biblioentry.label"/>
136   </xsl:param>
137
138   <xsl:variable name="id">
139     <xsl:call-template name="object.id"/>
140   </xsl:variable>
141
142   <xsl:choose>
143     <xsl:when test="string(.) = ''">
144       <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
145       <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/>
146       <xsl:choose>
147         <xsl:when test="$entry">
148           <xsl:choose>
149             <xsl:when test="$bibliography.numbered != 0">
150               <xsl:apply-templates select="$entry">
151                 <xsl:with-param name="label" select="$label"/>
152               </xsl:apply-templates>
153             </xsl:when>
154             <xsl:otherwise>
155               <xsl:apply-templates select="$entry"/>
156             </xsl:otherwise>
157           </xsl:choose>
158         </xsl:when>
159         <xsl:otherwise>
160           <xsl:message>
161             <xsl:text>No bibliography entry: </xsl:text>
162             <xsl:value-of select="$id"/>
163             <xsl:text> found in </xsl:text>
164             <xsl:value-of select="$bibliography.collection"/>
165           </xsl:message>
166           <div class="{name(.)}">
167             <xsl:call-template name="anchor"/>
168             <p>
169               <xsl:copy-of select="$label"/>
170               <xsl:text>Error: no bibliography entry: </xsl:text>
171               <xsl:value-of select="$id"/>
172               <xsl:text> found in </xsl:text>
173               <xsl:value-of select="$bibliography.collection"/>
174             </p>
175           </div>
176         </xsl:otherwise>
177       </xsl:choose>
178     </xsl:when>
179     <xsl:otherwise>
180       <div class="{name(.)}">
181         <xsl:call-template name="anchor"/>
182         <p class="{name(.)}">
183           <xsl:copy-of select="$label"/>
184           <xsl:apply-templates mode="bibliomixed.mode"/>
185         </p>
186       </div>
187     </xsl:otherwise>
188   </xsl:choose>
189 </xsl:template>
190
191 <xsl:template name="biblioentry.label">
192   <xsl:param name="node" select="."/>
193
194   <xsl:choose>
195     <xsl:when test="$bibliography.numbered != 0">
196       <xsl:text>[</xsl:text>
197       <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
198       <xsl:text>] </xsl:text>
199     </xsl:when>
200     <xsl:when test="local-name($node/child::*[1]) = 'abbrev'">
201       <xsl:text>[</xsl:text>
202       <xsl:apply-templates select="$node/abbrev[1]"/>
203       <xsl:text>] </xsl:text>
204     </xsl:when>
205     <xsl:when test="$node/@xreflabel">
206       <xsl:text>[</xsl:text>
207       <xsl:value-of select="$node/@xreflabel"/>
208       <xsl:text>] </xsl:text>
209     </xsl:when>
210     <xsl:when test="$node/@id">
211       <xsl:text>[</xsl:text>
212       <xsl:value-of select="$node/@id"/>
213       <xsl:text>] </xsl:text>
214     </xsl:when>
215     <xsl:otherwise><!-- nop --></xsl:otherwise>
216   </xsl:choose>
217 </xsl:template>
218
219 <!-- ==================================================================== -->
220
221 <xsl:template match="*" mode="bibliography.mode">
222   <xsl:apply-templates select="."/><!-- try the default mode -->
223 </xsl:template>
224
225 <xsl:template match="abbrev" mode="bibliography.mode">
226   <xsl:if test="preceding-sibling::*">
227     <xsl:apply-templates mode="bibliography.mode"/>
228   </xsl:if>
229 </xsl:template>
230
231 <xsl:template match="abstract" mode="bibliography.mode">
232   <!-- suppressed -->
233 </xsl:template>
234
235 <xsl:template match="address" mode="bibliography.mode">
236   <span class="{name(.)}">
237     <xsl:apply-templates mode="bibliography.mode"/>
238     <xsl:value-of select="$biblioentry.item.separator"/>
239   </span>
240 </xsl:template>
241
242 <xsl:template match="affiliation" mode="bibliography.mode">
243   <span class="{name(.)}">
244     <xsl:apply-templates mode="bibliography.mode"/>
245     <xsl:value-of select="$biblioentry.item.separator"/>
246   </span>
247 </xsl:template>
248
249 <xsl:template match="shortaffil" mode="bibliography.mode">
250   <span class="{name(.)}">
251     <xsl:apply-templates mode="bibliography.mode"/>
252     <xsl:value-of select="$biblioentry.item.separator"/>
253   </span>
254 </xsl:template>
255
256 <xsl:template match="jobtitle" mode="bibliography.mode">
257   <span class="{name(.)}">
258     <xsl:apply-templates mode="bibliography.mode"/>
259     <xsl:value-of select="$biblioentry.item.separator"/>
260   </span>
261 </xsl:template>
262
263 <xsl:template match="artheader|articleinfo|info" mode="bibliography.mode">
264   <span class="{name(.)}">
265     <xsl:apply-templates mode="bibliography.mode"/>
266     <xsl:value-of select="$biblioentry.item.separator"/>
267   </span>
268 </xsl:template>
269
270 <xsl:template match="artpagenums" mode="bibliography.mode">
271   <span class="{name(.)}">
272     <xsl:apply-templates mode="bibliography.mode"/>
273     <xsl:value-of select="$biblioentry.item.separator"/>
274   </span>
275 </xsl:template>
276
277 <xsl:template match="author" mode="bibliography.mode">
278   <span class="{name(.)}">
279     <xsl:call-template name="person.name"/>
280     <xsl:value-of select="$biblioentry.item.separator"/>
281   </span>
282 </xsl:template>
283
284 <xsl:template match="authorblurb|personblurb" mode="bibliography.mode">
285   <!-- suppressed -->
286 </xsl:template>
287
288 <xsl:template match="authorgroup" mode="bibliography.mode">
289   <span class="{name(.)}">
290     <xsl:call-template name="person.name.list"/>
291     <xsl:value-of select="$biblioentry.item.separator"/>
292   </span>
293 </xsl:template>
294
295 <xsl:template match="authorinitials" mode="bibliography.mode">
296   <span class="{name(.)}">
297     <xsl:apply-templates mode="bibliography.mode"/>
298     <xsl:value-of select="$biblioentry.item.separator"/>
299   </span>
300 </xsl:template>
301
302 <xsl:template match="bibliomisc" mode="bibliography.mode">
303   <span class="{name(.)}">
304     <xsl:apply-templates mode="bibliography.mode"/>
305     <xsl:value-of select="$biblioentry.item.separator"/>
306   </span>
307 </xsl:template>
308
309 <xsl:template match="bibliomset" mode="bibliography.mode">
310   <span class="{name(.)}">
311     <xsl:apply-templates mode="bibliography.mode"/>
312     <xsl:value-of select="$biblioentry.item.separator"/>
313   </span>
314 </xsl:template>
315
316 <!-- ================================================== -->
317
318 <xsl:template match="biblioset" mode="bibliography.mode">
319   <span class="{name(.)}">
320     <xsl:apply-templates mode="bibliography.mode"/>
321   </span>
322 </xsl:template>
323
324 <xsl:template match="biblioset/title|biblioset/citetitle" mode="bibliography.mode">
325   <xsl:variable name="relation" select="../@relation"/>
326   <xsl:choose>
327     <xsl:when test="$relation='article' or @pubwork='article'">
328       <xsl:call-template name="gentext.startquote"/>
329       <xsl:apply-templates/>
330       <xsl:call-template name="gentext.endquote"/>
331     </xsl:when>
332     <xsl:otherwise>
333       <i><xsl:apply-templates/></i>
334     </xsl:otherwise>
335   </xsl:choose>
336   <xsl:value-of select="$biblioentry.item.separator"/>
337 </xsl:template>
338
339 <!-- ================================================== -->
340
341 <xsl:template match="bookbiblio" mode="bibliography.mode">
342   <span class="{name(.)}">
343     <xsl:apply-templates mode="bibliography.mode"/>
344     <xsl:value-of select="$biblioentry.item.separator"/>
345   </span>
346 </xsl:template>
347
348 <xsl:template match="citetitle" mode="bibliography.mode">
349   <span class="{name(.)}">
350     <xsl:choose>
351       <xsl:when test="@pubwork = 'article'">
352         <xsl:call-template name="gentext.startquote"/>
353         <xsl:call-template name="inline.charseq"/>
354         <xsl:call-template name="gentext.endquote"/>
355       </xsl:when>
356       <xsl:otherwise>
357         <xsl:call-template name="inline.italicseq"/>
358       </xsl:otherwise>
359     </xsl:choose>
360     <xsl:value-of select="$biblioentry.item.separator"/>
361   </span>
362 </xsl:template>
363
364 <xsl:template match="collab" mode="bibliography.mode">
365   <span class="{name(.)}">
366     <xsl:apply-templates mode="bibliography.mode"/>
367     <xsl:value-of select="$biblioentry.item.separator"/>
368   </span>
369 </xsl:template>
370
371 <xsl:template match="collabname" mode="bibliography.mode">
372   <span class="{name(.)}">
373     <xsl:apply-templates mode="bibliography.mode"/>
374     <xsl:value-of select="$biblioentry.item.separator"/>
375   </span>
376 </xsl:template>
377
378 <xsl:template match="confgroup" mode="bibliography.mode">
379   <span class="{name(.)}">
380     <xsl:apply-templates mode="bibliography.mode"/>
381     <xsl:value-of select="$biblioentry.item.separator"/>
382   </span>
383 </xsl:template>
384
385 <xsl:template match="confdates" mode="bibliography.mode">
386   <span class="{name(.)}">
387     <xsl:apply-templates mode="bibliography.mode"/>
388     <xsl:value-of select="$biblioentry.item.separator"/>
389   </span>
390 </xsl:template>
391
392 <xsl:template match="conftitle" mode="bibliography.mode">
393   <span class="{name(.)}">
394     <xsl:apply-templates mode="bibliography.mode"/>
395     <xsl:value-of select="$biblioentry.item.separator"/>
396   </span>
397 </xsl:template>
398
399 <xsl:template match="confnum" mode="bibliography.mode">
400   <span class="{name(.)}">
401     <xsl:apply-templates mode="bibliography.mode"/>
402     <xsl:value-of select="$biblioentry.item.separator"/>
403   </span>
404 </xsl:template>
405
406 <xsl:template match="confsponsor" mode="bibliography.mode">
407   <span class="{name(.)}">
408     <xsl:apply-templates mode="bibliography.mode"/>
409     <xsl:value-of select="$biblioentry.item.separator"/>
410   </span>
411 </xsl:template>
412
413 <xsl:template match="contractnum" mode="bibliography.mode">
414   <span class="{name(.)}">
415     <xsl:apply-templates mode="bibliography.mode"/>
416     <xsl:value-of select="$biblioentry.item.separator"/>
417   </span>
418 </xsl:template>
419
420 <xsl:template match="contractsponsor" mode="bibliography.mode">
421   <span class="{name(.)}">
422     <xsl:apply-templates mode="bibliography.mode"/>
423     <xsl:value-of select="$biblioentry.item.separator"/>
424   </span>
425 </xsl:template>
426
427 <xsl:template match="contrib" mode="bibliography.mode">
428   <span class="{name(.)}">
429     <xsl:apply-templates mode="bibliography.mode"/>
430     <xsl:value-of select="$biblioentry.item.separator"/>
431   </span>
432 </xsl:template>
433
434 <!-- ================================================== -->
435
436 <xsl:template match="copyright" mode="bibliography.mode">
437   <span class="{name(.)}">
438     <xsl:call-template name="gentext">
439       <xsl:with-param name="key" select="'Copyright'"/>
440     </xsl:call-template>
441     <xsl:call-template name="gentext.space"/>
442     <xsl:call-template name="dingbat">
443       <xsl:with-param name="dingbat">copyright</xsl:with-param>
444     </xsl:call-template>
445     <xsl:call-template name="gentext.space"/>
446     <xsl:apply-templates select="year" mode="bibliography.mode"/>
447     <xsl:if test="holder">
448       <xsl:call-template name="gentext.space"/>
449       <xsl:apply-templates select="holder" mode="bibliography.mode"/>
450     </xsl:if>
451     <xsl:value-of select="$biblioentry.item.separator"/>
452   </span>
453 </xsl:template>
454
455 <xsl:template match="year" mode="bibliography.mode">
456   <xsl:apply-templates/><xsl:text>, </xsl:text>
457 </xsl:template>
458
459 <xsl:template match="year[position()=last()]" mode="bibliography.mode">
460   <xsl:apply-templates/>
461 </xsl:template>
462
463 <xsl:template match="holder" mode="bibliography.mode">
464   <xsl:apply-templates/>
465 </xsl:template>
466
467 <!-- ================================================== -->
468
469 <xsl:template match="corpauthor" mode="bibliography.mode">
470   <span class="{name(.)}">
471     <xsl:apply-templates mode="bibliography.mode"/>
472     <xsl:value-of select="$biblioentry.item.separator"/>
473   </span>
474 </xsl:template>
475
476 <xsl:template match="corpcredit" mode="bibliography.mode">
477   <span class="{name(.)}">
478     <xsl:apply-templates mode="bibliography.mode"/>
479     <xsl:value-of select="$biblioentry.item.separator"/>
480   </span>
481 </xsl:template>
482
483 <xsl:template match="corpname" mode="bibliography.mode">
484   <span class="{name(.)}">
485     <xsl:apply-templates mode="bibliography.mode"/>
486     <xsl:value-of select="$biblioentry.item.separator"/>
487   </span>
488 </xsl:template>
489
490 <xsl:template match="date" mode="bibliography.mode">
491   <span class="{name(.)}">
492     <xsl:apply-templates mode="bibliography.mode"/>
493     <xsl:value-of select="$biblioentry.item.separator"/>
494   </span>
495 </xsl:template>
496
497 <xsl:template match="edition" mode="bibliography.mode">
498   <span class="{name(.)}">
499     <xsl:apply-templates mode="bibliography.mode"/>
500     <xsl:value-of select="$biblioentry.item.separator"/>
501   </span>
502 </xsl:template>
503
504 <xsl:template match="editor" mode="bibliography.mode">
505   <span class="{name(.)}">
506     <xsl:call-template name="person.name"/>
507     <xsl:value-of select="$biblioentry.item.separator"/>
508   </span>
509 </xsl:template>
510
511 <xsl:template match="firstname" mode="bibliography.mode">
512   <span class="{name(.)}">
513     <xsl:apply-templates mode="bibliography.mode"/>
514     <xsl:value-of select="$biblioentry.item.separator"/>
515   </span>
516 </xsl:template>
517
518 <xsl:template match="honorific" mode="bibliography.mode">
519   <span class="{name(.)}">
520     <xsl:apply-templates mode="bibliography.mode"/>
521     <xsl:value-of select="$biblioentry.item.separator"/>
522   </span>
523 </xsl:template>
524
525 <xsl:template match="indexterm" mode="bibliography.mode">
526   <span class="{name(.)}">
527     <xsl:apply-templates mode="bibliography.mode"/>
528     <xsl:value-of select="$biblioentry.item.separator"/>
529   </span>
530 </xsl:template>
531
532 <xsl:template match="invpartnumber" mode="bibliography.mode">
533   <span class="{name(.)}">
534     <xsl:apply-templates mode="bibliography.mode"/>
535     <xsl:value-of select="$biblioentry.item.separator"/>
536   </span>
537 </xsl:template>
538
539 <xsl:template match="isbn" mode="bibliography.mode">
540   <span class="{name(.)}">
541     <xsl:apply-templates mode="bibliography.mode"/>
542     <xsl:value-of select="$biblioentry.item.separator"/>
543   </span>
544 </xsl:template>
545
546 <xsl:template match="issn" mode="bibliography.mode">
547   <span class="{name(.)}">
548     <xsl:apply-templates mode="bibliography.mode"/>
549     <xsl:value-of select="$biblioentry.item.separator"/>
550   </span>
551 </xsl:template>
552
553 <xsl:template match="issuenum" mode="bibliography.mode">
554   <span class="{name(.)}">
555     <xsl:apply-templates mode="bibliography.mode"/>
556     <xsl:value-of select="$biblioentry.item.separator"/>
557   </span>
558 </xsl:template>
559
560 <xsl:template match="lineage" mode="bibliography.mode">
561   <span class="{name(.)}">
562     <xsl:apply-templates mode="bibliography.mode"/>
563     <xsl:value-of select="$biblioentry.item.separator"/>
564   </span>
565 </xsl:template>
566
567 <xsl:template match="orgname" mode="bibliography.mode">
568   <span class="{name(.)}">
569     <xsl:apply-templates mode="bibliography.mode"/>
570     <xsl:value-of select="$biblioentry.item.separator"/>
571   </span>
572 </xsl:template>
573
574 <xsl:template match="orgdiv" mode="bibliography.mode">
575   <span class="{name(.)}">
576     <xsl:apply-templates mode="bibliography.mode"/>
577     <xsl:value-of select="$biblioentry.item.separator"/>
578   </span>
579 </xsl:template>
580
581 <xsl:template match="othercredit" mode="bibliography.mode">
582   <span class="{name(.)}">
583     <xsl:apply-templates mode="bibliography.mode"/>
584     <xsl:value-of select="$biblioentry.item.separator"/>
585   </span>
586 </xsl:template>
587
588 <xsl:template match="othername" mode="bibliography.mode">
589   <span class="{name(.)}">
590     <xsl:apply-templates mode="bibliography.mode"/>
591     <xsl:value-of select="$biblioentry.item.separator"/>
592   </span>
593 </xsl:template>
594
595 <xsl:template match="pagenums" mode="bibliography.mode">
596   <span class="{name(.)}">
597     <xsl:apply-templates mode="bibliography.mode"/>
598     <xsl:value-of select="$biblioentry.item.separator"/>
599   </span>
600 </xsl:template>
601
602 <xsl:template match="printhistory" mode="bibliography.mode">
603   <!-- suppressed -->
604 </xsl:template>
605
606 <xsl:template match="productname" mode="bibliography.mode">
607   <span class="{name(.)}">
608     <xsl:apply-templates mode="bibliography.mode"/>
609     <xsl:value-of select="$biblioentry.item.separator"/>
610   </span>
611 </xsl:template>
612
613 <xsl:template match="productnumber" mode="bibliography.mode">
614   <span class="{name(.)}">
615     <xsl:apply-templates mode="bibliography.mode"/>
616     <xsl:value-of select="$biblioentry.item.separator"/>
617   </span>
618 </xsl:template>
619
620 <xsl:template match="pubdate" mode="bibliography.mode">
621   <span class="{name(.)}">
622     <xsl:apply-templates mode="bibliography.mode"/>
623     <xsl:value-of select="$biblioentry.item.separator"/>
624   </span>
625 </xsl:template>
626
627 <xsl:template match="publisher" mode="bibliography.mode">
628   <span class="{name(.)}">
629     <xsl:apply-templates mode="bibliography.mode"/>
630   </span>
631 </xsl:template>
632
633 <xsl:template match="publishername" mode="bibliography.mode">
634   <span class="{name(.)}">
635     <xsl:apply-templates mode="bibliography.mode"/>
636     <xsl:value-of select="$biblioentry.item.separator"/>
637   </span>
638 </xsl:template>
639
640 <xsl:template match="pubsnumber" mode="bibliography.mode">
641   <span class="{name(.)}">
642     <xsl:apply-templates mode="bibliography.mode"/>
643     <xsl:value-of select="$biblioentry.item.separator"/>
644   </span>
645 </xsl:template>
646
647 <xsl:template match="releaseinfo" mode="bibliography.mode">
648   <span class="{name(.)}">
649     <xsl:apply-templates mode="bibliography.mode"/>
650     <xsl:value-of select="$biblioentry.item.separator"/>
651   </span>
652 </xsl:template>
653
654 <xsl:template match="revhistory" mode="bibliography.mode">
655   <!-- suppressed; how could this be represented? -->
656 </xsl:template>
657
658 <xsl:template match="seriesinfo" mode="bibliography.mode">
659   <span class="{name(.)}">
660     <xsl:apply-templates mode="bibliography.mode"/>
661   </span>
662 </xsl:template>
663
664 <xsl:template match="seriesvolnums" mode="bibliography.mode">
665   <span class="{name(.)}">
666     <xsl:apply-templates mode="bibliography.mode"/>
667     <xsl:value-of select="$biblioentry.item.separator"/>
668   </span>
669 </xsl:template>
670
671 <xsl:template match="subtitle" mode="bibliography.mode">
672   <span class="{name(.)}">
673     <xsl:apply-templates mode="bibliography.mode"/>
674     <xsl:value-of select="$biblioentry.item.separator"/>
675   </span>
676 </xsl:template>
677
678 <xsl:template match="surname" mode="bibliography.mode">
679   <span class="{name(.)}">
680     <xsl:apply-templates mode="bibliography.mode"/>
681     <xsl:value-of select="$biblioentry.item.separator"/>
682   </span>
683 </xsl:template>
684
685 <xsl:template match="title" mode="bibliography.mode">
686   <span class="{name(.)}">
687     <i><xsl:apply-templates mode="bibliography.mode"/></i>
688     <xsl:value-of select="$biblioentry.item.separator"/>
689   </span>
690 </xsl:template>
691
692 <xsl:template match="titleabbrev" mode="bibliography.mode">
693   <span class="{name(.)}">
694     <xsl:apply-templates mode="bibliography.mode"/>
695     <xsl:value-of select="$biblioentry.item.separator"/>
696   </span>
697 </xsl:template>
698
699 <xsl:template match="volumenum" mode="bibliography.mode">
700   <span class="{name(.)}">
701     <xsl:apply-templates mode="bibliography.mode"/>
702     <xsl:value-of select="$biblioentry.item.separator"/>
703   </span>
704 </xsl:template>
705
706 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" mode="bibliography.mode">
707   <span class="{name(.)}">
708     <xsl:apply-templates mode="bibliography.mode"/>
709     <xsl:value-of select="$biblioentry.item.separator"/>
710   </span>
711 </xsl:template>
712
713 <!-- ==================================================================== -->
714
715 <xsl:template match="*" mode="bibliomixed.mode">
716   <xsl:apply-templates select="."/><!-- try the default mode -->
717 </xsl:template>
718
719 <xsl:template match="abbrev" mode="bibliomixed.mode">
720   <xsl:if test="preceding-sibling::*">
721     <xsl:apply-templates mode="bibliomixed.mode"/>
722   </xsl:if>
723 </xsl:template>
724
725 <xsl:template match="abstract" mode="bibliomixed.mode">
726   <span class="{name(.)}">
727     <xsl:apply-templates mode="bibliomixed.mode"/>
728   </span>
729 </xsl:template>
730
731 <xsl:template match="address" mode="bibliomixed.mode">
732   <span class="{name(.)}">
733     <xsl:apply-templates mode="bibliomixed.mode"/>
734   </span>
735 </xsl:template>
736
737 <xsl:template match="affiliation" mode="bibliomixed.mode">
738   <span class="{name(.)}">
739     <xsl:apply-templates mode="bibliomixed.mode"/>
740   </span>
741 </xsl:template>
742
743 <xsl:template match="shortaffil" mode="bibliomixed.mode">
744   <span class="{name(.)}">
745     <xsl:apply-templates mode="bibliomixed.mode"/>
746   </span>
747 </xsl:template>
748
749 <xsl:template match="jobtitle" mode="bibliomixed.mode">
750   <span class="{name(.)}">
751     <xsl:apply-templates mode="bibliomixed.mode"/>
752   </span>
753 </xsl:template>
754
755 <xsl:template match="artpagenums" mode="bibliomixed.mode">
756   <span class="{name(.)}">
757     <xsl:apply-templates mode="bibliomixed.mode"/>
758   </span>
759 </xsl:template>
760
761 <xsl:template match="author" mode="bibliomixed.mode">
762   <span class="{name(.)}">
763     <xsl:apply-templates mode="bibliomixed.mode"/>
764   </span>
765 </xsl:template>
766
767 <xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
768   <span class="{name(.)}">
769     <xsl:apply-templates mode="bibliomixed.mode"/>
770   </span>
771 </xsl:template>
772
773 <xsl:template match="authorgroup" mode="bibliomixed.mode">
774   <span class="{name(.)}">
775     <xsl:apply-templates mode="bibliomixed.mode"/>
776   </span>
777 </xsl:template>
778
779 <xsl:template match="authorinitials" mode="bibliomixed.mode">
780   <span class="{name(.)}">
781     <xsl:apply-templates mode="bibliomixed.mode"/>
782   </span>
783 </xsl:template>
784
785 <xsl:template match="bibliomisc" mode="bibliomixed.mode">
786   <span class="{name(.)}">
787     <xsl:apply-templates mode="bibliomixed.mode"/>
788   </span>
789 </xsl:template>
790
791 <!-- ================================================== -->
792
793 <xsl:template match="bibliomset" mode="bibliomixed.mode">
794   <span class="{name(.)}">
795     <xsl:apply-templates mode="bibliomixed.mode"/>
796   </span>
797 </xsl:template>
798
799 <xsl:template match="bibliomset/title|bibliomset/citetitle" mode="bibliomixed.mode">
800   <xsl:variable name="relation" select="../@relation"/>
801   <xsl:choose>
802     <xsl:when test="$relation='article' or @pubwork='article'">
803       <xsl:call-template name="gentext.startquote"/>
804       <xsl:apply-templates/>
805       <xsl:call-template name="gentext.endquote"/>
806     </xsl:when>
807     <xsl:otherwise>
808       <i><xsl:apply-templates/></i>
809     </xsl:otherwise>
810   </xsl:choose>
811 </xsl:template>
812
813 <!-- ================================================== -->
814
815 <xsl:template match="biblioset" mode="bibliomixed.mode">
816   <span class="{name(.)}">
817     <xsl:apply-templates mode="bibliomixed.mode"/>
818   </span>
819 </xsl:template>
820
821 <xsl:template match="citetitle" mode="bibliomixed.mode">
822   <span class="{name(.)}">
823     <xsl:choose>
824       <xsl:when test="@pubwork = 'article'">
825         <xsl:call-template name="gentext.startquote"/>
826         <xsl:call-template name="inline.charseq"/>
827         <xsl:call-template name="gentext.endquote"/>
828       </xsl:when>
829       <xsl:otherwise>
830         <xsl:call-template name="inline.italicseq"/>
831       </xsl:otherwise>
832     </xsl:choose>
833   </span>
834 </xsl:template>
835
836
837 <xsl:template match="collab" mode="bibliomixed.mode">
838   <span class="{name(.)}">
839     <xsl:apply-templates mode="bibliomixed.mode"/>
840   </span>
841 </xsl:template>
842
843 <xsl:template match="confgroup" mode="bibliomixed.mode">
844   <span class="{name(.)}">
845     <xsl:apply-templates mode="bibliomixed.mode"/>
846   </span>
847 </xsl:template>
848
849 <xsl:template match="contractnum" mode="bibliomixed.mode">
850   <span class="{name(.)}">
851     <xsl:apply-templates mode="bibliomixed.mode"/>
852   </span>
853 </xsl:template>
854
855 <xsl:template match="contractsponsor" mode="bibliomixed.mode">
856   <span class="{name(.)}">
857     <xsl:apply-templates mode="bibliomixed.mode"/>
858   </span>
859 </xsl:template>
860
861 <xsl:template match="contrib" mode="bibliomixed.mode">
862   <span class="{name(.)}">
863     <xsl:apply-templates mode="bibliomixed.mode"/>
864   </span>
865 </xsl:template>
866
867 <xsl:template match="copyright" mode="bibliomixed.mode">
868   <span class="{name(.)}">
869     <xsl:apply-templates mode="bibliomixed.mode"/>
870   </span>
871 </xsl:template>
872
873 <xsl:template match="corpauthor" mode="bibliomixed.mode">
874   <span class="{name(.)}">
875     <xsl:apply-templates mode="bibliomixed.mode"/>
876   </span>
877 </xsl:template>
878
879 <xsl:template match="corpcredit" mode="bibliomixed.mode">
880   <span class="{name(.)}">
881     <xsl:apply-templates mode="bibliomixed.mode"/>
882   </span>
883 </xsl:template>
884
885 <xsl:template match="corpname" mode="bibliomixed.mode">
886   <span class="{name(.)}">
887     <xsl:apply-templates mode="bibliomixed.mode"/>
888   </span>
889 </xsl:template>
890
891 <xsl:template match="date" mode="bibliomixed.mode">
892   <span class="{name(.)}">
893     <xsl:apply-templates mode="bibliomixed.mode"/>
894   </span>
895 </xsl:template>
896
897 <xsl:template match="edition" mode="bibliomixed.mode">
898   <span class="{name(.)}">
899     <xsl:apply-templates mode="bibliomixed.mode"/>
900   </span>
901 </xsl:template>
902
903 <xsl:template match="editor" mode="bibliomixed.mode">
904   <span class="{name(.)}">
905     <xsl:apply-templates mode="bibliomixed.mode"/>
906   </span>
907 </xsl:template>
908
909 <xsl:template match="firstname" mode="bibliomixed.mode">
910   <span class="{name(.)}">
911     <xsl:apply-templates mode="bibliomixed.mode"/>
912   </span>
913 </xsl:template>
914
915 <xsl:template match="honorific" mode="bibliomixed.mode">
916   <span class="{name(.)}">
917     <xsl:apply-templates mode="bibliomixed.mode"/>
918   </span>
919 </xsl:template>
920
921 <xsl:template match="indexterm" mode="bibliomixed.mode">
922   <span class="{name(.)}">
923     <xsl:apply-templates mode="bibliomixed.mode"/>
924   </span>
925 </xsl:template>
926
927 <xsl:template match="invpartnumber" mode="bibliomixed.mode">
928   <span class="{name(.)}">
929     <xsl:apply-templates mode="bibliomixed.mode"/>
930   </span>
931 </xsl:template>
932
933 <xsl:template match="isbn" mode="bibliomixed.mode">
934   <span class="{name(.)}">
935     <xsl:apply-templates mode="bibliomixed.mode"/>
936   </span>
937 </xsl:template>
938
939 <xsl:template match="issn" mode="bibliomixed.mode">
940   <span class="{name(.)}">
941     <xsl:apply-templates mode="bibliomixed.mode"/>
942   </span>
943 </xsl:template>
944
945 <xsl:template match="issuenum" mode="bibliomixed.mode">
946   <span class="{name(.)}">
947     <xsl:apply-templates mode="bibliomixed.mode"/>
948   </span>
949 </xsl:template>
950
951 <xsl:template match="lineage" mode="bibliomixed.mode">
952   <span class="{name(.)}">
953     <xsl:apply-templates mode="bibliomixed.mode"/>
954   </span>
955 </xsl:template>
956
957 <xsl:template match="orgname" mode="bibliomixed.mode">
958   <span class="{name(.)}">
959     <xsl:apply-templates mode="bibliomixed.mode"/>
960   </span>
961 </xsl:template>
962
963 <xsl:template match="othercredit" mode="bibliomixed.mode">
964   <span class="{name(.)}">
965     <xsl:apply-templates mode="bibliomixed.mode"/>
966   </span>
967 </xsl:template>
968
969 <xsl:template match="othername" mode="bibliomixed.mode">
970   <span class="{name(.)}">
971     <xsl:apply-templates mode="bibliomixed.mode"/>
972   </span>
973 </xsl:template>
974
975 <xsl:template match="pagenums" mode="bibliomixed.mode">
976   <span class="{name(.)}">
977     <xsl:apply-templates mode="bibliomixed.mode"/>
978   </span>
979 </xsl:template>
980
981 <xsl:template match="printhistory" mode="bibliomixed.mode">
982   <span class="{name(.)}">
983     <xsl:apply-templates mode="bibliomixed.mode"/>
984   </span>
985 </xsl:template>
986
987 <xsl:template match="productname" mode="bibliomixed.mode">
988   <span class="{name(.)}">
989     <xsl:apply-templates mode="bibliomixed.mode"/>
990   </span>
991 </xsl:template>
992
993 <xsl:template match="productnumber" mode="bibliomixed.mode">
994   <span class="{name(.)}">
995     <xsl:apply-templates mode="bibliomixed.mode"/>
996   </span>
997 </xsl:template>
998
999 <xsl:template match="pubdate" mode="bibliomixed.mode">
1000   <span class="{name(.)}">
1001     <xsl:apply-templates mode="bibliomixed.mode"/>
1002   </span>
1003 </xsl:template>
1004
1005 <xsl:template match="publisher" mode="bibliomixed.mode">
1006   <span class="{name(.)}">
1007     <xsl:apply-templates mode="bibliomixed.mode"/>
1008   </span>
1009 </xsl:template>
1010
1011 <xsl:template match="publishername" mode="bibliomixed.mode">
1012   <span class="{name(.)}">
1013     <xsl:apply-templates mode="bibliomixed.mode"/>
1014   </span>
1015 </xsl:template>
1016
1017 <xsl:template match="pubsnumber" mode="bibliomixed.mode">
1018   <span class="{name(.)}">
1019     <xsl:apply-templates mode="bibliomixed.mode"/>
1020   </span>
1021 </xsl:template>
1022
1023 <xsl:template match="releaseinfo" mode="bibliomixed.mode">
1024   <span class="{name(.)}">
1025     <xsl:apply-templates mode="bibliomixed.mode"/>
1026   </span>
1027 </xsl:template>
1028
1029 <xsl:template match="revhistory" mode="bibliomixed.mode">
1030   <!-- suppressed; how could this be represented? -->
1031 </xsl:template>
1032
1033 <xsl:template match="seriesvolnums" mode="bibliomixed.mode">
1034   <span class="{name(.)}">
1035     <xsl:apply-templates mode="bibliomixed.mode"/>
1036   </span>
1037 </xsl:template>
1038
1039 <xsl:template match="subtitle" mode="bibliomixed.mode">
1040   <span class="{name(.)}">
1041     <xsl:apply-templates mode="bibliomixed.mode"/>
1042   </span>
1043 </xsl:template>
1044
1045 <xsl:template match="surname" mode="bibliomixed.mode">
1046   <span class="{name(.)}">
1047     <xsl:apply-templates mode="bibliomixed.mode"/>
1048   </span>
1049 </xsl:template>
1050
1051 <xsl:template match="title" mode="bibliomixed.mode">
1052   <span class="{name(.)}">
1053     <xsl:apply-templates mode="bibliomixed.mode"/>
1054   </span>
1055 </xsl:template>
1056
1057 <xsl:template match="titleabbrev" mode="bibliomixed.mode">
1058   <span class="{name(.)}">
1059     <xsl:apply-templates mode="bibliomixed.mode"/>
1060   </span>
1061 </xsl:template>
1062
1063 <xsl:template match="volumenum" mode="bibliomixed.mode">
1064   <span class="{name(.)}">
1065     <xsl:apply-templates mode="bibliomixed.mode"/>
1066   </span>
1067 </xsl:template>
1068
1069 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource" mode="bibliomixed.mode">
1070   <span class="{name(.)}">
1071     <xsl:apply-templates mode="bibliomixed.mode"/>
1072   </span>
1073 </xsl:template>
1074
1075 <!-- ==================================================================== -->
1076
1077 </xsl:stylesheet>