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$ 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.font.family"/> 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="glossary.titlepage.recto.style"/> 65<xsl:attribute-set name="glossary.titlepage.verso.style"/> 66 67<xsl:attribute-set name="index.titlepage.recto.style"/> 68<xsl:attribute-set name="index.titlepage.verso.style"/> 69 70<xsl:attribute-set name="section.titlepage.recto.style"/> 71<xsl:attribute-set name="section.titlepage.verso.style"/> 72 73<xsl:attribute-set name="sect1.titlepage.recto.style" 74 use-attribute-sets="section.titlepage.recto.style"/> 75<xsl:attribute-set name="sect1.titlepage.verso.style" 76 use-attribute-sets="section.titlepage.verso.style"/> 77 78<xsl:attribute-set name="sect2.titlepage.recto.style" 79 use-attribute-sets="section.titlepage.recto.style"/> 80<xsl:attribute-set name="sect2.titlepage.verso.style" 81 use-attribute-sets="section.titlepage.verso.style"/> 82 83<xsl:attribute-set name="sect3.titlepage.recto.style" 84 use-attribute-sets="section.titlepage.recto.style"/> 85<xsl:attribute-set name="sect3.titlepage.verso.style" 86 use-attribute-sets="section.titlepage.verso.style"/> 87 88<xsl:attribute-set name="sect4.titlepage.recto.style" 89 use-attribute-sets="section.titlepage.recto.style"/> 90<xsl:attribute-set name="sect4.titlepage.verso.style" 91 use-attribute-sets="section.titlepage.verso.style"/> 92 93<xsl:attribute-set name="sect5.titlepage.recto.style" 94 use-attribute-sets="section.titlepage.recto.style"/> 95<xsl:attribute-set name="sect5.titlepage.verso.style" 96 use-attribute-sets="section.titlepage.verso.style"/> 97 98<xsl:attribute-set name="simplesect.titlepage.recto.style" 99 use-attribute-sets="section.titlepage.recto.style"/> 100<xsl:attribute-set name="simplesect.titlepage.verso.style" 101 use-attribute-sets="section.titlepage.verso.style"/> 102 103<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> 104<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> 105 106<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> 107<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> 108 109<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> 110<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> 111 112<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> 113<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> 114 115<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> 116<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> 117 118<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> 119<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> 120 121<!-- ==================================================================== --> 122 123<xsl:template match="*" mode="titlepage.mode"> 124 <!-- if an element isn't found in this mode, try the default mode --> 125 <xsl:apply-templates select="."/> 126</xsl:template> 127 128<xsl:template match="abbrev" mode="titlepage.mode"> 129 <xsl:apply-templates mode="titlepage.mode"/> 130</xsl:template> 131 132<xsl:template match="abstract" mode="titlepage.mode"> 133 <fo:block> 134 <xsl:if test="title"> <!-- FIXME: add param for using default title? --> 135 <xsl:call-template name="formal.object.heading"> 136 <xsl:with-param name="title"> 137 <xsl:apply-templates select="." mode="title.markup"/> 138 </xsl:with-param> 139 </xsl:call-template> 140 </xsl:if> 141 <xsl:apply-templates mode="titlepage.mode"/> 142 </fo:block> 143</xsl:template> 144 145<xsl:template match="abstract/title" mode="titlepage.mode"/> 146 147<xsl:template match="abstract/title" mode="titlepage.abstract.title.mode"> 148 <xsl:apply-templates mode="titlepage.mode"/> 149</xsl:template> 150 151<xsl:template match="address" mode="titlepage.mode"> 152 <!-- use the normal address handling code --> 153 <xsl:apply-templates select="."/> 154</xsl:template> 155 156<xsl:template match="affiliation" mode="titlepage.mode"> 157 <fo:block> 158 <xsl:apply-templates mode="titlepage.mode"/> 159 </fo:block> 160</xsl:template> 161 162<xsl:template match="artpagenums" mode="titlepage.mode"> 163 <xsl:apply-templates mode="titlepage.mode"/> 164</xsl:template> 165 166<xsl:template match="author" mode="titlepage.mode"> 167 <xsl:call-template name="person.name"/> 168 <xsl:apply-templates select="affiliation" mode="titlepage.mode"/> 169</xsl:template> 170 171<xsl:template match="authorblurb" mode="titlepage.mode"> 172 <xsl:apply-templates mode="titlepage.mode"/> 173</xsl:template> 174 175<xsl:template match="authorgroup" mode="titlepage.mode"> 176 <xsl:apply-templates mode="titlepage.mode"/> 177</xsl:template> 178 179<xsl:template match="authorinitials" mode="titlepage.mode"> 180 <xsl:apply-templates mode="titlepage.mode"/> 181</xsl:template> 182 183<xsl:template match="bibliomisc" mode="titlepage.mode"> 184 <xsl:apply-templates mode="titlepage.mode"/> 185</xsl:template> 186 187<xsl:template match="bibliomset" mode="titlepage.mode"> 188 <xsl:apply-templates mode="titlepage.mode"/> 189</xsl:template> 190 191<xsl:template match="collab" mode="titlepage.mode"> 192 <xsl:apply-templates mode="titlepage.mode"/> 193</xsl:template> 194 195<xsl:template match="confgroup" mode="titlepage.mode"> 196 <fo:block> 197 <xsl:apply-templates mode="titlepage.mode"/> 198 </fo:block> 199</xsl:template> 200 201<xsl:template match="confdates" mode="titlepage.mode"> 202 <fo:block> 203 <xsl:apply-templates mode="titlepage.mode"/> 204 </fo:block> 205</xsl:template> 206 207<xsl:template match="conftitle" mode="titlepage.mode"> 208 <fo:block> 209 <xsl:apply-templates mode="titlepage.mode"/> 210 </fo:block> 211</xsl:template> 212 213<xsl:template match="confnum" mode="titlepage.mode"> 214 <!-- suppress --> 215</xsl:template> 216 217<xsl:template match="contractnum" mode="titlepage.mode"> 218 <xsl:apply-templates mode="titlepage.mode"/> 219</xsl:template> 220 221<xsl:template match="contractsponsor" mode="titlepage.mode"> 222 <xsl:apply-templates mode="titlepage.mode"/> 223</xsl:template> 224 225<xsl:template match="contrib" mode="titlepage.mode"> 226 <xsl:apply-templates mode="titlepage.mode"/> 227</xsl:template> 228 229<xsl:template match="copyright" mode="titlepage.mode"> 230 <xsl:variable name="years" select="year"/> 231 <xsl:variable name="holders" select="holder"/> 232 233 <xsl:call-template name="gentext"> 234 <xsl:with-param name="key" select="'Copyright'"/> 235 </xsl:call-template> 236 <xsl:call-template name="gentext.space"/> 237 <xsl:call-template name="dingbat"> 238 <xsl:with-param name="dingbat">copyright</xsl:with-param> 239 </xsl:call-template> 240 <xsl:call-template name="gentext.space"/> 241 <xsl:apply-templates select="$years" mode="titlepage.mode"/> 242 <xsl:if test="holder"> 243 <xsl:call-template name="gentext.space"/> 244 <xsl:apply-templates select="$holders" mode="titlepage.mode"/> 245 </xsl:if> 246</xsl:template> 247 248<xsl:template match="year" mode="titlepage.mode"> 249 <xsl:apply-templates/><xsl:text>, </xsl:text> 250</xsl:template> 251 252<xsl:template match="year[position()=last()]" mode="titlepage.mode"> 253 <xsl:apply-templates/> 254</xsl:template> 255 256<xsl:template match="holder" mode="titlepage.mode"> 257 <xsl:apply-templates/> 258</xsl:template> 259 260<xsl:template match="corpauthor" mode="titlepage.mode"> 261 <xsl:apply-templates mode="titlepage.mode"/> 262</xsl:template> 263 264<xsl:template match="corpname" mode="titlepage.mode"> 265 <xsl:apply-templates mode="titlepage.mode"/> 266</xsl:template> 267 268<xsl:template match="date" mode="titlepage.mode"> 269 <xsl:apply-templates mode="titlepage.mode"/> 270</xsl:template> 271 272<xsl:template match="edition" mode="titlepage.mode"> 273 <xsl:apply-templates mode="titlepage.mode"/> 274 <xsl:call-template name="gentext.space"/> 275 <xsl:call-template name="gentext"> 276 <xsl:with-param name="key" select="'Edition'"/> 277 </xsl:call-template> 278</xsl:template> 279 280<xsl:template match="editor" mode="titlepage.mode"> 281 <xsl:call-template name="person.name"/> 282</xsl:template> 283 284<xsl:template match="editor[position()=1]" priority="2" mode="titlepage.mode"> 285 <xsl:call-template name="gentext.edited.by"/> 286 <xsl:call-template name="person.name"/> 287</xsl:template> 288 289<xsl:template match="firstname" mode="titlepage.mode"> 290 <xsl:apply-templates mode="titlepage.mode"/> 291</xsl:template> 292 293<xsl:template match="graphic" mode="titlepage.mode"> 294 <!-- use the normal graphic handling code --> 295 <xsl:apply-templates select="."/> 296</xsl:template> 297 298<xsl:template match="honorific" mode="titlepage.mode"> 299 <xsl:apply-templates mode="titlepage.mode"/> 300</xsl:template> 301 302<xsl:template match="isbn" mode="titlepage.mode"> 303 <xsl:apply-templates mode="titlepage.mode"/> 304</xsl:template> 305 306<xsl:template match="issn" mode="titlepage.mode"> 307 <xsl:apply-templates mode="titlepage.mode"/> 308</xsl:template> 309 310<xsl:template match="itermset" mode="titlepage.mode"> 311 <!-- discard --> 312</xsl:template> 313 314<xsl:template match="invpartnumber" mode="titlepage.mode"> 315 <xsl:apply-templates mode="titlepage.mode"/> 316</xsl:template> 317 318<xsl:template match="issuenum" mode="titlepage.mode"> 319 <xsl:apply-templates mode="titlepage.mode"/> 320</xsl:template> 321 322<xsl:template match="jobtitle" mode="titlepage.mode"> 323 <fo:block> 324 <xsl:apply-templates mode="titlepage.mode"/> 325 </fo:block> 326</xsl:template> 327 328<xsl:template match="keywordset" mode="titlepage.mode"> 329</xsl:template> 330 331<xsl:template match="legalnotice" mode="titlepage.mode"> 332 <fo:block> 333 <xsl:if test="title"> <!-- FIXME: add param for using default title? --> 334 <xsl:call-template name="formal.object.heading"> 335 <xsl:with-param name="title"> 336 <xsl:apply-templates select="." mode="title.markup"/> 337 </xsl:with-param> 338 </xsl:call-template> 339 </xsl:if> 340 <xsl:apply-templates mode="titlepage.mode"/> 341 </fo:block> 342</xsl:template> 343 344<xsl:template match="legalnotice/title" mode="titlepage.mode"> 345</xsl:template> 346 347<xsl:template match="legalnotice/title" mode="titlepage.legalnotice.title.mode"> 348 <xsl:apply-templates mode="titlepage.mode"/> 349</xsl:template> 350 351<xsl:template match="lineage" mode="titlepage.mode"> 352 <xsl:apply-templates mode="titlepage.mode"/> 353</xsl:template> 354 355<xsl:template match="modespec" mode="titlepage.mode"> 356 <!-- discard --> 357</xsl:template> 358 359<xsl:template match="orgdiv" mode="titlepage.mode"> 360 <xsl:apply-templates mode="titlepage.mode"/> 361</xsl:template> 362 363<xsl:template match="orgname" mode="titlepage.mode"> 364 <fo:block> 365 <xsl:apply-templates mode="titlepage.mode"/> 366 </fo:block> 367</xsl:template> 368 369<xsl:template match="othercredit" mode="titlepage.mode"> 370 <xsl:call-template name="person.name"/> 371 <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> 372</xsl:template> 373 374<xsl:template match="othername" mode="titlepage.mode"> 375 <xsl:apply-templates mode="titlepage.mode"/> 376</xsl:template> 377 378<xsl:template match="pagenums" mode="titlepage.mode"> 379 <xsl:apply-templates mode="titlepage.mode"/> 380</xsl:template> 381 382<xsl:template match="printhistory" mode="titlepage.mode"> 383 <xsl:apply-templates mode="titlepage.mode"/> 384</xsl:template> 385 386<xsl:template match="productname" mode="titlepage.mode"> 387 <xsl:apply-templates mode="titlepage.mode"/> 388</xsl:template> 389 390<xsl:template match="productnumber" mode="titlepage.mode"> 391 <xsl:apply-templates mode="titlepage.mode"/> 392</xsl:template> 393 394<xsl:template match="pubdate" mode="titlepage.mode"> 395 <xsl:apply-templates mode="titlepage.mode"/> 396</xsl:template> 397 398<xsl:template match="publisher" mode="titlepage.mode"> 399 <fo:block> 400 <xsl:apply-templates mode="titlepage.mode"/> 401 </fo:block> 402</xsl:template> 403 404<xsl:template match="publishername" mode="titlepage.mode"> 405 <xsl:apply-templates mode="titlepage.mode"/> 406</xsl:template> 407 408<xsl:template match="pubsnumber" mode="titlepage.mode"> 409 <xsl:apply-templates mode="titlepage.mode"/> 410</xsl:template> 411 412<xsl:template match="releaseinfo" mode="titlepage.mode"> 413 <xsl:apply-templates mode="titlepage.mode"/> 414</xsl:template> 415 416<xsl:template match="revhistory" mode="titlepage.mode"> 417 <fo:table table-layout="fixed"> 418 <fo:table-column column-number="1" column-width="33%"/> 419 <fo:table-column column-number="2" column-width="33%"/> 420 <fo:table-column column-number="3" column-width="33%"/> 421 <fo:table-body> 422 <fo:table-row> 423 <fo:table-cell number-columns-spanned="3"> 424 <fo:block> 425 <xsl:call-template name="gentext"> 426 <xsl:with-param name="key" select="'RevHistory'"/> 427 </xsl:call-template> 428 </fo:block> 429 </fo:table-cell> 430 </fo:table-row> 431 <xsl:apply-templates mode="titlepage.mode"/> 432 </fo:table-body> 433 </fo:table> 434</xsl:template> 435 436<xsl:template match="revhistory/revision" mode="titlepage.mode"> 437 <xsl:variable name="revnumber" select=".//revnumber"/> 438 <xsl:variable name="revdate" select=".//date"/> 439 <xsl:variable name="revauthor" select=".//authorinitials"/> 440 <xsl:variable name="revremark" select=".//revremark"/> 441 <fo:table-row> 442 <fo:table-cell> 443 <fo:block> 444 <xsl:if test="$revnumber"> 445 <xsl:call-template name="gentext"> 446 <xsl:with-param name="key" select="'Revision'"/> 447 </xsl:call-template> 448 <xsl:call-template name="gentext.space"/> 449 <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> 450 </xsl:if> 451 </fo:block> 452 </fo:table-cell> 453 <fo:table-cell> 454 <fo:block> 455 <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> 456 </fo:block> 457 </fo:table-cell> 458 <fo:table-cell> 459 <fo:block> 460 <xsl:apply-templates select="$revauthor[1]" mode="titlepage.mode"/> 461 </fo:block> 462 </fo:table-cell> 463 </fo:table-row> 464 <xsl:if test="$revremark"> 465 <fo:table-row> 466 <fo:table-cell number-columns-spanned="3"> 467 <fo:block> 468 <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> 469 </fo:block> 470 </fo:table-cell> 471 </fo:table-row> 472 </xsl:if> 473</xsl:template> 474 475<xsl:template match="revision/revnumber" mode="titlepage.mode"> 476 <xsl:apply-templates mode="titlepage.mode"/> 477</xsl:template> 478 479<xsl:template match="revision/date" mode="titlepage.mode"> 480 <xsl:apply-templates mode="titlepage.mode"/> 481</xsl:template> 482 483<xsl:template match="revision/authorinitials" mode="titlepage.mode"> 484 <xsl:apply-templates mode="titlepage.mode"/> 485</xsl:template> 486 487<xsl:template match="revision/revremark" mode="titlepage.mode"> 488 <xsl:apply-templates mode="titlepage.mode"/> 489</xsl:template> 490 491<xsl:template match="seriesvolnums" mode="titlepage.mode"> 492 <xsl:apply-templates mode="titlepage.mode"/> 493</xsl:template> 494 495<xsl:template match="shortaffil" mode="titlepage.mode"> 496 <xsl:apply-templates mode="titlepage.mode"/> 497</xsl:template> 498 499<xsl:template match="subjectset" mode="titlepage.mode"> 500 <!-- discard --> 501</xsl:template> 502 503<xsl:template match="subtitle" mode="titlepage.mode"> 504 <xsl:apply-templates mode="titlepage.mode"/> 505</xsl:template> 506 507<xsl:template match="surname" mode="titlepage.mode"> 508 <xsl:apply-templates mode="titlepage.mode"/> 509</xsl:template> 510 511<xsl:template match="title" mode="titlepage.mode"> 512 <xsl:apply-templates mode="titlepage.mode"/> 513</xsl:template> 514 515<xsl:template match="titleabbrev" mode="titlepage.mode"> 516 <xsl:apply-templates mode="titlepage.mode"/> 517</xsl:template> 518 519<xsl:template match="volumenum" mode="titlepage.mode"> 520 <xsl:apply-templates mode="titlepage.mode"/> 521</xsl:template> 522 523<!-- ==================================================================== --> 524<!-- Book templates --> 525 526<!-- book recto --> 527 528<xsl:template match="authorgroup" mode="book.titlepage.recto.mode"> 529 <xsl:apply-templates mode="book.titlepage.recto.auto.mode"/> 530</xsl:template> 531 532<!-- book verso --> 533 534<xsl:template match="title" mode="book.titlepage.verso.mode"> 535 <fo:block> 536 <xsl:apply-templates mode="book.titlepage.verso.mode"/> 537 538 <xsl:if test="following-sibling::subtitle 539 |following-sibling::bookinfo/subtitle"> 540 <xsl:text>: </xsl:text> 541 542 <xsl:apply-templates select="(following-sibling::subtitle 543 |following-sibling::bookinfo/subtitle)[1]" 544 mode="book.titlepage.verso.mode"/> 545 </xsl:if> 546 </fo:block> 547</xsl:template> 548 549<xsl:template match="subtitle" mode="book.titlepage.verso.mode"> 550 <xsl:apply-templates mode="book.titlepage.verso.mode"/> 551 <xsl:if test="following-sibling::subtitle"> 552 <xsl:text>: </xsl:text> 553 <xsl:apply-templates select="following-sibling::subtitle[1]"/> 554 </xsl:if> 555</xsl:template> 556 557<xsl:template match="bookinfo/author" mode="book.titlepage.verso.mode"> 558 <fo:block> 559 <xsl:call-template name="gentext"> 560 <xsl:with-param name="key" select="'by'"/> 561 </xsl:call-template> 562 <xsl:text> </xsl:text> 563 <xsl:call-template name="person.name"/> 564 </fo:block> 565</xsl:template> 566 567<xsl:template match="bookinfo/corpauthor" mode="book.titlepage.verso.mode"> 568 <fo:block> 569 <xsl:call-template name="gentext"> 570 <xsl:with-param name="key" select="'by'"/> 571 </xsl:call-template> 572 <xsl:text> </xsl:text> 573 <xsl:apply-templates/> 574 </fo:block> 575</xsl:template> 576 577<xsl:template match="authorgroup" mode="book.titlepage.verso.mode"> 578 <fo:block> 579 <xsl:call-template name="gentext"> 580 <xsl:with-param name="key" select="'by'"/> 581 </xsl:call-template> 582 <xsl:text> </xsl:text> 583 <xsl:apply-templates mode="book.titlepage.verso.mode"/> 584 </fo:block> 585</xsl:template> 586 587<xsl:template match="authorgroup/author" mode="book.titlepage.verso.mode"> 588 <xsl:variable name="before" select="count(preceding-sibling::*)"/> 589 <xsl:variable name="after" select="count(following-sibling::*)"/> 590 591 <xsl:choose> 592 <xsl:when test="$before > 1"> 593 <xsl:text>, </xsl:text> 594 </xsl:when> 595 <xsl:when test="$before = 1 and $after > 0"> 596 <xsl:text>, </xsl:text> 597 </xsl:when> 598 </xsl:choose> 599 600 <xsl:if test="$before > 0 and $after = 0"> 601 <xsl:text> </xsl:text> 602 <xsl:call-template name="gentext"> 603 <xsl:with-param name="key" select="'and'"/> 604 </xsl:call-template> 605 <xsl:text> </xsl:text> 606 </xsl:if> 607 608 <xsl:call-template name="person.name"/> 609</xsl:template> 610 611<xsl:template match="authorgroup/corpauthor" mode="book.titlepage.verso.mode"> 612 <xsl:variable name="before" select="count(preceding-sibling::*)"/> 613 <xsl:variable name="after" select="count(following-sibling::*)"/> 614 615 <xsl:choose> 616 <xsl:when test="$before > 1"> 617 <xsl:text>, </xsl:text> 618 </xsl:when> 619 <xsl:when test="$before = 1 and $after > 0"> 620 <xsl:text>, </xsl:text> 621 </xsl:when> 622 </xsl:choose> 623 624 <xsl:if test="$after = 0 and $before > 0"> 625 <xsl:text> </xsl:text> 626 <xsl:call-template name="gentext"> 627 <xsl:with-param name="key" select="'and'"/> 628 </xsl:call-template> 629 <xsl:text> </xsl:text> 630 </xsl:if> 631 632 <xsl:apply-templates/> 633</xsl:template> 634 635<xsl:template match="pubdate" mode="book.titlepage.verso.mode"> 636 <fo:block> 637 <xsl:call-template name="gentext"> 638 <xsl:with-param name="key" select="'published'"/> 639 </xsl:call-template> 640 <xsl:text> </xsl:text> 641 <xsl:apply-templates mode="book.titlepage.verso.mode"/> 642 </fo:block> 643</xsl:template> 644 645<!-- ==================================================================== --> 646<!-- Part templates --> 647 648<!-- part recto --> 649 650<xsl:template match="title" mode="part.titlepage.recto.mode"> 651 <xsl:apply-templates select="ancestor::part" mode="title.markup"/> 652</xsl:template> 653 654<!-- ==================================================================== --> 655 656</xsl:stylesheet> 657