2 <xsl:stylesheet xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
5 <!-- ********************************************************************
6 $Id: biblio.xsl,v 1.1 2007/03/10 05:15:13 scott Exp $
7 ********************************************************************
9 This file is part of the XSL DocBook Stylesheet distribution.
10 See ../README or http://nwalsh.com/docbook/xsl/ for copyright
11 and other information.
13 ******************************************************************** -->
15 <!-- ==================================================================== -->
17 <xsl:template match=
"bibliography">
18 <xsl:call-template name=
"id.warning"/>
21 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
22 <xsl:if test=
"$generate.id.attributes != 0">
23 <xsl:attribute name=
"id">
24 <xsl:call-template name=
"object.id"/>
28 <xsl:call-template name=
"bibliography.titlepage"/>
30 <xsl:apply-templates/>
32 <xsl:if test=
"not(parent::article)">
33 <xsl:call-template name=
"process.footnotes"/>
38 <xsl:template match=
"bibliography/bibliographyinfo"></xsl:template>
39 <xsl:template match=
"bibliography/info"></xsl:template>
40 <xsl:template match=
"bibliography/title"></xsl:template>
41 <xsl:template match=
"bibliography/subtitle"></xsl:template>
42 <xsl:template match=
"bibliography/titleabbrev"></xsl:template>
44 <!-- ==================================================================== -->
46 <xsl:template match=
"bibliodiv">
47 <xsl:call-template name=
"id.warning"/>
50 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
51 <xsl:apply-templates/>
55 <xsl:template match=
"bibliodiv/title">
57 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
58 <xsl:call-template name=
"anchor">
59 <xsl:with-param name=
"node" select=
".."/>
61 <xsl:apply-templates/>
65 <!-- ==================================================================== -->
67 <xsl:template match=
"bibliolist">
69 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
70 <xsl:call-template name=
"anchor"/>
71 <xsl:if test=
"blockinfo/title|info/title|title">
72 <xsl:call-template name=
"formal.object.heading"/>
74 <xsl:apply-templates select=
"*[not(self::blockinfo)
77 and not(self::titleabbrev)
78 and not(self::biblioentry)
79 and not(self::bibliomixed)]"/>
80 <xsl:apply-templates select=
"biblioentry|bibliomixed"/>
84 <!-- ==================================================================== -->
86 <xsl:template match=
"biblioentry">
87 <xsl:param name=
"label">
88 <xsl:call-template name=
"biblioentry.label"/>
91 <xsl:variable name=
"id">
92 <xsl:call-template name=
"object.id"/>
96 <xsl:when test=
"string(.) = ''">
97 <xsl:variable name=
"bib" select=
"document($bibliography.collection,.)"/>
98 <xsl:variable name=
"entry" select=
"$bib/bibliography/
99 *[@id=$id or @xml:id=$id][1]"/>
101 <xsl:when test=
"$entry">
103 <xsl:when test=
"$bibliography.numbered != 0">
104 <xsl:apply-templates select=
"$entry">
105 <xsl:with-param name=
"label" select=
"$label"/>
106 </xsl:apply-templates>
109 <xsl:apply-templates select=
"$entry"/>
115 <xsl:text>No bibliography entry:
</xsl:text>
116 <xsl:value-of select=
"$id"/>
117 <xsl:text> found in
</xsl:text>
118 <xsl:value-of select=
"$bibliography.collection"/>
121 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
122 <xsl:call-template name=
"anchor"/>
124 <xsl:copy-of select=
"$label"/>
125 <xsl:text>Error: no bibliography entry:
</xsl:text>
126 <xsl:value-of select=
"$id"/>
127 <xsl:text> found in
</xsl:text>
128 <xsl:value-of select=
"$bibliography.collection"/>
136 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
137 <xsl:call-template name=
"anchor">
138 <xsl:with-param name=
"conditional" select=
"0"/>
141 <xsl:copy-of select=
"$label"/>
143 <xsl:when test=
"$bibliography.style = 'iso690'">
144 <xsl:call-template name=
"iso690.makecitation"/>
147 <xsl:apply-templates mode=
"bibliography.mode"/>
156 <xsl:template match=
"bibliomixed">
157 <xsl:param name=
"label">
158 <xsl:call-template name=
"biblioentry.label"/>
161 <xsl:variable name=
"id">
162 <xsl:call-template name=
"object.id"/>
166 <xsl:when test=
"string(.) = ''">
167 <xsl:variable name=
"bib" select=
"document($bibliography.collection,.)"/>
168 <xsl:variable name=
"entry" select=
"$bib/bibliography/
169 *[@id=$id or @xml:id=$id][1]"/>
171 <xsl:when test=
"$entry">
173 <xsl:when test=
"$bibliography.numbered != 0">
174 <xsl:apply-templates select=
"$entry">
175 <xsl:with-param name=
"label" select=
"$label"/>
176 </xsl:apply-templates>
179 <xsl:apply-templates select=
"$entry"/>
185 <xsl:text>No bibliography entry:
</xsl:text>
186 <xsl:value-of select=
"$id"/>
187 <xsl:text> found in
</xsl:text>
188 <xsl:value-of select=
"$bibliography.collection"/>
191 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
192 <xsl:call-template name=
"anchor"/>
194 <xsl:copy-of select=
"$label"/>
195 <xsl:text>Error: no bibliography entry:
</xsl:text>
196 <xsl:value-of select=
"$id"/>
197 <xsl:text> found in
</xsl:text>
198 <xsl:value-of select=
"$bibliography.collection"/>
206 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
207 <xsl:call-template name=
"anchor">
208 <xsl:with-param name=
"conditional" select=
"0"/>
211 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
212 <xsl:copy-of select=
"$label"/>
213 <xsl:apply-templates mode=
"bibliomixed.mode"/>
220 <xsl:template name=
"biblioentry.label">
221 <xsl:param name=
"node" select=
"."/>
224 <xsl:when test=
"$bibliography.numbered != 0">
225 <xsl:text>[
</xsl:text>
226 <xsl:number from=
"bibliography" count=
"biblioentry|bibliomixed"
227 level=
"any" format=
"1"/>
228 <xsl:text>]
</xsl:text>
230 <xsl:when test=
"local-name($node/child::*[1]) = 'abbrev'">
231 <xsl:text>[
</xsl:text>
232 <xsl:apply-templates select=
"$node/abbrev[1]"/>
233 <xsl:text>]
</xsl:text>
235 <xsl:when test=
"$node/@xreflabel">
236 <xsl:text>[
</xsl:text>
237 <xsl:value-of select=
"$node/@xreflabel"/>
238 <xsl:text>]
</xsl:text>
240 <xsl:when test=
"$node/@id">
241 <xsl:text>[
</xsl:text>
242 <xsl:value-of select=
"$node/@id"/>
243 <xsl:text>]
</xsl:text>
245 <xsl:when test=
"$node/@xml:id">
246 <xsl:text>[
</xsl:text>
247 <xsl:value-of select=
"$node/@xml:id"/>
248 <xsl:text>]
</xsl:text>
250 <xsl:otherwise><!-- nop --></xsl:otherwise>
254 <!-- ==================================================================== -->
256 <xsl:template match=
"*" mode=
"bibliography.mode">
257 <xsl:apply-templates select=
"."/><!-- try the default mode -->
260 <xsl:template match=
"abbrev" mode=
"bibliography.mode">
261 <xsl:if test=
"preceding-sibling::*">
262 <xsl:apply-templates mode=
"bibliography.mode"/>
266 <xsl:template match=
"abstract" mode=
"bibliography.mode">
270 <xsl:template match=
"address" mode=
"bibliography.mode">
272 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
273 <xsl:apply-templates mode=
"bibliography.mode"/>
274 <xsl:copy-of select=
"$biblioentry.item.separator"/>
278 <xsl:template match=
"affiliation" mode=
"bibliography.mode">
280 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
281 <xsl:apply-templates mode=
"bibliography.mode"/>
282 <xsl:copy-of select=
"$biblioentry.item.separator"/>
286 <xsl:template match=
"shortaffil" mode=
"bibliography.mode">
288 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
289 <xsl:apply-templates mode=
"bibliography.mode"/>
290 <xsl:copy-of select=
"$biblioentry.item.separator"/>
294 <xsl:template match=
"jobtitle" mode=
"bibliography.mode">
296 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
297 <xsl:apply-templates mode=
"bibliography.mode"/>
298 <xsl:copy-of select=
"$biblioentry.item.separator"/>
302 <xsl:template match=
"artheader|articleinfo|info" mode=
"bibliography.mode">
304 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
305 <xsl:apply-templates mode=
"bibliography.mode"/>
306 <xsl:copy-of select=
"$biblioentry.item.separator"/>
310 <xsl:template match=
"artpagenums" mode=
"bibliography.mode">
312 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
313 <xsl:apply-templates mode=
"bibliography.mode"/>
314 <xsl:copy-of select=
"$biblioentry.item.separator"/>
318 <xsl:template match=
"author" mode=
"bibliography.mode">
320 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
321 <xsl:call-template name=
"person.name"/>
322 <xsl:copy-of select=
"$biblioentry.item.separator"/>
326 <xsl:template match=
"authorblurb|personblurb" mode=
"bibliography.mode">
330 <xsl:template match=
"authorgroup" mode=
"bibliography.mode">
332 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
333 <xsl:call-template name=
"person.name.list"/>
334 <xsl:copy-of select=
"$biblioentry.item.separator"/>
338 <xsl:template match=
"authorinitials" mode=
"bibliography.mode">
340 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
341 <xsl:apply-templates mode=
"bibliography.mode"/>
342 <xsl:copy-of select=
"$biblioentry.item.separator"/>
346 <xsl:template match=
"bibliomisc" mode=
"bibliography.mode">
348 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
349 <xsl:apply-templates mode=
"bibliography.mode"/>
350 <xsl:copy-of select=
"$biblioentry.item.separator"/>
354 <xsl:template match=
"bibliomset" mode=
"bibliography.mode">
356 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
357 <xsl:apply-templates mode=
"bibliography.mode"/>
358 <xsl:copy-of select=
"$biblioentry.item.separator"/>
362 <!-- ================================================== -->
364 <xsl:template match=
"biblioset" mode=
"bibliography.mode">
366 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
367 <xsl:apply-templates mode=
"bibliography.mode"/>
371 <xsl:template match=
"biblioset/title|biblioset/citetitle"
372 mode=
"bibliography.mode">
373 <xsl:variable name=
"relation" select=
"../@relation"/>
375 <xsl:when test=
"$relation='article' or @pubwork='article'">
376 <xsl:call-template name=
"gentext.startquote"/>
377 <xsl:apply-templates/>
378 <xsl:call-template name=
"gentext.endquote"/>
381 <i><xsl:apply-templates/></i>
384 <xsl:copy-of select=
"$biblioentry.item.separator"/>
387 <!-- ================================================== -->
389 <xsl:template match=
"bookbiblio" mode=
"bibliography.mode">
391 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
392 <xsl:apply-templates mode=
"bibliography.mode"/>
393 <xsl:copy-of select=
"$biblioentry.item.separator"/>
397 <xsl:template match=
"citetitle" mode=
"bibliography.mode">
399 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
401 <xsl:when test=
"@pubwork = 'article'">
402 <xsl:call-template name=
"gentext.startquote"/>
403 <xsl:call-template name=
"inline.charseq"/>
404 <xsl:call-template name=
"gentext.endquote"/>
407 <xsl:call-template name=
"inline.italicseq"/>
410 <xsl:copy-of select=
"$biblioentry.item.separator"/>
414 <xsl:template match=
"collab" mode=
"bibliography.mode">
416 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
417 <xsl:apply-templates mode=
"bibliography.mode"/>
418 <xsl:copy-of select=
"$biblioentry.item.separator"/>
422 <xsl:template match=
"collabname" mode=
"bibliography.mode">
424 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
425 <xsl:apply-templates mode=
"bibliography.mode"/>
426 <xsl:copy-of select=
"$biblioentry.item.separator"/>
430 <xsl:template match=
"confgroup" mode=
"bibliography.mode">
432 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
433 <xsl:apply-templates mode=
"bibliography.mode"/>
434 <xsl:copy-of select=
"$biblioentry.item.separator"/>
438 <xsl:template match=
"confdates" mode=
"bibliography.mode">
440 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
441 <xsl:apply-templates mode=
"bibliography.mode"/>
442 <xsl:copy-of select=
"$biblioentry.item.separator"/>
446 <xsl:template match=
"conftitle" mode=
"bibliography.mode">
448 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
449 <xsl:apply-templates mode=
"bibliography.mode"/>
450 <xsl:copy-of select=
"$biblioentry.item.separator"/>
454 <xsl:template match=
"confnum" mode=
"bibliography.mode">
456 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
457 <xsl:apply-templates mode=
"bibliography.mode"/>
458 <xsl:copy-of select=
"$biblioentry.item.separator"/>
462 <xsl:template match=
"confsponsor" mode=
"bibliography.mode">
464 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
465 <xsl:apply-templates mode=
"bibliography.mode"/>
466 <xsl:copy-of select=
"$biblioentry.item.separator"/>
470 <xsl:template match=
"contractnum" mode=
"bibliography.mode">
472 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
473 <xsl:apply-templates mode=
"bibliography.mode"/>
474 <xsl:copy-of select=
"$biblioentry.item.separator"/>
478 <xsl:template match=
"contractsponsor" mode=
"bibliography.mode">
480 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
481 <xsl:apply-templates mode=
"bibliography.mode"/>
482 <xsl:copy-of select=
"$biblioentry.item.separator"/>
486 <xsl:template match=
"contrib" mode=
"bibliography.mode">
488 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
489 <xsl:apply-templates mode=
"bibliography.mode"/>
490 <xsl:copy-of select=
"$biblioentry.item.separator"/>
494 <!-- ================================================== -->
496 <xsl:template match=
"copyright" mode=
"bibliography.mode">
498 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
499 <xsl:call-template name=
"gentext">
500 <xsl:with-param name=
"key" select=
"'Copyright'"/>
502 <xsl:call-template name=
"gentext.space"/>
503 <xsl:call-template name=
"dingbat">
504 <xsl:with-param name=
"dingbat">copyright
</xsl:with-param>
506 <xsl:call-template name=
"gentext.space"/>
507 <xsl:apply-templates select=
"year" mode=
"bibliography.mode"/>
508 <xsl:if test=
"holder">
509 <xsl:call-template name=
"gentext.space"/>
510 <xsl:apply-templates select=
"holder" mode=
"bibliography.mode"/>
512 <xsl:copy-of select=
"$biblioentry.item.separator"/>
516 <xsl:template match=
"year" mode=
"bibliography.mode">
517 <xsl:apply-templates/><xsl:text>,
</xsl:text>
520 <xsl:template match=
"year[position()=last()]" mode=
"bibliography.mode">
521 <xsl:apply-templates/>
524 <xsl:template match=
"holder" mode=
"bibliography.mode">
525 <xsl:apply-templates/>
528 <!-- ================================================== -->
530 <xsl:template match=
"corpauthor" mode=
"bibliography.mode">
532 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
533 <xsl:apply-templates mode=
"bibliography.mode"/>
534 <xsl:copy-of select=
"$biblioentry.item.separator"/>
538 <xsl:template match=
"corpcredit" mode=
"bibliography.mode">
540 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
541 <xsl:apply-templates mode=
"bibliography.mode"/>
542 <xsl:copy-of select=
"$biblioentry.item.separator"/>
546 <xsl:template match=
"corpname" mode=
"bibliography.mode">
548 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
549 <xsl:apply-templates mode=
"bibliography.mode"/>
550 <xsl:copy-of select=
"$biblioentry.item.separator"/>
554 <xsl:template match=
"date" mode=
"bibliography.mode">
556 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
557 <xsl:apply-templates mode=
"bibliography.mode"/>
558 <xsl:copy-of select=
"$biblioentry.item.separator"/>
562 <xsl:template match=
"edition" mode=
"bibliography.mode">
564 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
565 <xsl:apply-templates mode=
"bibliography.mode"/>
566 <xsl:copy-of select=
"$biblioentry.item.separator"/>
570 <xsl:template match=
"editor" mode=
"bibliography.mode">
572 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
573 <xsl:call-template name=
"person.name"/>
574 <xsl:copy-of select=
"$biblioentry.item.separator"/>
578 <xsl:template match=
"firstname" mode=
"bibliography.mode">
580 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
581 <xsl:apply-templates mode=
"bibliography.mode"/>
582 <xsl:copy-of select=
"$biblioentry.item.separator"/>
586 <xsl:template match=
"honorific" mode=
"bibliography.mode">
588 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
589 <xsl:apply-templates mode=
"bibliography.mode"/>
590 <xsl:copy-of select=
"$biblioentry.item.separator"/>
594 <xsl:template match=
"indexterm" mode=
"bibliography.mode">
596 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
597 <xsl:apply-templates mode=
"bibliography.mode"/>
598 <xsl:copy-of select=
"$biblioentry.item.separator"/>
602 <xsl:template match=
"invpartnumber" mode=
"bibliography.mode">
604 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
605 <xsl:apply-templates mode=
"bibliography.mode"/>
606 <xsl:copy-of select=
"$biblioentry.item.separator"/>
610 <xsl:template match=
"isbn" mode=
"bibliography.mode">
612 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
613 <xsl:apply-templates mode=
"bibliography.mode"/>
614 <xsl:copy-of select=
"$biblioentry.item.separator"/>
618 <xsl:template match=
"issn" mode=
"bibliography.mode">
620 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
621 <xsl:apply-templates mode=
"bibliography.mode"/>
622 <xsl:copy-of select=
"$biblioentry.item.separator"/>
626 <xsl:template match=
"issuenum" mode=
"bibliography.mode">
628 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
629 <xsl:apply-templates mode=
"bibliography.mode"/>
630 <xsl:copy-of select=
"$biblioentry.item.separator"/>
634 <xsl:template match=
"lineage" mode=
"bibliography.mode">
636 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
637 <xsl:apply-templates mode=
"bibliography.mode"/>
638 <xsl:copy-of select=
"$biblioentry.item.separator"/>
642 <xsl:template match=
"orgname" mode=
"bibliography.mode">
644 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
645 <xsl:apply-templates mode=
"bibliography.mode"/>
646 <xsl:copy-of select=
"$biblioentry.item.separator"/>
650 <xsl:template match=
"orgdiv" mode=
"bibliography.mode">
652 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
653 <xsl:apply-templates mode=
"bibliography.mode"/>
654 <xsl:copy-of select=
"$biblioentry.item.separator"/>
658 <xsl:template match=
"othercredit" mode=
"bibliography.mode">
660 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
661 <xsl:apply-templates mode=
"bibliography.mode"/>
662 <xsl:copy-of select=
"$biblioentry.item.separator"/>
666 <xsl:template match=
"othername" mode=
"bibliography.mode">
668 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
669 <xsl:apply-templates mode=
"bibliography.mode"/>
670 <xsl:copy-of select=
"$biblioentry.item.separator"/>
674 <xsl:template match=
"pagenums" mode=
"bibliography.mode">
676 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
677 <xsl:apply-templates mode=
"bibliography.mode"/>
678 <xsl:copy-of select=
"$biblioentry.item.separator"/>
682 <xsl:template match=
"printhistory" mode=
"bibliography.mode">
686 <xsl:template match=
"productname" mode=
"bibliography.mode">
688 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
689 <xsl:apply-templates mode=
"bibliography.mode"/>
690 <xsl:copy-of select=
"$biblioentry.item.separator"/>
694 <xsl:template match=
"productnumber" mode=
"bibliography.mode">
696 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
697 <xsl:apply-templates mode=
"bibliography.mode"/>
698 <xsl:copy-of select=
"$biblioentry.item.separator"/>
702 <xsl:template match=
"pubdate" mode=
"bibliography.mode">
704 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
705 <xsl:apply-templates mode=
"bibliography.mode"/>
706 <xsl:copy-of select=
"$biblioentry.item.separator"/>
710 <xsl:template match=
"publisher" mode=
"bibliography.mode">
712 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
713 <xsl:apply-templates mode=
"bibliography.mode"/>
717 <xsl:template match=
"publishername" mode=
"bibliography.mode">
719 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
720 <xsl:apply-templates mode=
"bibliography.mode"/>
721 <xsl:copy-of select=
"$biblioentry.item.separator"/>
725 <xsl:template match=
"pubsnumber" mode=
"bibliography.mode">
727 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
728 <xsl:apply-templates mode=
"bibliography.mode"/>
729 <xsl:copy-of select=
"$biblioentry.item.separator"/>
733 <xsl:template match=
"releaseinfo" mode=
"bibliography.mode">
735 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
736 <xsl:apply-templates mode=
"bibliography.mode"/>
737 <xsl:copy-of select=
"$biblioentry.item.separator"/>
741 <xsl:template match=
"revhistory" mode=
"bibliography.mode">
742 <!-- suppressed; how could this be represented? -->
745 <xsl:template match=
"seriesinfo" mode=
"bibliography.mode">
747 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
748 <xsl:apply-templates mode=
"bibliography.mode"/>
752 <xsl:template match=
"seriesvolnums" mode=
"bibliography.mode">
754 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
755 <xsl:apply-templates mode=
"bibliography.mode"/>
756 <xsl:copy-of select=
"$biblioentry.item.separator"/>
760 <xsl:template match=
"subtitle" mode=
"bibliography.mode">
762 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
763 <xsl:apply-templates mode=
"bibliography.mode"/>
764 <xsl:copy-of select=
"$biblioentry.item.separator"/>
768 <xsl:template match=
"surname" mode=
"bibliography.mode">
770 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
771 <xsl:apply-templates mode=
"bibliography.mode"/>
772 <xsl:copy-of select=
"$biblioentry.item.separator"/>
776 <xsl:template match=
"title" mode=
"bibliography.mode">
778 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
779 <i><xsl:apply-templates mode=
"bibliography.mode"/></i>
780 <xsl:copy-of select=
"$biblioentry.item.separator"/>
784 <xsl:template match=
"titleabbrev" mode=
"bibliography.mode">
786 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
787 <xsl:apply-templates mode=
"bibliography.mode"/>
788 <xsl:copy-of select=
"$biblioentry.item.separator"/>
792 <xsl:template match=
"volumenum" mode=
"bibliography.mode">
794 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
795 <xsl:apply-templates mode=
"bibliography.mode"/>
796 <xsl:copy-of select=
"$biblioentry.item.separator"/>
800 <xsl:template match=
"bibliocoverage|biblioid|bibliorelation|bibliosource"
801 mode=
"bibliography.mode">
803 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
804 <xsl:apply-templates mode=
"bibliography.mode"/>
805 <xsl:copy-of select=
"$biblioentry.item.separator"/>
809 <!-- ==================================================================== -->
811 <xsl:template match=
"*" mode=
"bibliomixed.mode">
812 <xsl:apply-templates select=
"."/><!-- try the default mode -->
815 <xsl:template match=
"abbrev" mode=
"bibliomixed.mode">
816 <xsl:if test=
"preceding-sibling::*">
817 <xsl:apply-templates mode=
"bibliomixed.mode"/>
821 <xsl:template match=
"abstract" mode=
"bibliomixed.mode">
823 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
824 <xsl:apply-templates mode=
"bibliomixed.mode"/>
828 <xsl:template match=
"address" mode=
"bibliomixed.mode">
830 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
831 <xsl:apply-templates mode=
"bibliomixed.mode"/>
835 <xsl:template match=
"affiliation" mode=
"bibliomixed.mode">
837 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
838 <xsl:apply-templates mode=
"bibliomixed.mode"/>
842 <xsl:template match=
"shortaffil" mode=
"bibliomixed.mode">
844 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
845 <xsl:apply-templates mode=
"bibliomixed.mode"/>
849 <xsl:template match=
"jobtitle" mode=
"bibliomixed.mode">
851 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
852 <xsl:apply-templates mode=
"bibliomixed.mode"/>
856 <xsl:template match=
"artpagenums" mode=
"bibliomixed.mode">
858 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
859 <xsl:apply-templates mode=
"bibliomixed.mode"/>
863 <xsl:template match=
"author" mode=
"bibliomixed.mode">
865 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
866 <xsl:apply-templates mode=
"bibliomixed.mode"/>
870 <xsl:template match=
"authorblurb|personblurb" mode=
"bibliomixed.mode">
872 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
873 <xsl:apply-templates mode=
"bibliomixed.mode"/>
877 <xsl:template match=
"authorgroup" mode=
"bibliomixed.mode">
879 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
880 <xsl:apply-templates mode=
"bibliomixed.mode"/>
884 <xsl:template match=
"authorinitials" mode=
"bibliomixed.mode">
886 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
887 <xsl:apply-templates mode=
"bibliomixed.mode"/>
891 <xsl:template match=
"bibliomisc" mode=
"bibliomixed.mode">
893 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
894 <xsl:apply-templates mode=
"bibliomixed.mode"/>
898 <!-- ================================================== -->
900 <xsl:template match=
"bibliomset" mode=
"bibliomixed.mode">
902 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
903 <xsl:apply-templates mode=
"bibliomixed.mode"/>
907 <xsl:template match=
"bibliomset/title|bibliomset/citetitle"
908 mode=
"bibliomixed.mode">
909 <xsl:variable name=
"relation" select=
"../@relation"/>
911 <xsl:when test=
"$relation='article' or @pubwork='article'">
912 <xsl:call-template name=
"gentext.startquote"/>
913 <xsl:apply-templates/>
914 <xsl:call-template name=
"gentext.endquote"/>
917 <i><xsl:apply-templates/></i>
922 <!-- ================================================== -->
924 <xsl:template match=
"biblioset" mode=
"bibliomixed.mode">
926 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
927 <xsl:apply-templates mode=
"bibliomixed.mode"/>
931 <xsl:template match=
"citetitle" mode=
"bibliomixed.mode">
933 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
935 <xsl:when test=
"@pubwork = 'article'">
936 <xsl:call-template name=
"gentext.startquote"/>
937 <xsl:call-template name=
"inline.charseq"/>
938 <xsl:call-template name=
"gentext.endquote"/>
941 <xsl:call-template name=
"inline.italicseq"/>
948 <xsl:template match=
"collab" mode=
"bibliomixed.mode">
950 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
951 <xsl:apply-templates mode=
"bibliomixed.mode"/>
955 <xsl:template match=
"confgroup" mode=
"bibliomixed.mode">
957 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
958 <xsl:apply-templates mode=
"bibliomixed.mode"/>
962 <xsl:template match=
"contractnum" mode=
"bibliomixed.mode">
964 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
965 <xsl:apply-templates mode=
"bibliomixed.mode"/>
969 <xsl:template match=
"contractsponsor" mode=
"bibliomixed.mode">
971 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
972 <xsl:apply-templates mode=
"bibliomixed.mode"/>
976 <xsl:template match=
"contrib" mode=
"bibliomixed.mode">
978 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
979 <xsl:apply-templates mode=
"bibliomixed.mode"/>
983 <xsl:template match=
"copyright" mode=
"bibliomixed.mode">
985 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
986 <xsl:apply-templates mode=
"bibliomixed.mode"/>
990 <xsl:template match=
"corpauthor" mode=
"bibliomixed.mode">
992 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
993 <xsl:apply-templates mode=
"bibliomixed.mode"/>
997 <xsl:template match=
"corpcredit" mode=
"bibliomixed.mode">
999 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1000 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1004 <xsl:template match=
"corpname" mode=
"bibliomixed.mode">
1006 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1007 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1011 <xsl:template match=
"date" mode=
"bibliomixed.mode">
1013 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1014 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1018 <xsl:template match=
"edition" mode=
"bibliomixed.mode">
1020 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1021 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1025 <xsl:template match=
"editor" mode=
"bibliomixed.mode">
1027 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1028 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1032 <xsl:template match=
"firstname" mode=
"bibliomixed.mode">
1034 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1035 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1039 <xsl:template match=
"honorific" mode=
"bibliomixed.mode">
1041 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1042 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1046 <xsl:template match=
"indexterm" mode=
"bibliomixed.mode">
1048 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1049 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1053 <xsl:template match=
"invpartnumber" mode=
"bibliomixed.mode">
1055 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1056 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1060 <xsl:template match=
"isbn" mode=
"bibliomixed.mode">
1062 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1063 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1067 <xsl:template match=
"issn" mode=
"bibliomixed.mode">
1069 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1070 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1074 <xsl:template match=
"issuenum" mode=
"bibliomixed.mode">
1076 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1077 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1081 <xsl:template match=
"lineage" mode=
"bibliomixed.mode">
1083 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1084 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1088 <xsl:template match=
"orgname" mode=
"bibliomixed.mode">
1090 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1091 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1095 <xsl:template match=
"othercredit" mode=
"bibliomixed.mode">
1097 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1098 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1102 <xsl:template match=
"othername" mode=
"bibliomixed.mode">
1104 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1105 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1109 <xsl:template match=
"pagenums" mode=
"bibliomixed.mode">
1111 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1112 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1116 <xsl:template match=
"printhistory" mode=
"bibliomixed.mode">
1118 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1119 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1123 <xsl:template match=
"productname" mode=
"bibliomixed.mode">
1125 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1126 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1130 <xsl:template match=
"productnumber" mode=
"bibliomixed.mode">
1132 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1133 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1137 <xsl:template match=
"pubdate" mode=
"bibliomixed.mode">
1139 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1140 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1144 <xsl:template match=
"publisher" mode=
"bibliomixed.mode">
1146 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1147 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1151 <xsl:template match=
"publishername" mode=
"bibliomixed.mode">
1153 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1154 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1158 <xsl:template match=
"pubsnumber" mode=
"bibliomixed.mode">
1160 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1161 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1165 <xsl:template match=
"releaseinfo" mode=
"bibliomixed.mode">
1167 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1168 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1172 <xsl:template match=
"revhistory" mode=
"bibliomixed.mode">
1173 <!-- suppressed; how could this be represented? -->
1176 <xsl:template match=
"seriesvolnums" mode=
"bibliomixed.mode">
1178 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1179 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1183 <xsl:template match=
"subtitle" mode=
"bibliomixed.mode">
1185 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1186 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1190 <xsl:template match=
"surname" mode=
"bibliomixed.mode">
1192 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1193 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1197 <xsl:template match=
"title" mode=
"bibliomixed.mode">
1199 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1200 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1204 <xsl:template match=
"titleabbrev" mode=
"bibliomixed.mode">
1206 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1207 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1211 <xsl:template match=
"volumenum" mode=
"bibliomixed.mode">
1213 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1214 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1218 <xsl:template match=
"bibliocoverage|biblioid|bibliorelation|bibliosource"
1219 mode=
"bibliomixed.mode">
1221 <xsl:apply-templates select=
"." mode=
"class.attribute"/>
1222 <xsl:apply-templates mode=
"bibliomixed.mode"/>
1226 <!-- ==================================================================== -->