2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 <!-- ********************************************************************
6 $Id: biblio.xsl 8421 2009-05-04 07:49:49Z bobstayton $
7 ********************************************************************
9 This file is part of the XSL DocBook Stylesheet distribution.
10 See ../README or http://docbook.sf.net/release/xsl/current/ for
11 copyright and other information.
13 ******************************************************************** -->
15 <!-- ==================================================================== -->
17 <xsl:template match="bibliography">
18 <xsl:call-template name="id.warning"/>
21 <xsl:call-template name="common.html.attributes">
22 <xsl:with-param name="inherit" select="1"/>
24 <xsl:if test="$generate.id.attributes != 0">
25 <xsl:attribute name="id">
26 <xsl:call-template name="object.id"/>
30 <xsl:call-template name="bibliography.titlepage"/>
32 <xsl:apply-templates/>
34 <xsl:if test="not(parent::article)">
35 <xsl:call-template name="process.footnotes"/>
40 <xsl:template match="bibliography/bibliographyinfo"></xsl:template>
41 <xsl:template match="bibliography/info"></xsl:template>
42 <xsl:template match="bibliography/title"></xsl:template>
43 <xsl:template match="bibliography/subtitle"></xsl:template>
44 <xsl:template match="bibliography/titleabbrev"></xsl:template>
46 <!-- ==================================================================== -->
48 <xsl:template match="bibliodiv">
49 <xsl:call-template name="id.warning"/>
52 <xsl:call-template name="common.html.attributes">
53 <xsl:with-param name="inherit" select="0"/>
55 <xsl:apply-templates/>
59 <xsl:template match="bibliodiv/title">
61 <xsl:call-template name="common.html.attributes"/>
62 <xsl:call-template name="anchor">
63 <xsl:with-param name="node" select=".."/>
64 <xsl:with-param name="conditional" select="0"/>
66 <xsl:apply-templates/>
70 <!-- ==================================================================== -->
72 <xsl:template match="bibliolist">
74 <xsl:call-template name="common.html.attributes">
75 <xsl:with-param name="inherit" select="0"/>
77 <xsl:call-template name="anchor"/>
78 <xsl:if test="blockinfo/title|info/title|title">
79 <xsl:call-template name="formal.object.heading"/>
81 <xsl:apply-templates select="*[not(self::blockinfo)
84 and not(self::titleabbrev)
85 and not(self::biblioentry)
86 and not(self::bibliomixed)]"/>
87 <xsl:apply-templates select="biblioentry|bibliomixed"/>
91 <!-- ==================================================================== -->
93 <xsl:template match="biblioentry">
94 <xsl:param name="label">
95 <xsl:call-template name="biblioentry.label"/>
98 <xsl:variable name="id">
99 <xsl:call-template name="object.id"/>
103 <xsl:when test="string(.) = ''">
104 <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
105 <xsl:variable name="entry" select="$bib/bibliography//
106 *[@id=$id or @xml:id=$id][1]"/>
108 <xsl:when test="$entry">
110 <xsl:when test="$bibliography.numbered != 0">
111 <xsl:apply-templates select="$entry">
112 <xsl:with-param name="label" select="$label"/>
113 </xsl:apply-templates>
116 <xsl:apply-templates select="$entry"/>
122 <xsl:text>No bibliography entry: </xsl:text>
123 <xsl:value-of select="$id"/>
124 <xsl:text> found in </xsl:text>
125 <xsl:value-of select="$bibliography.collection"/>
128 <xsl:call-template name="common.html.attributes"/>
129 <xsl:call-template name="anchor"/>
131 <xsl:copy-of select="$label"/>
132 <xsl:text>Error: no bibliography entry: </xsl:text>
133 <xsl:value-of select="$id"/>
134 <xsl:text> found in </xsl:text>
135 <xsl:value-of select="$bibliography.collection"/>
143 <xsl:call-template name="common.html.attributes"/>
144 <xsl:call-template name="anchor">
145 <xsl:with-param name="conditional" select="0"/>
148 <xsl:copy-of select="$label"/>
150 <xsl:when test="$bibliography.style = 'iso690'">
151 <xsl:call-template name="iso690.makecitation"/>
154 <xsl:apply-templates mode="bibliography.mode"/>
163 <xsl:template match="bibliomixed">
164 <xsl:param name="label">
165 <xsl:call-template name="biblioentry.label"/>
168 <xsl:variable name="id">
169 <xsl:call-template name="object.id"/>
173 <xsl:when test="string(.) = ''">
174 <xsl:variable name="bib" select="document($bibliography.collection,.)"/>
175 <xsl:variable name="entry" select="$bib/bibliography//
176 *[@id=$id or @xml:id=$id][1]"/>
178 <xsl:when test="$entry">
180 <xsl:when test="$bibliography.numbered != 0">
181 <xsl:apply-templates select="$entry">
182 <xsl:with-param name="label" select="$label"/>
183 </xsl:apply-templates>
186 <xsl:apply-templates select="$entry"/>
192 <xsl:text>No bibliography entry: </xsl:text>
193 <xsl:value-of select="$id"/>
194 <xsl:text> found in </xsl:text>
195 <xsl:value-of select="$bibliography.collection"/>
198 <xsl:call-template name="common.html.attributes"/>
199 <xsl:call-template name="anchor"/>
201 <xsl:copy-of select="$label"/>
202 <xsl:text>Error: no bibliography entry: </xsl:text>
203 <xsl:value-of select="$id"/>
204 <xsl:text> found in </xsl:text>
205 <xsl:value-of select="$bibliography.collection"/>
213 <xsl:call-template name="common.html.attributes"/>
214 <xsl:call-template name="anchor">
215 <xsl:with-param name="conditional" select="0"/>
218 <xsl:call-template name="common.html.attributes"/>
219 <xsl:copy-of select="$label"/>
220 <xsl:apply-templates mode="bibliomixed.mode"/>
227 <xsl:template name="biblioentry.label">
228 <xsl:param name="node" select="."/>
231 <xsl:when test="$bibliography.numbered != 0">
232 <xsl:text>[</xsl:text>
233 <xsl:number from="bibliography" count="biblioentry|bibliomixed"
234 level="any" format="1"/>
235 <xsl:text>] </xsl:text>
237 <xsl:when test="local-name($node/child::*[1]) = 'abbrev'">
238 <xsl:text>[</xsl:text>
239 <xsl:apply-templates select="$node/abbrev[1]"/>
240 <xsl:text>] </xsl:text>
242 <xsl:when test="$node/@xreflabel">
243 <xsl:text>[</xsl:text>
244 <xsl:value-of select="$node/@xreflabel"/>
245 <xsl:text>] </xsl:text>
247 <xsl:when test="$node/@id">
248 <xsl:text>[</xsl:text>
249 <xsl:value-of select="$node/@id"/>
250 <xsl:text>] </xsl:text>
252 <xsl:when test="$node/@xml:id">
253 <xsl:text>[</xsl:text>
254 <xsl:value-of select="$node/@xml:id"/>
255 <xsl:text>] </xsl:text>
257 <xsl:otherwise><!-- nop --></xsl:otherwise>
261 <!-- ==================================================================== -->
263 <xsl:template match="*" mode="bibliography.mode">
264 <xsl:apply-templates select="."/><!-- try the default mode -->
267 <xsl:template match="abbrev" mode="bibliography.mode">
268 <xsl:if test="preceding-sibling::*">
269 <xsl:apply-templates mode="bibliography.mode"/>
273 <xsl:template match="abstract" mode="bibliography.mode">
277 <xsl:template match="address" mode="bibliography.mode">
279 <xsl:call-template name="common.html.attributes"/>
280 <xsl:apply-templates mode="bibliography.mode"/>
281 <xsl:copy-of select="$biblioentry.item.separator"/>
285 <xsl:template match="affiliation" mode="bibliography.mode">
287 <xsl:call-template name="common.html.attributes"/>
288 <xsl:apply-templates mode="bibliography.mode"/>
289 <xsl:copy-of select="$biblioentry.item.separator"/>
293 <xsl:template match="shortaffil" mode="bibliography.mode">
295 <xsl:call-template name="common.html.attributes"/>
296 <xsl:apply-templates mode="bibliography.mode"/>
297 <xsl:copy-of select="$biblioentry.item.separator"/>
301 <xsl:template match="jobtitle" mode="bibliography.mode">
303 <xsl:call-template name="common.html.attributes"/>
304 <xsl:apply-templates mode="bibliography.mode"/>
305 <xsl:copy-of select="$biblioentry.item.separator"/>
309 <xsl:template match="artheader|articleinfo|info" mode="bibliography.mode">
311 <xsl:call-template name="common.html.attributes"/>
312 <xsl:apply-templates mode="bibliography.mode"/>
313 <xsl:copy-of select="$biblioentry.item.separator"/>
317 <xsl:template match="artpagenums" mode="bibliography.mode">
319 <xsl:call-template name="common.html.attributes"/>
320 <xsl:apply-templates mode="bibliography.mode"/>
321 <xsl:copy-of select="$biblioentry.item.separator"/>
325 <xsl:template match="author" mode="bibliography.mode">
327 <xsl:call-template name="common.html.attributes"/>
328 <xsl:call-template name="person.name"/>
329 <xsl:copy-of select="$biblioentry.item.separator"/>
333 <xsl:template match="authorblurb|personblurb" mode="bibliography.mode">
337 <xsl:template match="authorgroup" mode="bibliography.mode">
339 <xsl:call-template name="common.html.attributes"/>
340 <xsl:call-template name="person.name.list"/>
341 <xsl:copy-of select="$biblioentry.item.separator"/>
345 <xsl:template match="authorinitials" mode="bibliography.mode">
347 <xsl:call-template name="common.html.attributes"/>
348 <xsl:apply-templates mode="bibliography.mode"/>
349 <xsl:copy-of select="$biblioentry.item.separator"/>
353 <xsl:template match="bibliomisc" mode="bibliography.mode">
355 <xsl:call-template name="common.html.attributes"/>
356 <xsl:apply-templates mode="bibliography.mode"/>
357 <xsl:copy-of select="$biblioentry.item.separator"/>
361 <xsl:template match="bibliomset" mode="bibliography.mode">
363 <xsl:call-template name="common.html.attributes"/>
364 <xsl:apply-templates mode="bibliography.mode"/>
365 <xsl:copy-of select="$biblioentry.item.separator"/>
369 <!-- ================================================== -->
371 <xsl:template match="biblioset" mode="bibliography.mode">
373 <xsl:call-template name="common.html.attributes"/>
374 <xsl:apply-templates mode="bibliography.mode"/>
378 <xsl:template match="biblioset/title|biblioset/citetitle"
379 mode="bibliography.mode">
380 <xsl:variable name="relation" select="../@relation"/>
382 <xsl:when test="$relation='article' or @pubwork='article'">
383 <xsl:call-template name="gentext.startquote"/>
384 <xsl:apply-templates/>
385 <xsl:call-template name="gentext.endquote"/>
388 <i><xsl:apply-templates/></i>
391 <xsl:copy-of select="$biblioentry.item.separator"/>
394 <!-- ================================================== -->
396 <xsl:template match="bookbiblio" mode="bibliography.mode">
398 <xsl:call-template name="common.html.attributes"/>
399 <xsl:apply-templates mode="bibliography.mode"/>
400 <xsl:copy-of select="$biblioentry.item.separator"/>
404 <xsl:template match="citetitle" mode="bibliography.mode">
406 <xsl:call-template name="common.html.attributes"/>
408 <xsl:when test="@pubwork = 'article'">
409 <xsl:call-template name="gentext.startquote"/>
410 <xsl:call-template name="inline.charseq"/>
411 <xsl:call-template name="gentext.endquote"/>
414 <xsl:call-template name="inline.italicseq"/>
417 <xsl:copy-of select="$biblioentry.item.separator"/>
421 <xsl:template match="collab" mode="bibliography.mode">
423 <xsl:call-template name="common.html.attributes"/>
424 <xsl:apply-templates mode="bibliography.mode"/>
425 <xsl:copy-of select="$biblioentry.item.separator"/>
429 <xsl:template match="collabname" mode="bibliography.mode">
431 <xsl:call-template name="common.html.attributes"/>
432 <xsl:apply-templates mode="bibliography.mode"/>
433 <xsl:copy-of select="$biblioentry.item.separator"/>
437 <xsl:template match="confgroup" mode="bibliography.mode">
439 <xsl:call-template name="common.html.attributes"/>
440 <xsl:apply-templates mode="bibliography.mode"/>
441 <xsl:copy-of select="$biblioentry.item.separator"/>
445 <xsl:template match="confdates" mode="bibliography.mode">
447 <xsl:call-template name="common.html.attributes"/>
448 <xsl:apply-templates mode="bibliography.mode"/>
449 <xsl:copy-of select="$biblioentry.item.separator"/>
453 <xsl:template match="conftitle" mode="bibliography.mode">
455 <xsl:call-template name="common.html.attributes"/>
456 <xsl:apply-templates mode="bibliography.mode"/>
457 <xsl:copy-of select="$biblioentry.item.separator"/>
461 <xsl:template match="confnum" mode="bibliography.mode">
463 <xsl:call-template name="common.html.attributes"/>
464 <xsl:apply-templates mode="bibliography.mode"/>
465 <xsl:copy-of select="$biblioentry.item.separator"/>
469 <xsl:template match="confsponsor" mode="bibliography.mode">
471 <xsl:call-template name="common.html.attributes"/>
472 <xsl:apply-templates mode="bibliography.mode"/>
473 <xsl:copy-of select="$biblioentry.item.separator"/>
477 <xsl:template match="contractnum" mode="bibliography.mode">
479 <xsl:call-template name="common.html.attributes"/>
480 <xsl:apply-templates mode="bibliography.mode"/>
481 <xsl:copy-of select="$biblioentry.item.separator"/>
485 <xsl:template match="contractsponsor" mode="bibliography.mode">
487 <xsl:call-template name="common.html.attributes"/>
488 <xsl:apply-templates mode="bibliography.mode"/>
489 <xsl:copy-of select="$biblioentry.item.separator"/>
493 <xsl:template match="contrib" mode="bibliography.mode">
495 <xsl:call-template name="common.html.attributes"/>
496 <xsl:apply-templates mode="bibliography.mode"/>
497 <xsl:copy-of select="$biblioentry.item.separator"/>
501 <!-- ================================================== -->
503 <xsl:template match="copyright" mode="bibliography.mode">
505 <xsl:call-template name="common.html.attributes"/>
506 <xsl:call-template name="gentext">
507 <xsl:with-param name="key" select="'Copyright'"/>
509 <xsl:call-template name="gentext.space"/>
510 <xsl:call-template name="dingbat">
511 <xsl:with-param name="dingbat">copyright</xsl:with-param>
513 <xsl:call-template name="gentext.space"/>
514 <xsl:apply-templates select="year" mode="bibliography.mode"/>
515 <xsl:if test="holder">
516 <xsl:call-template name="gentext.space"/>
517 <xsl:apply-templates select="holder" mode="bibliography.mode"/>
519 <xsl:copy-of select="$biblioentry.item.separator"/>
523 <xsl:template match="year" mode="bibliography.mode">
524 <xsl:apply-templates/><xsl:text>, </xsl:text>
527 <xsl:template match="year[position()=last()]" mode="bibliography.mode">
528 <xsl:apply-templates/>
531 <xsl:template match="holder" mode="bibliography.mode">
532 <xsl:apply-templates/>
535 <!-- ================================================== -->
537 <xsl:template match="corpauthor" mode="bibliography.mode">
539 <xsl:call-template name="common.html.attributes"/>
540 <xsl:apply-templates mode="bibliography.mode"/>
541 <xsl:copy-of select="$biblioentry.item.separator"/>
545 <xsl:template match="corpcredit" mode="bibliography.mode">
547 <xsl:call-template name="common.html.attributes"/>
548 <xsl:apply-templates mode="bibliography.mode"/>
549 <xsl:copy-of select="$biblioentry.item.separator"/>
553 <xsl:template match="corpname" mode="bibliography.mode">
555 <xsl:call-template name="common.html.attributes"/>
556 <xsl:apply-templates mode="bibliography.mode"/>
557 <xsl:copy-of select="$biblioentry.item.separator"/>
561 <xsl:template match="date" mode="bibliography.mode">
563 <xsl:call-template name="common.html.attributes"/>
564 <xsl:apply-templates mode="bibliography.mode"/>
565 <xsl:copy-of select="$biblioentry.item.separator"/>
569 <xsl:template match="edition" mode="bibliography.mode">
571 <xsl:call-template name="common.html.attributes"/>
572 <xsl:apply-templates mode="bibliography.mode"/>
573 <xsl:copy-of select="$biblioentry.item.separator"/>
577 <xsl:template match="editor" mode="bibliography.mode">
579 <xsl:call-template name="common.html.attributes"/>
580 <xsl:call-template name="person.name"/>
581 <xsl:copy-of select="$biblioentry.item.separator"/>
585 <xsl:template match="firstname" mode="bibliography.mode">
587 <xsl:call-template name="common.html.attributes"/>
588 <xsl:apply-templates mode="bibliography.mode"/>
589 <xsl:copy-of select="$biblioentry.item.separator"/>
593 <xsl:template match="honorific" mode="bibliography.mode">
595 <xsl:call-template name="common.html.attributes"/>
596 <xsl:apply-templates mode="bibliography.mode"/>
597 <xsl:copy-of select="$biblioentry.item.separator"/>
601 <xsl:template match="indexterm" mode="bibliography.mode">
603 <xsl:call-template name="common.html.attributes"/>
604 <xsl:apply-templates mode="bibliography.mode"/>
605 <xsl:copy-of select="$biblioentry.item.separator"/>
609 <xsl:template match="invpartnumber" mode="bibliography.mode">
611 <xsl:call-template name="common.html.attributes"/>
612 <xsl:apply-templates mode="bibliography.mode"/>
613 <xsl:copy-of select="$biblioentry.item.separator"/>
617 <xsl:template match="isbn" mode="bibliography.mode">
619 <xsl:call-template name="common.html.attributes"/>
620 <xsl:apply-templates mode="bibliography.mode"/>
621 <xsl:copy-of select="$biblioentry.item.separator"/>
625 <xsl:template match="issn" mode="bibliography.mode">
627 <xsl:call-template name="common.html.attributes"/>
628 <xsl:apply-templates mode="bibliography.mode"/>
629 <xsl:copy-of select="$biblioentry.item.separator"/>
633 <xsl:template match="issuenum" mode="bibliography.mode">
635 <xsl:call-template name="common.html.attributes"/>
636 <xsl:apply-templates mode="bibliography.mode"/>
637 <xsl:copy-of select="$biblioentry.item.separator"/>
641 <xsl:template match="lineage" mode="bibliography.mode">
643 <xsl:call-template name="common.html.attributes"/>
644 <xsl:apply-templates mode="bibliography.mode"/>
645 <xsl:copy-of select="$biblioentry.item.separator"/>
649 <xsl:template match="orgname" mode="bibliography.mode">
651 <xsl:call-template name="common.html.attributes"/>
652 <xsl:apply-templates mode="bibliography.mode"/>
653 <xsl:copy-of select="$biblioentry.item.separator"/>
657 <xsl:template match="orgdiv" mode="bibliography.mode">
659 <xsl:call-template name="common.html.attributes"/>
660 <xsl:apply-templates mode="bibliography.mode"/>
661 <xsl:copy-of select="$biblioentry.item.separator"/>
665 <xsl:template match="othercredit" mode="bibliography.mode">
667 <xsl:call-template name="common.html.attributes"/>
668 <xsl:apply-templates mode="bibliography.mode"/>
669 <xsl:copy-of select="$biblioentry.item.separator"/>
673 <xsl:template match="othername" mode="bibliography.mode">
675 <xsl:call-template name="common.html.attributes"/>
676 <xsl:apply-templates mode="bibliography.mode"/>
677 <xsl:copy-of select="$biblioentry.item.separator"/>
681 <xsl:template match="pagenums" mode="bibliography.mode">
683 <xsl:call-template name="common.html.attributes"/>
684 <xsl:apply-templates mode="bibliography.mode"/>
685 <xsl:copy-of select="$biblioentry.item.separator"/>
689 <xsl:template match="printhistory" mode="bibliography.mode">
693 <xsl:template match="productname" mode="bibliography.mode">
695 <xsl:call-template name="common.html.attributes"/>
696 <xsl:apply-templates mode="bibliography.mode"/>
697 <xsl:copy-of select="$biblioentry.item.separator"/>
701 <xsl:template match="productnumber" mode="bibliography.mode">
703 <xsl:call-template name="common.html.attributes"/>
704 <xsl:apply-templates mode="bibliography.mode"/>
705 <xsl:copy-of select="$biblioentry.item.separator"/>
709 <xsl:template match="pubdate" mode="bibliography.mode">
711 <xsl:call-template name="common.html.attributes"/>
712 <xsl:apply-templates mode="bibliography.mode"/>
713 <xsl:copy-of select="$biblioentry.item.separator"/>
717 <xsl:template match="publisher" mode="bibliography.mode">
719 <xsl:call-template name="common.html.attributes"/>
720 <xsl:apply-templates mode="bibliography.mode"/>
724 <xsl:template match="publishername" mode="bibliography.mode">
726 <xsl:call-template name="common.html.attributes"/>
727 <xsl:apply-templates mode="bibliography.mode"/>
728 <xsl:copy-of select="$biblioentry.item.separator"/>
732 <xsl:template match="pubsnumber" mode="bibliography.mode">
734 <xsl:call-template name="common.html.attributes"/>
735 <xsl:apply-templates mode="bibliography.mode"/>
736 <xsl:copy-of select="$biblioentry.item.separator"/>
740 <xsl:template match="releaseinfo" mode="bibliography.mode">
742 <xsl:call-template name="common.html.attributes"/>
743 <xsl:apply-templates mode="bibliography.mode"/>
744 <xsl:copy-of select="$biblioentry.item.separator"/>
748 <xsl:template match="revhistory" mode="bibliography.mode">
749 <!-- suppressed; how could this be represented? -->
752 <xsl:template match="seriesinfo" mode="bibliography.mode">
754 <xsl:call-template name="common.html.attributes"/>
755 <xsl:apply-templates mode="bibliography.mode"/>
759 <xsl:template match="seriesvolnums" mode="bibliography.mode">
761 <xsl:call-template name="common.html.attributes"/>
762 <xsl:apply-templates mode="bibliography.mode"/>
763 <xsl:copy-of select="$biblioentry.item.separator"/>
767 <xsl:template match="subtitle" mode="bibliography.mode">
769 <xsl:call-template name="common.html.attributes"/>
770 <xsl:apply-templates mode="bibliography.mode"/>
771 <xsl:copy-of select="$biblioentry.item.separator"/>
775 <xsl:template match="surname" mode="bibliography.mode">
777 <xsl:call-template name="common.html.attributes"/>
778 <xsl:apply-templates mode="bibliography.mode"/>
779 <xsl:copy-of select="$biblioentry.item.separator"/>
783 <xsl:template match="title" mode="bibliography.mode">
785 <xsl:call-template name="common.html.attributes"/>
786 <i><xsl:apply-templates mode="bibliography.mode"/></i>
787 <xsl:copy-of select="$biblioentry.item.separator"/>
791 <xsl:template match="titleabbrev" mode="bibliography.mode">
793 <xsl:call-template name="common.html.attributes"/>
794 <xsl:apply-templates mode="bibliography.mode"/>
795 <xsl:copy-of select="$biblioentry.item.separator"/>
799 <xsl:template match="volumenum" mode="bibliography.mode">
801 <xsl:call-template name="common.html.attributes"/>
802 <xsl:apply-templates mode="bibliography.mode"/>
803 <xsl:copy-of select="$biblioentry.item.separator"/>
807 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
808 mode="bibliography.mode">
810 <xsl:call-template name="common.html.attributes"/>
811 <xsl:apply-templates mode="bibliography.mode"/>
812 <xsl:copy-of select="$biblioentry.item.separator"/>
816 <!-- See FR #1934434 and http://doi.org -->
817 <xsl:template match="biblioid[@class='doi']"
818 mode="bibliography.mode">
820 <xsl:call-template name="common.html.attributes"/>
821 <a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a>
825 <!-- ==================================================================== -->
827 <xsl:template match="*" mode="bibliomixed.mode">
828 <xsl:apply-templates select="."/><!-- try the default mode -->
831 <xsl:template match="abbrev" mode="bibliomixed.mode">
832 <xsl:if test="preceding-sibling::*">
833 <xsl:apply-templates mode="bibliomixed.mode"/>
837 <xsl:template match="abstract" mode="bibliomixed.mode">
839 <xsl:call-template name="common.html.attributes"/>
840 <xsl:apply-templates mode="bibliomixed.mode"/>
844 <xsl:template match="address" mode="bibliomixed.mode">
846 <xsl:call-template name="common.html.attributes"/>
847 <xsl:apply-templates mode="bibliomixed.mode"/>
851 <xsl:template match="affiliation" mode="bibliomixed.mode">
853 <xsl:call-template name="common.html.attributes"/>
854 <xsl:apply-templates mode="bibliomixed.mode"/>
858 <xsl:template match="shortaffil" mode="bibliomixed.mode">
860 <xsl:call-template name="common.html.attributes"/>
861 <xsl:apply-templates mode="bibliomixed.mode"/>
865 <xsl:template match="jobtitle" mode="bibliomixed.mode">
867 <xsl:call-template name="common.html.attributes"/>
868 <xsl:apply-templates mode="bibliomixed.mode"/>
872 <xsl:template match="artpagenums" mode="bibliomixed.mode">
874 <xsl:call-template name="common.html.attributes"/>
875 <xsl:apply-templates mode="bibliomixed.mode"/>
879 <xsl:template match="author" mode="bibliomixed.mode">
881 <xsl:call-template name="common.html.attributes"/>
882 <xsl:apply-templates mode="bibliomixed.mode"/>
886 <xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
888 <xsl:call-template name="common.html.attributes"/>
889 <xsl:apply-templates mode="bibliomixed.mode"/>
893 <xsl:template match="authorgroup" mode="bibliomixed.mode">
895 <xsl:call-template name="common.html.attributes"/>
896 <xsl:apply-templates mode="bibliomixed.mode"/>
900 <xsl:template match="authorinitials" mode="bibliomixed.mode">
902 <xsl:call-template name="common.html.attributes"/>
903 <xsl:apply-templates mode="bibliomixed.mode"/>
907 <xsl:template match="bibliomisc" mode="bibliomixed.mode">
909 <xsl:call-template name="common.html.attributes"/>
910 <xsl:apply-templates mode="bibliomixed.mode"/>
914 <!-- ================================================== -->
916 <xsl:template match="bibliomset" mode="bibliomixed.mode">
918 <xsl:call-template name="common.html.attributes"/>
919 <xsl:apply-templates mode="bibliomixed.mode"/>
923 <xsl:template match="bibliomset/title|bibliomset/citetitle"
924 mode="bibliomixed.mode">
925 <xsl:variable name="relation" select="../@relation"/>
927 <xsl:when test="$relation='article' or @pubwork='article'">
928 <xsl:call-template name="gentext.startquote"/>
929 <xsl:apply-templates/>
930 <xsl:call-template name="gentext.endquote"/>
933 <i><xsl:apply-templates/></i>
938 <!-- ================================================== -->
940 <xsl:template match="biblioset" mode="bibliomixed.mode">
942 <xsl:call-template name="common.html.attributes"/>
943 <xsl:apply-templates mode="bibliomixed.mode"/>
947 <xsl:template match="citetitle" mode="bibliomixed.mode">
949 <xsl:call-template name="common.html.attributes"/>
951 <xsl:when test="@pubwork = 'article'">
952 <xsl:call-template name="gentext.startquote"/>
953 <xsl:call-template name="inline.charseq"/>
954 <xsl:call-template name="gentext.endquote"/>
957 <xsl:call-template name="inline.italicseq"/>
964 <xsl:template match="collab" mode="bibliomixed.mode">
966 <xsl:call-template name="common.html.attributes"/>
967 <xsl:apply-templates mode="bibliomixed.mode"/>
971 <xsl:template match="confgroup" mode="bibliomixed.mode">
973 <xsl:call-template name="common.html.attributes"/>
974 <xsl:apply-templates mode="bibliomixed.mode"/>
978 <xsl:template match="contractnum" mode="bibliomixed.mode">
980 <xsl:call-template name="common.html.attributes"/>
981 <xsl:apply-templates mode="bibliomixed.mode"/>
985 <xsl:template match="contractsponsor" mode="bibliomixed.mode">
987 <xsl:call-template name="common.html.attributes"/>
988 <xsl:apply-templates mode="bibliomixed.mode"/>
992 <xsl:template match="contrib" mode="bibliomixed.mode">
994 <xsl:call-template name="common.html.attributes"/>
995 <xsl:apply-templates mode="bibliomixed.mode"/>
999 <xsl:template match="copyright" mode="bibliomixed.mode">
1001 <xsl:call-template name="common.html.attributes"/>
1002 <xsl:apply-templates mode="bibliomixed.mode"/>
1006 <xsl:template match="corpauthor" mode="bibliomixed.mode">
1008 <xsl:call-template name="common.html.attributes"/>
1009 <xsl:apply-templates mode="bibliomixed.mode"/>
1013 <xsl:template match="corpcredit" mode="bibliomixed.mode">
1015 <xsl:call-template name="common.html.attributes"/>
1016 <xsl:apply-templates mode="bibliomixed.mode"/>
1020 <xsl:template match="corpname" mode="bibliomixed.mode">
1022 <xsl:call-template name="common.html.attributes"/>
1023 <xsl:apply-templates mode="bibliomixed.mode"/>
1027 <xsl:template match="date" mode="bibliomixed.mode">
1029 <xsl:call-template name="common.html.attributes"/>
1030 <xsl:apply-templates mode="bibliomixed.mode"/>
1034 <xsl:template match="edition" mode="bibliomixed.mode">
1036 <xsl:call-template name="common.html.attributes"/>
1037 <xsl:apply-templates mode="bibliomixed.mode"/>
1041 <xsl:template match="editor" mode="bibliomixed.mode">
1043 <xsl:call-template name="common.html.attributes"/>
1044 <xsl:apply-templates mode="bibliomixed.mode"/>
1048 <xsl:template match="firstname" mode="bibliomixed.mode">
1050 <xsl:call-template name="common.html.attributes"/>
1051 <xsl:apply-templates mode="bibliomixed.mode"/>
1055 <xsl:template match="honorific" mode="bibliomixed.mode">
1057 <xsl:call-template name="common.html.attributes"/>
1058 <xsl:apply-templates mode="bibliomixed.mode"/>
1062 <xsl:template match="indexterm" mode="bibliomixed.mode">
1064 <xsl:call-template name="common.html.attributes"/>
1065 <xsl:apply-templates mode="bibliomixed.mode"/>
1069 <xsl:template match="invpartnumber" mode="bibliomixed.mode">
1071 <xsl:call-template name="common.html.attributes"/>
1072 <xsl:apply-templates mode="bibliomixed.mode"/>
1076 <xsl:template match="isbn" mode="bibliomixed.mode">
1078 <xsl:call-template name="common.html.attributes"/>
1079 <xsl:apply-templates mode="bibliomixed.mode"/>
1083 <xsl:template match="issn" mode="bibliomixed.mode">
1085 <xsl:call-template name="common.html.attributes"/>
1086 <xsl:apply-templates mode="bibliomixed.mode"/>
1090 <xsl:template match="issuenum" mode="bibliomixed.mode">
1092 <xsl:call-template name="common.html.attributes"/>
1093 <xsl:apply-templates mode="bibliomixed.mode"/>
1097 <xsl:template match="lineage" mode="bibliomixed.mode">
1099 <xsl:call-template name="common.html.attributes"/>
1100 <xsl:apply-templates mode="bibliomixed.mode"/>
1104 <xsl:template match="orgname" mode="bibliomixed.mode">
1106 <xsl:call-template name="common.html.attributes"/>
1107 <xsl:apply-templates mode="bibliomixed.mode"/>
1111 <xsl:template match="othercredit" mode="bibliomixed.mode">
1113 <xsl:call-template name="common.html.attributes"/>
1114 <xsl:apply-templates mode="bibliomixed.mode"/>
1118 <xsl:template match="othername" mode="bibliomixed.mode">
1120 <xsl:call-template name="common.html.attributes"/>
1121 <xsl:apply-templates mode="bibliomixed.mode"/>
1125 <xsl:template match="pagenums" mode="bibliomixed.mode">
1127 <xsl:call-template name="common.html.attributes"/>
1128 <xsl:apply-templates mode="bibliomixed.mode"/>
1132 <xsl:template match="printhistory" mode="bibliomixed.mode">
1134 <xsl:call-template name="common.html.attributes"/>
1135 <xsl:apply-templates mode="bibliomixed.mode"/>
1139 <xsl:template match="productname" mode="bibliomixed.mode">
1141 <xsl:call-template name="common.html.attributes"/>
1142 <xsl:apply-templates mode="bibliomixed.mode"/>
1146 <xsl:template match="productnumber" mode="bibliomixed.mode">
1148 <xsl:call-template name="common.html.attributes"/>
1149 <xsl:apply-templates mode="bibliomixed.mode"/>
1153 <xsl:template match="pubdate" mode="bibliomixed.mode">
1155 <xsl:call-template name="common.html.attributes"/>
1156 <xsl:apply-templates mode="bibliomixed.mode"/>
1160 <xsl:template match="publisher" mode="bibliomixed.mode">
1162 <xsl:call-template name="common.html.attributes"/>
1163 <xsl:apply-templates mode="bibliomixed.mode"/>
1167 <xsl:template match="publishername" mode="bibliomixed.mode">
1169 <xsl:call-template name="common.html.attributes"/>
1170 <xsl:apply-templates mode="bibliomixed.mode"/>
1174 <xsl:template match="pubsnumber" mode="bibliomixed.mode">
1176 <xsl:call-template name="common.html.attributes"/>
1177 <xsl:apply-templates mode="bibliomixed.mode"/>
1181 <xsl:template match="releaseinfo" mode="bibliomixed.mode">
1183 <xsl:call-template name="common.html.attributes"/>
1184 <xsl:apply-templates mode="bibliomixed.mode"/>
1188 <xsl:template match="revhistory" mode="bibliomixed.mode">
1189 <!-- suppressed; how could this be represented? -->
1192 <xsl:template match="seriesvolnums" mode="bibliomixed.mode">
1194 <xsl:call-template name="common.html.attributes"/>
1195 <xsl:apply-templates mode="bibliomixed.mode"/>
1199 <xsl:template match="subtitle" mode="bibliomixed.mode">
1201 <xsl:call-template name="common.html.attributes"/>
1202 <xsl:apply-templates mode="bibliomixed.mode"/>
1206 <xsl:template match="surname" mode="bibliomixed.mode">
1208 <xsl:call-template name="common.html.attributes"/>
1209 <xsl:apply-templates mode="bibliomixed.mode"/>
1213 <xsl:template match="title" mode="bibliomixed.mode">
1215 <xsl:call-template name="common.html.attributes"/>
1216 <xsl:apply-templates mode="bibliomixed.mode"/>
1220 <xsl:template match="titleabbrev" mode="bibliomixed.mode">
1222 <xsl:call-template name="common.html.attributes"/>
1223 <xsl:apply-templates mode="bibliomixed.mode"/>
1227 <xsl:template match="volumenum" mode="bibliomixed.mode">
1229 <xsl:call-template name="common.html.attributes"/>
1230 <xsl:apply-templates mode="bibliomixed.mode"/>
1234 <xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
1235 mode="bibliomixed.mode">
1237 <xsl:call-template name="common.html.attributes"/>
1238 <xsl:apply-templates mode="bibliomixed.mode"/>
1242 <!-- See FR #1934434 and http://doi.org -->
1243 <xsl:template match="biblioid[@class='doi']"
1244 mode="bibliomixed.mode">
1246 <xsl:call-template name="common.html.attributes"/>
1247 <a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a>
1251 <!-- ==================================================================== -->