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