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: titlepage.xsl,v 1.41 2006/05/21 13:05:19 kosek 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:attribute-set name="book.titlepage.recto.style"> 19 <xsl:attribute name="font-family"> 20 <xsl:value-of select="$title.fontset"/> 21 </xsl:attribute> 22 <xsl:attribute name="font-weight">bold</xsl:attribute> 23 <xsl:attribute name="font-size">12pt</xsl:attribute> 24 <xsl:attribute name="text-align">center</xsl:attribute> 25</xsl:attribute-set> 26 27<xsl:attribute-set name="book.titlepage.verso.style"> 28 <xsl:attribute name="font-size">10pt</xsl:attribute> 29</xsl:attribute-set> 30 31<xsl:attribute-set name="article.titlepage.recto.style"/> 32<xsl:attribute-set name="article.titlepage.verso.style"/> 33 34<xsl:attribute-set name="set.titlepage.recto.style"/> 35<xsl:attribute-set name="set.titlepage.verso.style"/> 36 37<xsl:attribute-set name="part.titlepage.recto.style"> 38 <xsl:attribute name="text-align">center</xsl:attribute> 39</xsl:attribute-set> 40 41<xsl:attribute-set name="part.titlepage.verso.style"/> 42 43<xsl:attribute-set name="partintro.titlepage.recto.style"/> 44<xsl:attribute-set name="partintro.titlepage.verso.style"/> 45 46<xsl:attribute-set name="reference.titlepage.recto.style"/> 47<xsl:attribute-set name="reference.titlepage.verso.style"/> 48 49<xsl:attribute-set name="dedication.titlepage.recto.style"/> 50<xsl:attribute-set name="dedication.titlepage.verso.style"/> 51 52<xsl:attribute-set name="preface.titlepage.recto.style"/> 53<xsl:attribute-set name="preface.titlepage.verso.style"/> 54 55<xsl:attribute-set name="chapter.titlepage.recto.style"/> 56<xsl:attribute-set name="chapter.titlepage.verso.style"/> 57 58<xsl:attribute-set name="appendix.titlepage.recto.style"/> 59<xsl:attribute-set name="appendix.titlepage.verso.style"/> 60 61<xsl:attribute-set name="bibliography.titlepage.recto.style"/> 62<xsl:attribute-set name="bibliography.titlepage.verso.style"/> 63 64<xsl:attribute-set name="bibliodiv.titlepage.recto.style"/> 65<xsl:attribute-set name="bibliodiv.titlepage.verso.style"/> 66 67<xsl:attribute-set name="glossary.titlepage.recto.style"/> 68<xsl:attribute-set name="glossary.titlepage.verso.style"/> 69 70<xsl:attribute-set name="glossdiv.titlepage.recto.style"/> 71<xsl:attribute-set name="glossdiv.titlepage.verso.style"/> 72 73<xsl:attribute-set name="index.titlepage.recto.style"/> 74<xsl:attribute-set name="index.titlepage.verso.style"/> 75 76<xsl:attribute-set name="setindex.titlepage.recto.style"/> 77<xsl:attribute-set name="setindex.titlepage.verso.style"/> 78 79<xsl:attribute-set name="indexdiv.titlepage.recto.style"/> 80<xsl:attribute-set name="indexdiv.titlepage.verso.style"/> 81 82<xsl:attribute-set name="colophon.titlepage.recto.style"/> 83<xsl:attribute-set name="colophon.titlepage.verso.style"/> 84 85<xsl:attribute-set name="sidebar.titlepage.recto.style"/> 86<xsl:attribute-set name="sidebar.titlepage.verso.style"/> 87 88<xsl:attribute-set name="qandaset.titlepage.recto.style"/> 89<xsl:attribute-set name="qandaset.titlepage.verso.style"/> 90 91<xsl:attribute-set name="section.titlepage.recto.style"> 92 <xsl:attribute name="keep-together.within-column">always</xsl:attribute> 93</xsl:attribute-set> 94 95<xsl:attribute-set name="section.titlepage.verso.style"> 96 <xsl:attribute name="keep-together.within-column">always</xsl:attribute> 97 <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> 98</xsl:attribute-set> 99 100<xsl:attribute-set name="sect1.titlepage.recto.style" 101 use-attribute-sets="section.titlepage.recto.style"/> 102<xsl:attribute-set name="sect1.titlepage.verso.style" 103 use-attribute-sets="section.titlepage.verso.style"/> 104 105<xsl:attribute-set name="sect2.titlepage.recto.style" 106 use-attribute-sets="section.titlepage.recto.style"/> 107<xsl:attribute-set name="sect2.titlepage.verso.style" 108 use-attribute-sets="section.titlepage.verso.style"/> 109 110<xsl:attribute-set name="sect3.titlepage.recto.style" 111 use-attribute-sets="section.titlepage.recto.style"/> 112<xsl:attribute-set name="sect3.titlepage.verso.style" 113 use-attribute-sets="section.titlepage.verso.style"/> 114 115<xsl:attribute-set name="sect4.titlepage.recto.style" 116 use-attribute-sets="section.titlepage.recto.style"/> 117<xsl:attribute-set name="sect4.titlepage.verso.style" 118 use-attribute-sets="section.titlepage.verso.style"/> 119 120<xsl:attribute-set name="sect5.titlepage.recto.style" 121 use-attribute-sets="section.titlepage.recto.style"/> 122<xsl:attribute-set name="sect5.titlepage.verso.style" 123 use-attribute-sets="section.titlepage.verso.style"/> 124 125<xsl:attribute-set name="simplesect.titlepage.recto.style" 126 use-attribute-sets="section.titlepage.recto.style"/> 127<xsl:attribute-set name="simplesect.titlepage.verso.style" 128 use-attribute-sets="section.titlepage.verso.style"/> 129 130<xsl:attribute-set name="refnamediv.titlepage.recto.style" 131 use-attribute-sets="section.titlepage.recto.style"/> 132<xsl:attribute-set name="refnamediv.titlepage.verso.style" 133 use-attribute-sets="section.titlepage.verso.style"/> 134 135<xsl:attribute-set name="refsynopsisdiv.titlepage.recto.style" 136 use-attribute-sets="section.titlepage.recto.style"/> 137<xsl:attribute-set name="refsynopsisdiv.titlepage.verso.style" 138 use-attribute-sets="section.titlepage.verso.style"/> 139 140<xsl:attribute-set name="refsection.titlepage.recto.style" 141 use-attribute-sets="section.titlepage.recto.style"/> 142<xsl:attribute-set name="refsection.titlepage.verso.style" 143 use-attribute-sets="section.titlepage.verso.style"/> 144 145<xsl:attribute-set name="refsect1.titlepage.recto.style" 146 use-attribute-sets="section.titlepage.recto.style"/> 147<xsl:attribute-set name="refsect1.titlepage.verso.style" 148 use-attribute-sets="section.titlepage.verso.style"/> 149 150<xsl:attribute-set name="refsect2.titlepage.recto.style" 151 use-attribute-sets="section.titlepage.recto.style"/> 152<xsl:attribute-set name="refsect2.titlepage.verso.style" 153 use-attribute-sets="section.titlepage.verso.style"/> 154 155<xsl:attribute-set name="refsect3.titlepage.recto.style" 156 use-attribute-sets="section.titlepage.recto.style"/> 157<xsl:attribute-set name="refsect3.titlepage.verso.style" 158 use-attribute-sets="section.titlepage.verso.style"/> 159 160<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> 161<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> 162 163<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> 164<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> 165 166<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> 167<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> 168 169<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> 170<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> 171 172<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> 173<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> 174 175<xsl:attribute-set name="list.of.procedures.titlepage.recto.style"/> 176<xsl:attribute-set name="list.of.procedures.contents.titlepage.verso.style"/> 177 178<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> 179<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> 180 181<!-- ==================================================================== --> 182 183<xsl:template match="*" mode="titlepage.mode"> 184 <!-- if an element isn't found in this mode, try the default mode --> 185 <xsl:apply-templates select="."/> 186</xsl:template> 187 188<xsl:template match="abbrev" mode="titlepage.mode"> 189 <xsl:apply-templates mode="titlepage.mode"/> 190</xsl:template> 191 192<xsl:template match="abstract" mode="titlepage.mode"> 193 <fo:block> 194 <xsl:call-template name="formal.object.heading"> 195 <xsl:with-param name="title"> 196 <xsl:apply-templates select="." mode="title.markup"/> 197 </xsl:with-param> 198 </xsl:call-template> 199 <xsl:apply-templates mode="titlepage.mode"/> 200 </fo:block> 201</xsl:template> 202 203<xsl:template match="abstract/title" mode="titlepage.mode"/> 204 205<xsl:template match="abstract/title" mode="titlepage.abstract.title.mode"> 206 <xsl:apply-templates mode="titlepage.mode"/> 207</xsl:template> 208 209<xsl:template match="address" mode="titlepage.mode"> 210 <!-- use the normal address handling code --> 211 <xsl:apply-templates select="."/> 212</xsl:template> 213 214<xsl:template match="affiliation" mode="titlepage.mode"> 215 <fo:block> 216 <xsl:apply-templates mode="titlepage.mode"/> 217 </fo:block> 218</xsl:template> 219 220<xsl:template match="artpagenums" mode="titlepage.mode"> 221 <xsl:apply-templates mode="titlepage.mode"/> 222</xsl:template> 223 224<xsl:template match="author" mode="titlepage.mode"> 225 <fo:block> 226 <xsl:call-template name="anchor"/> 227 <xsl:call-template name="person.name"/> 228 <xsl:if test="affiliation/orgname"> 229 <xsl:text>, </xsl:text> 230 <xsl:apply-templates select="affiliation/orgname" mode="titlepage.mode"/> 231 </xsl:if> 232 <xsl:if test="email|affiliation/address/email"> 233 <xsl:text> </xsl:text> 234 <xsl:apply-templates select="(email|affiliation/address/email)[1]"/> 235 </xsl:if> 236 </fo:block> 237</xsl:template> 238 239<xsl:template match="authorblurb" mode="titlepage.mode"> 240 <xsl:apply-templates mode="titlepage.mode"/> 241</xsl:template> 242 243<xsl:template match="authorgroup" mode="titlepage.mode"> 244 <fo:wrapper> 245 <xsl:if test="@id"> 246 <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> 247 </xsl:if> 248 <xsl:apply-templates mode="titlepage.mode"/> 249 </fo:wrapper> 250</xsl:template> 251 252<xsl:template match="authorinitials" mode="titlepage.mode"> 253 <xsl:apply-templates mode="titlepage.mode"/> 254</xsl:template> 255 256<xsl:template match="bibliomisc" mode="titlepage.mode"> 257 <xsl:apply-templates mode="titlepage.mode"/> 258</xsl:template> 259 260<xsl:template match="bibliomset" mode="titlepage.mode"> 261 <xsl:apply-templates mode="titlepage.mode"/> 262</xsl:template> 263 264<xsl:template match="collab" mode="titlepage.mode"> 265 <xsl:apply-templates mode="titlepage.mode"/> 266</xsl:template> 267 268<xsl:template match="confgroup" mode="titlepage.mode"> 269 <fo:block> 270 <xsl:apply-templates mode="titlepage.mode"/> 271 </fo:block> 272</xsl:template> 273 274<xsl:template match="confdates" mode="titlepage.mode"> 275 <fo:block> 276 <xsl:apply-templates mode="titlepage.mode"/> 277 </fo:block> 278</xsl:template> 279 280<xsl:template match="conftitle" mode="titlepage.mode"> 281 <fo:block> 282 <xsl:apply-templates mode="titlepage.mode"/> 283 </fo:block> 284</xsl:template> 285 286<xsl:template match="confnum" mode="titlepage.mode"> 287 <!-- suppress --> 288</xsl:template> 289 290<xsl:template match="contractnum" mode="titlepage.mode"> 291 <xsl:apply-templates mode="titlepage.mode"/> 292</xsl:template> 293 294<xsl:template match="contractsponsor" mode="titlepage.mode"> 295 <xsl:apply-templates mode="titlepage.mode"/> 296</xsl:template> 297 298<xsl:template match="contrib" mode="titlepage.mode"> 299 <xsl:apply-templates mode="titlepage.mode"/> 300</xsl:template> 301 302<xsl:template match="copyright" mode="titlepage.mode"> 303 <xsl:call-template name="gentext"> 304 <xsl:with-param name="key" select="'Copyright'"/> 305 </xsl:call-template> 306 <xsl:call-template name="gentext.space"/> 307 <xsl:call-template name="dingbat"> 308 <xsl:with-param name="dingbat">copyright</xsl:with-param> 309 </xsl:call-template> 310 <xsl:call-template name="gentext.space"/> 311 <xsl:call-template name="copyright.years"> 312 <xsl:with-param name="years" select="year"/> 313 <xsl:with-param name="print.ranges" select="$make.year.ranges"/> 314 <xsl:with-param name="single.year.ranges" 315 select="$make.single.year.ranges"/> 316 </xsl:call-template> 317 <xsl:call-template name="gentext.space"/> 318 <xsl:apply-templates select="holder" mode="titlepage.mode"/> 319</xsl:template> 320 321<xsl:template match="year" mode="titlepage.mode"> 322 <xsl:apply-templates/> 323</xsl:template> 324 325<xsl:template match="holder" mode="titlepage.mode"> 326 <xsl:apply-templates/> 327</xsl:template> 328 329<xsl:template match="corpauthor" mode="titlepage.mode"> 330 <xsl:apply-templates mode="titlepage.mode"/> 331</xsl:template> 332 333<xsl:template match="corpcredit" mode="titlepage.mode"> 334 <xsl:apply-templates mode="titlepage.mode"/> 335</xsl:template> 336 337<xsl:template match="corpname" mode="titlepage.mode"> 338 <xsl:apply-templates mode="titlepage.mode"/> 339</xsl:template> 340 341<xsl:template match="date" mode="titlepage.mode"> 342 <xsl:apply-templates mode="titlepage.mode"/> 343</xsl:template> 344 345<xsl:template match="edition" mode="titlepage.mode"> 346 <xsl:apply-templates mode="titlepage.mode"/> 347 <xsl:call-template name="gentext.space"/> 348 <xsl:call-template name="gentext"> 349 <xsl:with-param name="key" select="'Edition'"/> 350 </xsl:call-template> 351</xsl:template> 352 353<xsl:template match="editor" mode="titlepage.mode"> 354 <!-- The first editor is dealt with in the following template, 355 which in turn displays all editors of the same mode. --> 356</xsl:template> 357 358<xsl:template match="editor[1]" priority="2" mode="titlepage.mode"> 359 <xsl:call-template name="gentext.edited.by"/> 360 <xsl:call-template name="gentext.space"/> 361 <xsl:call-template name="person.name.list"> 362 <xsl:with-param name="person.list" select="/editor"/> 363 </xsl:call-template> 364</xsl:template> 365 366<xsl:template match="firstname" mode="titlepage.mode"> 367 <xsl:apply-templates mode="titlepage.mode"/> 368</xsl:template> 369 370<xsl:template match="graphic" mode="titlepage.mode"> 371 <!-- use the normal graphic handling code --> 372 <xsl:apply-templates select="."/> 373</xsl:template> 374 375<xsl:template match="honorific" mode="titlepage.mode"> 376 <xsl:apply-templates mode="titlepage.mode"/> 377</xsl:template> 378 379<xsl:template match="isbn" mode="titlepage.mode"> 380 <xsl:apply-templates mode="titlepage.mode"/> 381</xsl:template> 382 383<xsl:template match="issn" mode="titlepage.mode"> 384 <xsl:apply-templates mode="titlepage.mode"/> 385</xsl:template> 386 387<xsl:template match="biblioid" mode="titlepage.mode"> 388 <xsl:apply-templates mode="titlepage.mode"/> 389</xsl:template> 390 391<xsl:template match="itermset" mode="titlepage.mode"> 392 <!-- discard --> 393</xsl:template> 394 395<xsl:template match="invpartnumber" mode="titlepage.mode"> 396 <xsl:apply-templates mode="titlepage.mode"/> 397</xsl:template> 398 399<xsl:template match="issuenum" mode="titlepage.mode"> 400 <xsl:apply-templates mode="titlepage.mode"/> 401</xsl:template> 402 403<xsl:template match="jobtitle" mode="titlepage.mode"> 404 <fo:block> 405 <xsl:apply-templates mode="titlepage.mode"/> 406 </fo:block> 407</xsl:template> 408 409<xsl:template match="keywordset" mode="titlepage.mode"> 410</xsl:template> 411 412<xsl:template match="legalnotice" mode="titlepage.mode"> 413 414 <xsl:variable name="id"> 415 <xsl:call-template name="object.id"/> 416 </xsl:variable> 417 418 <fo:block id="{$id}"> 419 <xsl:if test="title"> <!-- FIXME: add param for using default title? --> 420 <xsl:call-template name="formal.object.heading"/> 421 </xsl:if> 422 <xsl:apply-templates mode="titlepage.mode"/> 423 </fo:block> 424</xsl:template> 425 426<xsl:template match="legalnotice/title" mode="titlepage.mode"> 427</xsl:template> 428 429<xsl:template match="lineage" mode="titlepage.mode"> 430 <xsl:apply-templates mode="titlepage.mode"/> 431</xsl:template> 432 433<xsl:template match="modespec" mode="titlepage.mode"> 434 <!-- discard --> 435</xsl:template> 436 437<xsl:template match="orgdiv" mode="titlepage.mode"> 438 <xsl:apply-templates mode="titlepage.mode"/> 439</xsl:template> 440 441<xsl:template match="orgname" mode="titlepage.mode"> 442 <xsl:apply-templates mode="titlepage.mode"/> 443</xsl:template> 444 445<xsl:template match="othercredit" mode="titlepage.mode"> 446 <xsl:variable name="contrib" select="string(contrib)"/> 447 <xsl:choose> 448 <xsl:when test="contrib"> 449 <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])"> 450 <fo:block> 451 <xsl:apply-templates mode="titlepage.mode" select="contrib"/> 452 <xsl:text>: </xsl:text> 453 <xsl:call-template name="person.name"/> 454 <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> 455 <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/> 456 </fo:block> 457 </xsl:if> 458 </xsl:when> 459 <xsl:otherwise> 460 <fo:block><xsl:call-template name="person.name"/></fo:block> 461 <xsl:apply-templates mode="titlepage.mode" select="/affiliation"/> 462 </xsl:otherwise> 463 </xsl:choose> 464</xsl:template> 465 466<xsl:template match="othercredit" mode="titlepage.othercredits"> 467 <xsl:text>, </xsl:text> 468 <xsl:call-template name="person.name"/> 469</xsl:template> 470 471<xsl:template match="othername" mode="titlepage.mode"> 472 <xsl:apply-templates mode="titlepage.mode"/> 473</xsl:template> 474 475<xsl:template match="pagenums" mode="titlepage.mode"> 476 <xsl:apply-templates mode="titlepage.mode"/> 477</xsl:template> 478 479<xsl:template match="printhistory" mode="titlepage.mode"> 480 <xsl:apply-templates mode="titlepage.mode"/> 481</xsl:template> 482 483<xsl:template match="productname" mode="titlepage.mode"> 484 <xsl:apply-templates mode="titlepage.mode"/> 485</xsl:template> 486 487<xsl:template match="productnumber" mode="titlepage.mode"> 488 <xsl:apply-templates mode="titlepage.mode"/> 489</xsl:template> 490 491<xsl:template match="pubdate" mode="titlepage.mode"> 492 <xsl:apply-templates mode="titlepage.mode"/> 493</xsl:template> 494 495<xsl:template match="publisher" mode="titlepage.mode"> 496 <fo:block> 497 <xsl:apply-templates mode="titlepage.mode"/> 498 </fo:block> 499</xsl:template> 500 501<xsl:template match="publishername" mode="titlepage.mode"> 502 <xsl:apply-templates mode="titlepage.mode"/> 503</xsl:template> 504 505<xsl:template match="pubsnumber" mode="titlepage.mode"> 506 <xsl:apply-templates mode="titlepage.mode"/> 507</xsl:template> 508 509<xsl:template match="releaseinfo" mode="titlepage.mode"> 510 <xsl:apply-templates mode="titlepage.mode"/> 511</xsl:template> 512 513<xsl:template match="revhistory" mode="titlepage.mode"> 514 515 <xsl:variable name="explicit.table.width"> 516 <xsl:call-template name="dbfo-attribute"> 517 <xsl:with-param name="pis" 518 select="processing-instruction('dbfo')"/> 519 <xsl:with-param name="attribute" select="'table-width'"/> 520 </xsl:call-template> 521 </xsl:variable> 522 523 <xsl:variable name="table.width"> 524 <xsl:choose> 525 <xsl:when test="$explicit.table.width != ''"> 526 <xsl:value-of select="$explicit.table.width"/> 527 </xsl:when> 528 <xsl:when test="$default.table.width = ''"> 529 <xsl:text>100%</xsl:text> 530 </xsl:when> 531 <xsl:otherwise> 532 <xsl:value-of select="$default.table.width"/> 533 </xsl:otherwise> 534 </xsl:choose> 535 </xsl:variable> 536 537 <fo:table table-layout="fixed" width="{$table.width}" xsl:use-attribute-sets="revhistory.table.properties"> 538 <fo:table-column column-number="1" column-width="proportional-column-width(1)"/> 539 <fo:table-column column-number="2" column-width="proportional-column-width(1)"/> 540 <fo:table-column column-number="3" column-width="proportional-column-width(1)"/> 541 <fo:table-body start-indent="0pt" end-indent="0pt"> 542 <fo:table-row> 543 <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties"> 544 <fo:block xsl:use-attribute-sets="revhistory.title.properties"> 545 <xsl:call-template name="gentext"> 546 <xsl:with-param name="key" select="'RevHistory'"/> 547 </xsl:call-template> 548 </fo:block> 549 </fo:table-cell> 550 </fo:table-row> 551 <xsl:apply-templates mode="titlepage.mode"/> 552 </fo:table-body> 553 </fo:table> 554</xsl:template> 555 556<xsl:template match="revhistory/revision" mode="titlepage.mode"> 557 <xsl:variable name="revnumber" select="revnumber"/> 558 <xsl:variable name="revdate" select="date"/> 559 <xsl:variable name="revauthor" select="authorinitials|author"/> 560 <xsl:variable name="revremark" select="revremark|revdescription"/> 561 <fo:table-row> 562 <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> 563 <fo:block> 564 <xsl:if test="$revnumber"> 565 <xsl:call-template name="gentext"> 566 <xsl:with-param name="key" select="'Revision'"/> 567 </xsl:call-template> 568 <xsl:call-template name="gentext.space"/> 569 <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> 570 </xsl:if> 571 </fo:block> 572 </fo:table-cell> 573 <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> 574 <fo:block> 575 <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> 576 </fo:block> 577 </fo:table-cell> 578 <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> 579 <fo:block> 580 <xsl:for-each select="$revauthor"> 581 <xsl:apply-templates select="." mode="titlepage.mode"/> 582 <xsl:if test="position() != last()"> 583 <xsl:text>, </xsl:text> 584 </xsl:if> 585 </xsl:for-each> 586 </fo:block> 587 </fo:table-cell> 588 </fo:table-row> 589 <xsl:if test="$revremark"> 590 <fo:table-row> 591 <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties"> 592 <fo:block> 593 <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> 594 </fo:block> 595 </fo:table-cell> 596 </fo:table-row> 597 </xsl:if> 598</xsl:template> 599 600<xsl:template match="revision/revnumber" mode="titlepage.mode"> 601 <xsl:apply-templates mode="titlepage.mode"/> 602</xsl:template> 603 604<xsl:template match="revision/date" mode="titlepage.mode"> 605 <xsl:apply-templates mode="titlepage.mode"/> 606</xsl:template> 607 608<xsl:template match="revision/authorinitials" mode="titlepage.mode"> 609 <xsl:apply-templates mode="titlepage.mode"/> 610</xsl:template> 611 612<xsl:template match="revision/author" mode="titlepage.mode"> 613 <xsl:apply-templates mode="titlepage.mode"/> 614</xsl:template> 615 616<xsl:template match="revision/revremark" mode="titlepage.mode"> 617 <xsl:apply-templates mode="titlepage.mode"/> 618</xsl:template> 619 620<xsl:template match="revision/revdescription" mode="titlepage.mode"> 621 <xsl:apply-templates mode="titlepage.mode"/> 622</xsl:template> 623 624<xsl:template match="seriesvolnums" mode="titlepage.mode"> 625 <xsl:apply-templates mode="titlepage.mode"/> 626</xsl:template> 627 628<xsl:template match="shortaffil" mode="titlepage.mode"> 629 <xsl:apply-templates mode="titlepage.mode"/> 630</xsl:template> 631 632<xsl:template match="subjectset" mode="titlepage.mode"> 633 <!-- discard --> 634</xsl:template> 635 636<xsl:template match="subtitle" mode="titlepage.mode"> 637 <xsl:apply-templates mode="titlepage.mode"/> 638</xsl:template> 639 640<xsl:template match="surname" mode="titlepage.mode"> 641 <xsl:apply-templates mode="titlepage.mode"/> 642</xsl:template> 643 644<xsl:template match="title" mode="titlepage.mode"> 645 <xsl:apply-templates mode="titlepage.mode"/> 646</xsl:template> 647 648<xsl:template match="titleabbrev" mode="titlepage.mode"> 649 <xsl:apply-templates mode="titlepage.mode"/> 650</xsl:template> 651 652<xsl:template match="volumenum" mode="titlepage.mode"> 653 <xsl:apply-templates mode="titlepage.mode"/> 654</xsl:template> 655 656<!-- ==================================================================== --> 657<!-- Book templates --> 658 659<!-- Note: these templates cannot use *.titlepage.recto.mode or 660 *.titlepage.verso.mode. If they do then subsequent use of a custom 661 titlepage.templates.xml file will not work correctly. --> 662 663<!-- book recto --> 664 665<xsl:template match="bookinfo/authorgroup|info/authorgroup" 666 mode="titlepage.mode" priority="2"> 667 <fo:block> 668 <xsl:if test="@id"> 669 <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> 670 </xsl:if> 671 <xsl:apply-templates mode="titlepage.mode"/> 672 </fo:block> 673</xsl:template> 674 675<!-- book verso --> 676 677<xsl:template name="book.verso.title"> 678 <fo:block> 679 <xsl:apply-templates mode="titlepage.mode"/> 680 681 <xsl:if test="following-sibling::subtitle 682 |following-sibling::info/subtitle 683 |following-sibling::bookinfo/subtitle"> 684 <xsl:text>: </xsl:text> 685 686 <xsl:apply-templates select="(following-sibling::subtitle 687 |following-sibling::info/subtitle 688 |following-sibling::bookinfo/subtitle)[1]" 689 mode="book.verso.subtitle.mode"/> 690 </xsl:if> 691 </fo:block> 692</xsl:template> 693 694<xsl:template match="subtitle" mode="book.verso.subtitle.mode"> 695 <xsl:apply-templates mode="titlepage.mode"/> 696 <xsl:if test="following-sibling::subtitle"> 697 <xsl:text>: </xsl:text> 698 <xsl:apply-templates select="following-sibling::subtitle[1]" 699 mode="book.verso.subtitle.mode"/> 700 </xsl:if> 701</xsl:template> 702 703<xsl:template name="verso.authorgroup"> 704 <fo:block> 705 <xsl:call-template name="gentext"> 706 <xsl:with-param name="key" select="'by'"/> 707 </xsl:call-template> 708 <xsl:text> </xsl:text> 709 <xsl:call-template name="person.name.list"> 710 <xsl:with-param name="person.list" select="author|corpauthor|editor"/> 711 </xsl:call-template> 712 </fo:block> 713 <xsl:apply-templates select="othercredit" mode="titlepage.mode"/> 714</xsl:template> 715 716<xsl:template match="bookinfo/author|info/author" 717 mode="titlepage.mode" priority="2"> 718 <fo:block> 719 <xsl:call-template name="person.name"/> 720 </fo:block> 721</xsl:template> 722 723<xsl:template match="bookinfo/corpauthor|info/corpauthor" 724 mode="titlepage.mode" priority="2"> 725 <fo:block> 726 <xsl:apply-templates/> 727 </fo:block> 728</xsl:template> 729 730<xsl:template match="bookinfo/pubdate|info/pubdate" 731 mode="titlepage.mode" priority="2"> 732 <fo:block> 733 <xsl:call-template name="gentext"> 734 <xsl:with-param name="key" select="'published'"/> 735 </xsl:call-template> 736 <xsl:text> </xsl:text> 737 <xsl:apply-templates mode="titlepage.mode"/> 738 </fo:block> 739</xsl:template> 740 741<!-- ==================================================================== --> 742 743</xsl:stylesheet> 744