cvsimport
[fvwm.git] / doc / docbook-xsl / html / biblio.xsl
blobc3a56f66b290d8b12f6971a149a6fa4392770c43
1 <?xml version='1.0'?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 version='1.0'>
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"/>
20 <div>
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"/>
25 </xsl:attribute>
26 </xsl:if>
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"/>
34 </xsl:if>
35 </div>
36 </xsl:template>
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"/>
49 <div>
50 <xsl:apply-templates select="." mode="class.attribute"/>
51 <xsl:apply-templates/>
52 </div>
53 </xsl:template>
55 <xsl:template match="bibliodiv/title">
56 <h3>
57 <xsl:apply-templates select="." mode="class.attribute"/>
58 <xsl:call-template name="anchor">
59 <xsl:with-param name="node" select=".."/>
60 </xsl:call-template>
61 <xsl:apply-templates/>
62 </h3>
63 </xsl:template>
65 <!-- ==================================================================== -->
67 <xsl:template match="bibliolist">
68 <div>
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"/>
73 </xsl:if>
74 <xsl:apply-templates select="*[not(self::blockinfo)
75 and not(self::info)
76 and not(self::title)
77 and not(self::titleabbrev)
78 and not(self::biblioentry)
79 and not(self::bibliomixed)]"/>
80 <xsl:apply-templates select="biblioentry|bibliomixed"/>
81 </div>
82 </xsl:template>
84 <!-- ==================================================================== -->
86 <xsl:template match="biblioentry">
87 <xsl:param name="label">
88 <xsl:call-template name="biblioentry.label"/>
89 </xsl:param>
91 <xsl:variable name="id">
92 <xsl:call-template name="object.id"/>
93 </xsl:variable>
95 <xsl:choose>
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]"/>
100 <xsl:choose>
101 <xsl:when test="$entry">
102 <xsl:choose>
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>
107 </xsl:when>
108 <xsl:otherwise>
109 <xsl:apply-templates select="$entry"/>
110 </xsl:otherwise>
111 </xsl:choose>
112 </xsl:when>
113 <xsl:otherwise>
114 <xsl:message>
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"/>
119 </xsl:message>
120 <div>
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"/>
129 </p>
130 </div>
131 </xsl:otherwise>
132 </xsl:choose>
133 </xsl:when>
134 <xsl:otherwise>
135 <div>
136 <xsl:apply-templates select="." mode="class.attribute"/>
137 <xsl:call-template name="anchor">
138 <xsl:with-param name="conditional" select="0"/>
139 </xsl:call-template>
141 <xsl:copy-of select="$label"/>
142 <xsl:choose>
143 <xsl:when test="$bibliography.style = 'iso690'">
144 <xsl:call-template name="iso690.makecitation"/>
145 </xsl:when>
146 <xsl:otherwise>
147 <xsl:apply-templates mode="bibliography.mode"/>
148 </xsl:otherwise>
149 </xsl:choose>
150 </p>
151 </div>
152 </xsl:otherwise>
153 </xsl:choose>
154 </xsl:template>
156 <xsl:template match="bibliomixed">
157 <xsl:param name="label">
158 <xsl:call-template name="biblioentry.label"/>
159 </xsl:param>
161 <xsl:variable name="id">
162 <xsl:call-template name="object.id"/>
163 </xsl:variable>
165 <xsl:choose>
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]"/>
170 <xsl:choose>
171 <xsl:when test="$entry">
172 <xsl:choose>
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>
177 </xsl:when>
178 <xsl:otherwise>
179 <xsl:apply-templates select="$entry"/>
180 </xsl:otherwise>
181 </xsl:choose>
182 </xsl:when>
183 <xsl:otherwise>
184 <xsl:message>
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"/>
189 </xsl:message>
190 <div>
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"/>
199 </p>
200 </div>
201 </xsl:otherwise>
202 </xsl:choose>
203 </xsl:when>
204 <xsl:otherwise>
205 <div>
206 <xsl:apply-templates select="." mode="class.attribute"/>
207 <xsl:call-template name="anchor">
208 <xsl:with-param name="conditional" select="0"/>
209 </xsl:call-template>
211 <xsl:apply-templates select="." mode="class.attribute"/>
212 <xsl:copy-of select="$label"/>
213 <xsl:apply-templates mode="bibliomixed.mode"/>
214 </p>
215 </div>
216 </xsl:otherwise>
217 </xsl:choose>
218 </xsl:template>
220 <xsl:template name="biblioentry.label">
221 <xsl:param name="node" select="."/>
223 <xsl:choose>
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>
229 </xsl:when>
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>
234 </xsl:when>
235 <xsl:when test="$node/@xreflabel">
236 <xsl:text>[</xsl:text>
237 <xsl:value-of select="$node/@xreflabel"/>
238 <xsl:text>] </xsl:text>
239 </xsl:when>
240 <xsl:when test="$node/@id">
241 <xsl:text>[</xsl:text>
242 <xsl:value-of select="$node/@id"/>
243 <xsl:text>] </xsl:text>
244 </xsl:when>
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>
249 </xsl:when>
250 <xsl:otherwise><!-- nop --></xsl:otherwise>
251 </xsl:choose>
252 </xsl:template>
254 <!-- ==================================================================== -->
256 <xsl:template match="*" mode="bibliography.mode">
257 <xsl:apply-templates select="."/><!-- try the default mode -->
258 </xsl:template>
260 <xsl:template match="abbrev" mode="bibliography.mode">
261 <xsl:if test="preceding-sibling::*">
262 <xsl:apply-templates mode="bibliography.mode"/>
263 </xsl:if>
264 </xsl:template>
266 <xsl:template match="abstract" mode="bibliography.mode">
267 <!-- suppressed -->
268 </xsl:template>
270 <xsl:template match="address" mode="bibliography.mode">
271 <span>
272 <xsl:apply-templates select="." mode="class.attribute"/>
273 <xsl:apply-templates mode="bibliography.mode"/>
274 <xsl:copy-of select="$biblioentry.item.separator"/>
275 </span>
276 </xsl:template>
278 <xsl:template match="affiliation" mode="bibliography.mode">
279 <span>
280 <xsl:apply-templates select="." mode="class.attribute"/>
281 <xsl:apply-templates mode="bibliography.mode"/>
282 <xsl:copy-of select="$biblioentry.item.separator"/>
283 </span>
284 </xsl:template>
286 <xsl:template match="shortaffil" mode="bibliography.mode">
287 <span>
288 <xsl:apply-templates select="." mode="class.attribute"/>
289 <xsl:apply-templates mode="bibliography.mode"/>
290 <xsl:copy-of select="$biblioentry.item.separator"/>
291 </span>
292 </xsl:template>
294 <xsl:template match="jobtitle" mode="bibliography.mode">
295 <span>
296 <xsl:apply-templates select="." mode="class.attribute"/>
297 <xsl:apply-templates mode="bibliography.mode"/>
298 <xsl:copy-of select="$biblioentry.item.separator"/>
299 </span>
300 </xsl:template>
302 <xsl:template match="artheader|articleinfo|info" mode="bibliography.mode">
303 <span>
304 <xsl:apply-templates select="." mode="class.attribute"/>
305 <xsl:apply-templates mode="bibliography.mode"/>
306 <xsl:copy-of select="$biblioentry.item.separator"/>
307 </span>
308 </xsl:template>
310 <xsl:template match="artpagenums" mode="bibliography.mode">
311 <span>
312 <xsl:apply-templates select="." mode="class.attribute"/>
313 <xsl:apply-templates mode="bibliography.mode"/>
314 <xsl:copy-of select="$biblioentry.item.separator"/>
315 </span>
316 </xsl:template>
318 <xsl:template match="author" mode="bibliography.mode">
319 <span>
320 <xsl:apply-templates select="." mode="class.attribute"/>
321 <xsl:call-template name="person.name"/>
322 <xsl:copy-of select="$biblioentry.item.separator"/>
323 </span>
324 </xsl:template>
326 <xsl:template match="authorblurb|personblurb" mode="bibliography.mode">
327 <!-- suppressed -->
328 </xsl:template>
330 <xsl:template match="authorgroup" mode="bibliography.mode">
331 <span>
332 <xsl:apply-templates select="." mode="class.attribute"/>
333 <xsl:call-template name="person.name.list"/>
334 <xsl:copy-of select="$biblioentry.item.separator"/>
335 </span>
336 </xsl:template>
338 <xsl:template match="authorinitials" mode="bibliography.mode">
339 <span>
340 <xsl:apply-templates select="." mode="class.attribute"/>
341 <xsl:apply-templates mode="bibliography.mode"/>
342 <xsl:copy-of select="$biblioentry.item.separator"/>
343 </span>
344 </xsl:template>
346 <xsl:template match="bibliomisc" mode="bibliography.mode">
347 <span>
348 <xsl:apply-templates select="." mode="class.attribute"/>
349 <xsl:apply-templates mode="bibliography.mode"/>
350 <xsl:copy-of select="$biblioentry.item.separator"/>
351 </span>
352 </xsl:template>
354 <xsl:template match="bibliomset" mode="bibliography.mode">
355 <span>
356 <xsl:apply-templates select="." mode="class.attribute"/>
357 <xsl:apply-templates mode="bibliography.mode"/>
358 <xsl:copy-of select="$biblioentry.item.separator"/>
359 </span>
360 </xsl:template>
362 <!-- ================================================== -->
364 <xsl:template match="biblioset" mode="bibliography.mode">
365 <span>
366 <xsl:apply-templates select="." mode="class.attribute"/>
367 <xsl:apply-templates mode="bibliography.mode"/>
368 </span>
369 </xsl:template>
371 <xsl:template match="biblioset/title|biblioset/citetitle"
372 mode="bibliography.mode">
373 <xsl:variable name="relation" select="../@relation"/>
374 <xsl:choose>
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"/>
379 </xsl:when>
380 <xsl:otherwise>
381 <i><xsl:apply-templates/></i>
382 </xsl:otherwise>
383 </xsl:choose>
384 <xsl:copy-of select="$biblioentry.item.separator"/>
385 </xsl:template>
387 <!-- ================================================== -->
389 <xsl:template match="bookbiblio" mode="bibliography.mode">
390 <span>
391 <xsl:apply-templates select="." mode="class.attribute"/>
392 <xsl:apply-templates mode="bibliography.mode"/>
393 <xsl:copy-of select="$biblioentry.item.separator"/>
394 </span>
395 </xsl:template>
397 <xsl:template match="citetitle" mode="bibliography.mode">
398 <span>
399 <xsl:apply-templates select="." mode="class.attribute"/>
400 <xsl:choose>
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"/>
405 </xsl:when>
406 <xsl:otherwise>
407 <xsl:call-template name="inline.italicseq"/>
408 </xsl:otherwise>
409 </xsl:choose>
410 <xsl:copy-of select="$biblioentry.item.separator"/>
411 </span>
412 </xsl:template>
414 <xsl:template match="collab" mode="bibliography.mode">
415 <span>
416 <xsl:apply-templates select="." mode="class.attribute"/>
417 <xsl:apply-templates mode="bibliography.mode"/>
418 <xsl:copy-of select="$biblioentry.item.separator"/>
419 </span>
420 </xsl:template>
422 <xsl:template match="collabname" mode="bibliography.mode">
423 <span>
424 <xsl:apply-templates select="." mode="class.attribute"/>
425 <xsl:apply-templates mode="bibliography.mode"/>
426 <xsl:copy-of select="$biblioentry.item.separator"/>
427 </span>
428 </xsl:template>
430 <xsl:template match="confgroup" mode="bibliography.mode">
431 <span>
432 <xsl:apply-templates select="." mode="class.attribute"/>
433 <xsl:apply-templates mode="bibliography.mode"/>
434 <xsl:copy-of select="$biblioentry.item.separator"/>
435 </span>
436 </xsl:template>
438 <xsl:template match="confdates" mode="bibliography.mode">
439 <span>
440 <xsl:apply-templates select="." mode="class.attribute"/>
441 <xsl:apply-templates mode="bibliography.mode"/>
442 <xsl:copy-of select="$biblioentry.item.separator"/>
443 </span>
444 </xsl:template>
446 <xsl:template match="conftitle" mode="bibliography.mode">
447 <span>
448 <xsl:apply-templates select="." mode="class.attribute"/>
449 <xsl:apply-templates mode="bibliography.mode"/>
450 <xsl:copy-of select="$biblioentry.item.separator"/>
451 </span>
452 </xsl:template>
454 <xsl:template match="confnum" mode="bibliography.mode">
455 <span>
456 <xsl:apply-templates select="." mode="class.attribute"/>
457 <xsl:apply-templates mode="bibliography.mode"/>
458 <xsl:copy-of select="$biblioentry.item.separator"/>
459 </span>
460 </xsl:template>
462 <xsl:template match="confsponsor" mode="bibliography.mode">
463 <span>
464 <xsl:apply-templates select="." mode="class.attribute"/>
465 <xsl:apply-templates mode="bibliography.mode"/>
466 <xsl:copy-of select="$biblioentry.item.separator"/>
467 </span>
468 </xsl:template>
470 <xsl:template match="contractnum" mode="bibliography.mode">
471 <span>
472 <xsl:apply-templates select="." mode="class.attribute"/>
473 <xsl:apply-templates mode="bibliography.mode"/>
474 <xsl:copy-of select="$biblioentry.item.separator"/>
475 </span>
476 </xsl:template>
478 <xsl:template match="contractsponsor" mode="bibliography.mode">
479 <span>
480 <xsl:apply-templates select="." mode="class.attribute"/>
481 <xsl:apply-templates mode="bibliography.mode"/>
482 <xsl:copy-of select="$biblioentry.item.separator"/>
483 </span>
484 </xsl:template>
486 <xsl:template match="contrib" mode="bibliography.mode">
487 <span>
488 <xsl:apply-templates select="." mode="class.attribute"/>
489 <xsl:apply-templates mode="bibliography.mode"/>
490 <xsl:copy-of select="$biblioentry.item.separator"/>
491 </span>
492 </xsl:template>
494 <!-- ================================================== -->
496 <xsl:template match="copyright" mode="bibliography.mode">
497 <span>
498 <xsl:apply-templates select="." mode="class.attribute"/>
499 <xsl:call-template name="gentext">
500 <xsl:with-param name="key" select="'Copyright'"/>
501 </xsl:call-template>
502 <xsl:call-template name="gentext.space"/>
503 <xsl:call-template name="dingbat">
504 <xsl:with-param name="dingbat">copyright</xsl:with-param>
505 </xsl:call-template>
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"/>
511 </xsl:if>
512 <xsl:copy-of select="$biblioentry.item.separator"/>
513 </span>
514 </xsl:template>
516 <xsl:template match="year" mode="bibliography.mode">
517 <xsl:apply-templates/><xsl:text>, </xsl:text>
518 </xsl:template>
520 <xsl:template match="year[position()=last()]" mode="bibliography.mode">
521 <xsl:apply-templates/>
522 </xsl:template>
524 <xsl:template match="holder" mode="bibliography.mode">
525 <xsl:apply-templates/>
526 </xsl:template>
528 <!-- ================================================== -->
530 <xsl:template match="corpauthor" mode="bibliography.mode">
531 <span>
532 <xsl:apply-templates select="." mode="class.attribute"/>
533 <xsl:apply-templates mode="bibliography.mode"/>
534 <xsl:copy-of select="$biblioentry.item.separator"/>
535 </span>
536 </xsl:template>
538 <xsl:template match="corpcredit" mode="bibliography.mode">
539 <span>
540 <xsl:apply-templates select="." mode="class.attribute"/>
541 <xsl:apply-templates mode="bibliography.mode"/>
542 <xsl:copy-of select="$biblioentry.item.separator"/>
543 </span>
544 </xsl:template>
546 <xsl:template match="corpname" mode="bibliography.mode">
547 <span>
548 <xsl:apply-templates select="." mode="class.attribute"/>
549 <xsl:apply-templates mode="bibliography.mode"/>
550 <xsl:copy-of select="$biblioentry.item.separator"/>
551 </span>
552 </xsl:template>
554 <xsl:template match="date" mode="bibliography.mode">
555 <span>
556 <xsl:apply-templates select="." mode="class.attribute"/>
557 <xsl:apply-templates mode="bibliography.mode"/>
558 <xsl:copy-of select="$biblioentry.item.separator"/>
559 </span>
560 </xsl:template>
562 <xsl:template match="edition" mode="bibliography.mode">
563 <span>
564 <xsl:apply-templates select="." mode="class.attribute"/>
565 <xsl:apply-templates mode="bibliography.mode"/>
566 <xsl:copy-of select="$biblioentry.item.separator"/>
567 </span>
568 </xsl:template>
570 <xsl:template match="editor" mode="bibliography.mode">
571 <span>
572 <xsl:apply-templates select="." mode="class.attribute"/>
573 <xsl:call-template name="person.name"/>
574 <xsl:copy-of select="$biblioentry.item.separator"/>
575 </span>
576 </xsl:template>
578 <xsl:template match="firstname" mode="bibliography.mode">
579 <span>
580 <xsl:apply-templates select="." mode="class.attribute"/>
581 <xsl:apply-templates mode="bibliography.mode"/>
582 <xsl:copy-of select="$biblioentry.item.separator"/>
583 </span>
584 </xsl:template>
586 <xsl:template match="honorific" mode="bibliography.mode">
587 <span>
588 <xsl:apply-templates select="." mode="class.attribute"/>
589 <xsl:apply-templates mode="bibliography.mode"/>
590 <xsl:copy-of select="$biblioentry.item.separator"/>
591 </span>
592 </xsl:template>
594 <xsl:template match="indexterm" mode="bibliography.mode">
595 <span>
596 <xsl:apply-templates select="." mode="class.attribute"/>
597 <xsl:apply-templates mode="bibliography.mode"/>
598 <xsl:copy-of select="$biblioentry.item.separator"/>
599 </span>
600 </xsl:template>
602 <xsl:template match="invpartnumber" mode="bibliography.mode">
603 <span>
604 <xsl:apply-templates select="." mode="class.attribute"/>
605 <xsl:apply-templates mode="bibliography.mode"/>
606 <xsl:copy-of select="$biblioentry.item.separator"/>
607 </span>
608 </xsl:template>
610 <xsl:template match="isbn" mode="bibliography.mode">
611 <span>
612 <xsl:apply-templates select="." mode="class.attribute"/>
613 <xsl:apply-templates mode="bibliography.mode"/>
614 <xsl:copy-of select="$biblioentry.item.separator"/>
615 </span>
616 </xsl:template>
618 <xsl:template match="issn" mode="bibliography.mode">
619 <span>
620 <xsl:apply-templates select="." mode="class.attribute"/>
621 <xsl:apply-templates mode="bibliography.mode"/>
622 <xsl:copy-of select="$biblioentry.item.separator"/>
623 </span>
624 </xsl:template>
626 <xsl:template match="issuenum" mode="bibliography.mode">
627 <span>
628 <xsl:apply-templates select="." mode="class.attribute"/>
629 <xsl:apply-templates mode="bibliography.mode"/>
630 <xsl:copy-of select="$biblioentry.item.separator"/>
631 </span>
632 </xsl:template>
634 <xsl:template match="lineage" mode="bibliography.mode">
635 <span>
636 <xsl:apply-templates select="." mode="class.attribute"/>
637 <xsl:apply-templates mode="bibliography.mode"/>
638 <xsl:copy-of select="$biblioentry.item.separator"/>
639 </span>
640 </xsl:template>
642 <xsl:template match="orgname" mode="bibliography.mode">
643 <span>
644 <xsl:apply-templates select="." mode="class.attribute"/>
645 <xsl:apply-templates mode="bibliography.mode"/>
646 <xsl:copy-of select="$biblioentry.item.separator"/>
647 </span>
648 </xsl:template>
650 <xsl:template match="orgdiv" mode="bibliography.mode">
651 <span>
652 <xsl:apply-templates select="." mode="class.attribute"/>
653 <xsl:apply-templates mode="bibliography.mode"/>
654 <xsl:copy-of select="$biblioentry.item.separator"/>
655 </span>
656 </xsl:template>
658 <xsl:template match="othercredit" mode="bibliography.mode">
659 <span>
660 <xsl:apply-templates select="." mode="class.attribute"/>
661 <xsl:apply-templates mode="bibliography.mode"/>
662 <xsl:copy-of select="$biblioentry.item.separator"/>
663 </span>
664 </xsl:template>
666 <xsl:template match="othername" mode="bibliography.mode">
667 <span>
668 <xsl:apply-templates select="." mode="class.attribute"/>
669 <xsl:apply-templates mode="bibliography.mode"/>
670 <xsl:copy-of select="$biblioentry.item.separator"/>
671 </span>
672 </xsl:template>
674 <xsl:template match="pagenums" mode="bibliography.mode">
675 <span>
676 <xsl:apply-templates select="." mode="class.attribute"/>
677 <xsl:apply-templates mode="bibliography.mode"/>
678 <xsl:copy-of select="$biblioentry.item.separator"/>
679 </span>
680 </xsl:template>
682 <xsl:template match="printhistory" mode="bibliography.mode">
683 <!-- suppressed -->
684 </xsl:template>
686 <xsl:template match="productname" mode="bibliography.mode">
687 <span>
688 <xsl:apply-templates select="." mode="class.attribute"/>
689 <xsl:apply-templates mode="bibliography.mode"/>
690 <xsl:copy-of select="$biblioentry.item.separator"/>
691 </span>
692 </xsl:template>
694 <xsl:template match="productnumber" mode="bibliography.mode">
695 <span>
696 <xsl:apply-templates select="." mode="class.attribute"/>
697 <xsl:apply-templates mode="bibliography.mode"/>
698 <xsl:copy-of select="$biblioentry.item.separator"/>
699 </span>
700 </xsl:template>
702 <xsl:template match="pubdate" mode="bibliography.mode">
703 <span>
704 <xsl:apply-templates select="." mode="class.attribute"/>
705 <xsl:apply-templates mode="bibliography.mode"/>
706 <xsl:copy-of select="$biblioentry.item.separator"/>
707 </span>
708 </xsl:template>
710 <xsl:template match="publisher" mode="bibliography.mode">
711 <span>
712 <xsl:apply-templates select="." mode="class.attribute"/>
713 <xsl:apply-templates mode="bibliography.mode"/>
714 </span>
715 </xsl:template>
717 <xsl:template match="publishername" mode="bibliography.mode">
718 <span>
719 <xsl:apply-templates select="." mode="class.attribute"/>
720 <xsl:apply-templates mode="bibliography.mode"/>
721 <xsl:copy-of select="$biblioentry.item.separator"/>
722 </span>
723 </xsl:template>
725 <xsl:template match="pubsnumber" mode="bibliography.mode">
726 <span>
727 <xsl:apply-templates select="." mode="class.attribute"/>
728 <xsl:apply-templates mode="bibliography.mode"/>
729 <xsl:copy-of select="$biblioentry.item.separator"/>
730 </span>
731 </xsl:template>
733 <xsl:template match="releaseinfo" mode="bibliography.mode">
734 <span>
735 <xsl:apply-templates select="." mode="class.attribute"/>
736 <xsl:apply-templates mode="bibliography.mode"/>
737 <xsl:copy-of select="$biblioentry.item.separator"/>
738 </span>
739 </xsl:template>
741 <xsl:template match="revhistory" mode="bibliography.mode">
742 <!-- suppressed; how could this be represented? -->
743 </xsl:template>
745 <xsl:template match="seriesinfo" mode="bibliography.mode">
746 <span>
747 <xsl:apply-templates select="." mode="class.attribute"/>
748 <xsl:apply-templates mode="bibliography.mode"/>
749 </span>
750 </xsl:template>
752 <xsl:template match="seriesvolnums" mode="bibliography.mode">
753 <span>
754 <xsl:apply-templates select="." mode="class.attribute"/>
755 <xsl:apply-templates mode="bibliography.mode"/>
756 <xsl:copy-of select="$biblioentry.item.separator"/>
757 </span>
758 </xsl:template>
760 <xsl:template match="subtitle" mode="bibliography.mode">
761 <span>
762 <xsl:apply-templates select="." mode="class.attribute"/>
763 <xsl:apply-templates mode="bibliography.mode"/>
764 <xsl:copy-of select="$biblioentry.item.separator"/>
765 </span>
766 </xsl:template>
768 <xsl:template match="surname" mode="bibliography.mode">
769 <span>
770 <xsl:apply-templates select="." mode="class.attribute"/>
771 <xsl:apply-templates mode="bibliography.mode"/>
772 <xsl:copy-of select="$biblioentry.item.separator"/>
773 </span>
774 </xsl:template>
776 <xsl:template match="title" mode="bibliography.mode">
777 <span>
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"/>
781 </span>
782 </xsl:template>
784 <xsl:template match="titleabbrev" mode="bibliography.mode">
785 <span>
786 <xsl:apply-templates select="." mode="class.attribute"/>
787 <xsl:apply-templates mode="bibliography.mode"/>
788 <xsl:copy-of select="$biblioentry.item.separator"/>
789 </span>
790 </xsl:template>
792 <xsl:template match="volumenum" mode="bibliography.mode">
793 <span>
794 <xsl:apply-templates select="." mode="class.attribute"/>
795 <xsl:apply-templates mode="bibliography.mode"/>
796 <xsl:copy-of select="$biblioentry.item.separator"/>
797 </span>
798 </xsl:template>
800 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
801 mode="bibliography.mode">
802 <span>
803 <xsl:apply-templates select="." mode="class.attribute"/>
804 <xsl:apply-templates mode="bibliography.mode"/>
805 <xsl:copy-of select="$biblioentry.item.separator"/>
806 </span>
807 </xsl:template>
809 <!-- ==================================================================== -->
811 <xsl:template match="*" mode="bibliomixed.mode">
812 <xsl:apply-templates select="."/><!-- try the default mode -->
813 </xsl:template>
815 <xsl:template match="abbrev" mode="bibliomixed.mode">
816 <xsl:if test="preceding-sibling::*">
817 <xsl:apply-templates mode="bibliomixed.mode"/>
818 </xsl:if>
819 </xsl:template>
821 <xsl:template match="abstract" mode="bibliomixed.mode">
822 <span>
823 <xsl:apply-templates select="." mode="class.attribute"/>
824 <xsl:apply-templates mode="bibliomixed.mode"/>
825 </span>
826 </xsl:template>
828 <xsl:template match="address" mode="bibliomixed.mode">
829 <span>
830 <xsl:apply-templates select="." mode="class.attribute"/>
831 <xsl:apply-templates mode="bibliomixed.mode"/>
832 </span>
833 </xsl:template>
835 <xsl:template match="affiliation" mode="bibliomixed.mode">
836 <span>
837 <xsl:apply-templates select="." mode="class.attribute"/>
838 <xsl:apply-templates mode="bibliomixed.mode"/>
839 </span>
840 </xsl:template>
842 <xsl:template match="shortaffil" mode="bibliomixed.mode">
843 <span>
844 <xsl:apply-templates select="." mode="class.attribute"/>
845 <xsl:apply-templates mode="bibliomixed.mode"/>
846 </span>
847 </xsl:template>
849 <xsl:template match="jobtitle" mode="bibliomixed.mode">
850 <span>
851 <xsl:apply-templates select="." mode="class.attribute"/>
852 <xsl:apply-templates mode="bibliomixed.mode"/>
853 </span>
854 </xsl:template>
856 <xsl:template match="artpagenums" mode="bibliomixed.mode">
857 <span>
858 <xsl:apply-templates select="." mode="class.attribute"/>
859 <xsl:apply-templates mode="bibliomixed.mode"/>
860 </span>
861 </xsl:template>
863 <xsl:template match="author" mode="bibliomixed.mode">
864 <span>
865 <xsl:apply-templates select="." mode="class.attribute"/>
866 <xsl:apply-templates mode="bibliomixed.mode"/>
867 </span>
868 </xsl:template>
870 <xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
871 <span>
872 <xsl:apply-templates select="." mode="class.attribute"/>
873 <xsl:apply-templates mode="bibliomixed.mode"/>
874 </span>
875 </xsl:template>
877 <xsl:template match="authorgroup" mode="bibliomixed.mode">
878 <span>
879 <xsl:apply-templates select="." mode="class.attribute"/>
880 <xsl:apply-templates mode="bibliomixed.mode"/>
881 </span>
882 </xsl:template>
884 <xsl:template match="authorinitials" mode="bibliomixed.mode">
885 <span>
886 <xsl:apply-templates select="." mode="class.attribute"/>
887 <xsl:apply-templates mode="bibliomixed.mode"/>
888 </span>
889 </xsl:template>
891 <xsl:template match="bibliomisc" mode="bibliomixed.mode">
892 <span>
893 <xsl:apply-templates select="." mode="class.attribute"/>
894 <xsl:apply-templates mode="bibliomixed.mode"/>
895 </span>
896 </xsl:template>
898 <!-- ================================================== -->
900 <xsl:template match="bibliomset" mode="bibliomixed.mode">
901 <span>
902 <xsl:apply-templates select="." mode="class.attribute"/>
903 <xsl:apply-templates mode="bibliomixed.mode"/>
904 </span>
905 </xsl:template>
907 <xsl:template match="bibliomset/title|bibliomset/citetitle"
908 mode="bibliomixed.mode">
909 <xsl:variable name="relation" select="../@relation"/>
910 <xsl:choose>
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"/>
915 </xsl:when>
916 <xsl:otherwise>
917 <i><xsl:apply-templates/></i>
918 </xsl:otherwise>
919 </xsl:choose>
920 </xsl:template>
922 <!-- ================================================== -->
924 <xsl:template match="biblioset" mode="bibliomixed.mode">
925 <span>
926 <xsl:apply-templates select="." mode="class.attribute"/>
927 <xsl:apply-templates mode="bibliomixed.mode"/>
928 </span>
929 </xsl:template>
931 <xsl:template match="citetitle" mode="bibliomixed.mode">
932 <span>
933 <xsl:apply-templates select="." mode="class.attribute"/>
934 <xsl:choose>
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"/>
939 </xsl:when>
940 <xsl:otherwise>
941 <xsl:call-template name="inline.italicseq"/>
942 </xsl:otherwise>
943 </xsl:choose>
944 </span>
945 </xsl:template>
948 <xsl:template match="collab" mode="bibliomixed.mode">
949 <span>
950 <xsl:apply-templates select="." mode="class.attribute"/>
951 <xsl:apply-templates mode="bibliomixed.mode"/>
952 </span>
953 </xsl:template>
955 <xsl:template match="confgroup" mode="bibliomixed.mode">
956 <span>
957 <xsl:apply-templates select="." mode="class.attribute"/>
958 <xsl:apply-templates mode="bibliomixed.mode"/>
959 </span>
960 </xsl:template>
962 <xsl:template match="contractnum" mode="bibliomixed.mode">
963 <span>
964 <xsl:apply-templates select="." mode="class.attribute"/>
965 <xsl:apply-templates mode="bibliomixed.mode"/>
966 </span>
967 </xsl:template>
969 <xsl:template match="contractsponsor" mode="bibliomixed.mode">
970 <span>
971 <xsl:apply-templates select="." mode="class.attribute"/>
972 <xsl:apply-templates mode="bibliomixed.mode"/>
973 </span>
974 </xsl:template>
976 <xsl:template match="contrib" mode="bibliomixed.mode">
977 <span>
978 <xsl:apply-templates select="." mode="class.attribute"/>
979 <xsl:apply-templates mode="bibliomixed.mode"/>
980 </span>
981 </xsl:template>
983 <xsl:template match="copyright" mode="bibliomixed.mode">
984 <span>
985 <xsl:apply-templates select="." mode="class.attribute"/>
986 <xsl:apply-templates mode="bibliomixed.mode"/>
987 </span>
988 </xsl:template>
990 <xsl:template match="corpauthor" mode="bibliomixed.mode">
991 <span>
992 <xsl:apply-templates select="." mode="class.attribute"/>
993 <xsl:apply-templates mode="bibliomixed.mode"/>
994 </span>
995 </xsl:template>
997 <xsl:template match="corpcredit" mode="bibliomixed.mode">
998 <span>
999 <xsl:apply-templates select="." mode="class.attribute"/>
1000 <xsl:apply-templates mode="bibliomixed.mode"/>
1001 </span>
1002 </xsl:template>
1004 <xsl:template match="corpname" mode="bibliomixed.mode">
1005 <span>
1006 <xsl:apply-templates select="." mode="class.attribute"/>
1007 <xsl:apply-templates mode="bibliomixed.mode"/>
1008 </span>
1009 </xsl:template>
1011 <xsl:template match="date" mode="bibliomixed.mode">
1012 <span>
1013 <xsl:apply-templates select="." mode="class.attribute"/>
1014 <xsl:apply-templates mode="bibliomixed.mode"/>
1015 </span>
1016 </xsl:template>
1018 <xsl:template match="edition" mode="bibliomixed.mode">
1019 <span>
1020 <xsl:apply-templates select="." mode="class.attribute"/>
1021 <xsl:apply-templates mode="bibliomixed.mode"/>
1022 </span>
1023 </xsl:template>
1025 <xsl:template match="editor" mode="bibliomixed.mode">
1026 <span>
1027 <xsl:apply-templates select="." mode="class.attribute"/>
1028 <xsl:apply-templates mode="bibliomixed.mode"/>
1029 </span>
1030 </xsl:template>
1032 <xsl:template match="firstname" mode="bibliomixed.mode">
1033 <span>
1034 <xsl:apply-templates select="." mode="class.attribute"/>
1035 <xsl:apply-templates mode="bibliomixed.mode"/>
1036 </span>
1037 </xsl:template>
1039 <xsl:template match="honorific" mode="bibliomixed.mode">
1040 <span>
1041 <xsl:apply-templates select="." mode="class.attribute"/>
1042 <xsl:apply-templates mode="bibliomixed.mode"/>
1043 </span>
1044 </xsl:template>
1046 <xsl:template match="indexterm" mode="bibliomixed.mode">
1047 <span>
1048 <xsl:apply-templates select="." mode="class.attribute"/>
1049 <xsl:apply-templates mode="bibliomixed.mode"/>
1050 </span>
1051 </xsl:template>
1053 <xsl:template match="invpartnumber" mode="bibliomixed.mode">
1054 <span>
1055 <xsl:apply-templates select="." mode="class.attribute"/>
1056 <xsl:apply-templates mode="bibliomixed.mode"/>
1057 </span>
1058 </xsl:template>
1060 <xsl:template match="isbn" mode="bibliomixed.mode">
1061 <span>
1062 <xsl:apply-templates select="." mode="class.attribute"/>
1063 <xsl:apply-templates mode="bibliomixed.mode"/>
1064 </span>
1065 </xsl:template>
1067 <xsl:template match="issn" mode="bibliomixed.mode">
1068 <span>
1069 <xsl:apply-templates select="." mode="class.attribute"/>
1070 <xsl:apply-templates mode="bibliomixed.mode"/>
1071 </span>
1072 </xsl:template>
1074 <xsl:template match="issuenum" mode="bibliomixed.mode">
1075 <span>
1076 <xsl:apply-templates select="." mode="class.attribute"/>
1077 <xsl:apply-templates mode="bibliomixed.mode"/>
1078 </span>
1079 </xsl:template>
1081 <xsl:template match="lineage" mode="bibliomixed.mode">
1082 <span>
1083 <xsl:apply-templates select="." mode="class.attribute"/>
1084 <xsl:apply-templates mode="bibliomixed.mode"/>
1085 </span>
1086 </xsl:template>
1088 <xsl:template match="orgname" mode="bibliomixed.mode">
1089 <span>
1090 <xsl:apply-templates select="." mode="class.attribute"/>
1091 <xsl:apply-templates mode="bibliomixed.mode"/>
1092 </span>
1093 </xsl:template>
1095 <xsl:template match="othercredit" mode="bibliomixed.mode">
1096 <span>
1097 <xsl:apply-templates select="." mode="class.attribute"/>
1098 <xsl:apply-templates mode="bibliomixed.mode"/>
1099 </span>
1100 </xsl:template>
1102 <xsl:template match="othername" mode="bibliomixed.mode">
1103 <span>
1104 <xsl:apply-templates select="." mode="class.attribute"/>
1105 <xsl:apply-templates mode="bibliomixed.mode"/>
1106 </span>
1107 </xsl:template>
1109 <xsl:template match="pagenums" mode="bibliomixed.mode">
1110 <span>
1111 <xsl:apply-templates select="." mode="class.attribute"/>
1112 <xsl:apply-templates mode="bibliomixed.mode"/>
1113 </span>
1114 </xsl:template>
1116 <xsl:template match="printhistory" mode="bibliomixed.mode">
1117 <span>
1118 <xsl:apply-templates select="." mode="class.attribute"/>
1119 <xsl:apply-templates mode="bibliomixed.mode"/>
1120 </span>
1121 </xsl:template>
1123 <xsl:template match="productname" mode="bibliomixed.mode">
1124 <span>
1125 <xsl:apply-templates select="." mode="class.attribute"/>
1126 <xsl:apply-templates mode="bibliomixed.mode"/>
1127 </span>
1128 </xsl:template>
1130 <xsl:template match="productnumber" mode="bibliomixed.mode">
1131 <span>
1132 <xsl:apply-templates select="." mode="class.attribute"/>
1133 <xsl:apply-templates mode="bibliomixed.mode"/>
1134 </span>
1135 </xsl:template>
1137 <xsl:template match="pubdate" mode="bibliomixed.mode">
1138 <span>
1139 <xsl:apply-templates select="." mode="class.attribute"/>
1140 <xsl:apply-templates mode="bibliomixed.mode"/>
1141 </span>
1142 </xsl:template>
1144 <xsl:template match="publisher" mode="bibliomixed.mode">
1145 <span>
1146 <xsl:apply-templates select="." mode="class.attribute"/>
1147 <xsl:apply-templates mode="bibliomixed.mode"/>
1148 </span>
1149 </xsl:template>
1151 <xsl:template match="publishername" mode="bibliomixed.mode">
1152 <span>
1153 <xsl:apply-templates select="." mode="class.attribute"/>
1154 <xsl:apply-templates mode="bibliomixed.mode"/>
1155 </span>
1156 </xsl:template>
1158 <xsl:template match="pubsnumber" mode="bibliomixed.mode">
1159 <span>
1160 <xsl:apply-templates select="." mode="class.attribute"/>
1161 <xsl:apply-templates mode="bibliomixed.mode"/>
1162 </span>
1163 </xsl:template>
1165 <xsl:template match="releaseinfo" mode="bibliomixed.mode">
1166 <span>
1167 <xsl:apply-templates select="." mode="class.attribute"/>
1168 <xsl:apply-templates mode="bibliomixed.mode"/>
1169 </span>
1170 </xsl:template>
1172 <xsl:template match="revhistory" mode="bibliomixed.mode">
1173 <!-- suppressed; how could this be represented? -->
1174 </xsl:template>
1176 <xsl:template match="seriesvolnums" mode="bibliomixed.mode">
1177 <span>
1178 <xsl:apply-templates select="." mode="class.attribute"/>
1179 <xsl:apply-templates mode="bibliomixed.mode"/>
1180 </span>
1181 </xsl:template>
1183 <xsl:template match="subtitle" mode="bibliomixed.mode">
1184 <span>
1185 <xsl:apply-templates select="." mode="class.attribute"/>
1186 <xsl:apply-templates mode="bibliomixed.mode"/>
1187 </span>
1188 </xsl:template>
1190 <xsl:template match="surname" mode="bibliomixed.mode">
1191 <span>
1192 <xsl:apply-templates select="." mode="class.attribute"/>
1193 <xsl:apply-templates mode="bibliomixed.mode"/>
1194 </span>
1195 </xsl:template>
1197 <xsl:template match="title" mode="bibliomixed.mode">
1198 <span>
1199 <xsl:apply-templates select="." mode="class.attribute"/>
1200 <xsl:apply-templates mode="bibliomixed.mode"/>
1201 </span>
1202 </xsl:template>
1204 <xsl:template match="titleabbrev" mode="bibliomixed.mode">
1205 <span>
1206 <xsl:apply-templates select="." mode="class.attribute"/>
1207 <xsl:apply-templates mode="bibliomixed.mode"/>
1208 </span>
1209 </xsl:template>
1211 <xsl:template match="volumenum" mode="bibliomixed.mode">
1212 <span>
1213 <xsl:apply-templates select="." mode="class.attribute"/>
1214 <xsl:apply-templates mode="bibliomixed.mode"/>
1215 </span>
1216 </xsl:template>
1218 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
1219 mode="bibliomixed.mode">
1220 <span>
1221 <xsl:apply-templates select="." mode="class.attribute"/>
1222 <xsl:apply-templates mode="bibliomixed.mode"/>
1223 </span>
1224 </xsl:template>
1226 <!-- ==================================================================== -->
1228 </xsl:stylesheet>