1<?xml version='1.0'?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 3 version='1.0'> 4 5<!-- ******************************************************************** 6 $Id$ 7 ******************************************************************** 8 9 This file is part of the XSL DocBook Stylesheet distribution. 10 See /README or http://nwalsh.com/docbook/xsl/ for copyright 11 and other information. 12 13 ******************************************************************** --> 14 15<!-- ==================================================================== --> 16 17<xsl:attribute-set name="book.titlepage.recto.style"/> 18<xsl:attribute-set name="book.titlepage.verso.style"/> 19 20<xsl:attribute-set name="article.titlepage.recto.style"/> 21<xsl:attribute-set name="article.titlepage.verso.style"/> 22 23<xsl:attribute-set name="set.titlepage.recto.style"/> 24<xsl:attribute-set name="set.titlepage.verso.style"/> 25 26<xsl:attribute-set name="part.titlepage.recto.style"/> 27<xsl:attribute-set name="part.titlepage.verso.style"/> 28 29<xsl:attribute-set name="partintro.titlepage.recto.style"/> 30<xsl:attribute-set name="partintro.titlepage.verso.style"/> 31 32<xsl:attribute-set name="reference.titlepage.recto.style"/> 33<xsl:attribute-set name="reference.titlepage.verso.style"/> 34 35<xsl:attribute-set name="dedication.titlepage.recto.style"/> 36<xsl:attribute-set name="dedication.titlepage.verso.style"/> 37 38<xsl:attribute-set name="preface.titlepage.recto.style"/> 39<xsl:attribute-set name="preface.titlepage.verso.style"/> 40 41<xsl:attribute-set name="chapter.titlepage.recto.style"/> 42<xsl:attribute-set name="chapter.titlepage.verso.style"/> 43 44<xsl:attribute-set name="appendix.titlepage.recto.style"/> 45<xsl:attribute-set name="appendix.titlepage.verso.style"/> 46 47<xsl:attribute-set name="bibliography.titlepage.recto.style"/> 48<xsl:attribute-set name="bibliography.titlepage.verso.style"/> 49 50<xsl:attribute-set name="glossary.titlepage.recto.style"/> 51<xsl:attribute-set name="glossary.titlepage.verso.style"/> 52 53<xsl:attribute-set name="index.titlepage.recto.style"/> 54<xsl:attribute-set name="index.titlepage.verso.style"/> 55 56<xsl:attribute-set name="section.titlepage.recto.style"/> 57<xsl:attribute-set name="section.titlepage.verso.style"/> 58 59<xsl:attribute-set name="sect1.titlepage.recto.style" 60 use-attribute-sets="section.titlepage.recto.style"/> 61<xsl:attribute-set name="sect1.titlepage.verso.style" 62 use-attribute-sets="section.titlepage.verso.style"/> 63 64<xsl:attribute-set name="sect2.titlepage.recto.style" 65 use-attribute-sets="section.titlepage.recto.style"/> 66<xsl:attribute-set name="sect2.titlepage.verso.style" 67 use-attribute-sets="section.titlepage.verso.style"/> 68 69<xsl:attribute-set name="sect3.titlepage.recto.style" 70 use-attribute-sets="section.titlepage.recto.style"/> 71<xsl:attribute-set name="sect3.titlepage.verso.style" 72 use-attribute-sets="section.titlepage.verso.style"/> 73 74<xsl:attribute-set name="sect4.titlepage.recto.style" 75 use-attribute-sets="section.titlepage.recto.style"/> 76<xsl:attribute-set name="sect4.titlepage.verso.style" 77 use-attribute-sets="section.titlepage.verso.style"/> 78 79<xsl:attribute-set name="sect5.titlepage.recto.style" 80 use-attribute-sets="section.titlepage.recto.style"/> 81<xsl:attribute-set name="sect5.titlepage.verso.style" 82 use-attribute-sets="section.titlepage.verso.style"/> 83 84<xsl:attribute-set name="simplesect.titlepage.recto.style" 85 use-attribute-sets="section.titlepage.recto.style"/> 86<xsl:attribute-set name="simplesect.titlepage.verso.style" 87 use-attribute-sets="section.titlepage.verso.style"/> 88 89<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> 90<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> 91 92<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> 93<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> 94 95<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> 96<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> 97 98<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> 99<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> 100 101<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> 102<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> 103 104<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> 105<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> 106 107<!-- ==================================================================== --> 108 109<xsl:template match="*" mode="titlepage.mode"> 110 <!-- if an element isn't found in this mode, try the default mode --> 111 <xsl:apply-templates select="."/> 112</xsl:template> 113 114<xsl:template match="abbrev" mode="titlepage.mode"> 115 <span class="{name(.)}"> 116 <xsl:apply-templates mode="titlepage.mode"/> 117 <br/> 118 </span> 119</xsl:template> 120 121<xsl:template match="abstract" mode="titlepage.mode"> 122 <div class="{name(.)}"> 123 <xsl:call-template name="formal.object.heading"> 124 <xsl:with-param name="title"> 125 <xsl:apply-templates select="." mode="title.markup"/> 126 </xsl:with-param> 127 </xsl:call-template> 128 <xsl:apply-templates mode="titlepage.mode"/> 129 </div> 130</xsl:template> 131 132<xsl:template match="abstract/title" mode="titlepage.mode"> 133</xsl:template> 134 135<xsl:template match="address" mode="titlepage.mode"> 136 <xsl:apply-templates select="."/> 137</xsl:template> 138 139<xsl:template match="affiliation" mode="titlepage.mode"> 140 <div class="{name(.)}"> 141 <xsl:apply-templates mode="titlepage.mode"/> 142 </div> 143</xsl:template> 144 145<xsl:template match="artpagenums" mode="titlepage.mode"> 146 <span class="{name(.)}"> 147 <xsl:apply-templates mode="titlepage.mode"/> 148 <br/> 149 </span> 150</xsl:template> 151 152<xsl:template match="author" mode="titlepage.mode"> 153 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 154 <xsl:apply-templates mode="titlepage.mode" select="/affiliation"/> 155</xsl:template> 156 157<xsl:template match="authorblurb" mode="titlepage.mode"> 158 <div class="{name(.)}"> 159 <xsl:apply-templates mode="titlepage.mode"/> 160 </div> 161</xsl:template> 162 163<xsl:template match="authorgroup" mode="titlepage.mode"> 164 <xsl:apply-templates mode="titlepage.mode"/> 165</xsl:template> 166 167<xsl:template match="authorinitials" mode="titlepage.mode"> 168 <span class="{name(.)}"> 169 <xsl:apply-templates mode="titlepage.mode"/> 170 <br/> 171 </span> 172</xsl:template> 173 174<xsl:template match="bibliomisc" mode="titlepage.mode"> 175 <xsl:apply-templates mode="titlepage.mode"/> 176</xsl:template> 177 178<xsl:template match="bibliomset" mode="titlepage.mode"> 179 <xsl:apply-templates mode="titlepage.mode"/> 180</xsl:template> 181 182<xsl:template match="collab" mode="titlepage.mode"> 183 <span class="{name(.)}"> 184 <xsl:apply-templates mode="titlepage.mode"/> 185 <br/> 186 </span> 187</xsl:template> 188 189<xsl:template match="confgroup" mode="titlepage.mode"> 190 <div class="{name(.)}"> 191 <xsl:apply-templates mode="titlepage.mode"/> 192 </div> 193</xsl:template> 194 195<xsl:template match="confdates" mode="titlepage.mode"> 196 <span class="{name(.)}"> 197 <xsl:apply-templates mode="titlepage.mode"/> 198 <br/> 199 </span> 200</xsl:template> 201 202<xsl:template match="conftitle" mode="titlepage.mode"> 203 <span class="{name(.)}"> 204 <xsl:apply-templates mode="titlepage.mode"/> 205 <br/> 206 </span> 207</xsl:template> 208 209<xsl:template match="confnum" mode="titlepage.mode"> 210 <!-- suppress --> 211</xsl:template> 212 213<xsl:template match="contractnum" mode="titlepage.mode"> 214 <span class="{name(.)}"> 215 <xsl:apply-templates mode="titlepage.mode"/> 216 <br/> 217 </span> 218</xsl:template> 219 220<xsl:template match="contractsponsor" mode="titlepage.mode"> 221 <span class="{name(.)}"> 222 <xsl:apply-templates mode="titlepage.mode"/> 223 <br/> 224 </span> 225</xsl:template> 226 227<xsl:template match="contrib" mode="titlepage.mode"> 228 <span class="{name(.)}"> 229 <xsl:apply-templates mode="titlepage.mode"/> 230 <br/> 231 </span> 232</xsl:template> 233 234<xsl:template match="copyright" mode="titlepage.mode"> 235 <xsl:variable name="years" select="year"/> 236 <xsl:variable name="holders" select="holder"/> 237 238 <p class="{name(.)}"> 239 <xsl:call-template name="gentext"> 240 <xsl:with-param name="key" select="'Copyright'"/> 241 </xsl:call-template> 242 <xsl:call-template name="gentext.space"/> 243 <xsl:call-template name="dingbat"> 244 <xsl:with-param name="dingbat">copyright</xsl:with-param> 245 </xsl:call-template> 246 <xsl:call-template name="gentext.space"/> 247 <xsl:apply-templates select="$years" mode="titlepage.mode"/> 248 <xsl:call-template name="gentext.space"/> 249<!-- 250 <xsl:call-template name="gentext.by"/> 251 <xsl:call-template name="gentext.space"/> 252--> 253 <xsl:apply-templates select="$holders" mode="titlepage.mode"/> 254 </p> 255</xsl:template> 256 257<xsl:template match="year" mode="titlepage.mode"> 258 <xsl:apply-templates/><xsl:text>, </xsl:text> 259</xsl:template> 260 261<xsl:template match="year[position()=last()]" mode="titlepage.mode"> 262 <xsl:apply-templates/> 263</xsl:template> 264 265<xsl:template match="holder" mode="titlepage.mode"> 266 <xsl:apply-templates/> 267</xsl:template> 268 269<xsl:template match="corpauthor" mode="titlepage.mode"> 270 <h3 class="{name(.)}"> 271 <xsl:apply-templates mode="titlepage.mode"/> 272 </h3> 273</xsl:template> 274 275<xsl:template match="corpname" mode="titlepage.mode"> 276 <span class="{name(.)}"> 277 <xsl:apply-templates mode="titlepage.mode"/> 278 <br/> 279 </span> 280</xsl:template> 281 282<xsl:template match="date" mode="titlepage.mode"> 283 <span class="{name(.)}"> 284 <xsl:apply-templates mode="titlepage.mode"/> 285 <br/> 286 </span> 287</xsl:template> 288 289<xsl:template match="edition" mode="titlepage.mode"> 290 <p class="{name(.)}"> 291 <xsl:apply-templates mode="titlepage.mode"/> 292 <xsl:call-template name="gentext.space"/> 293 <xsl:call-template name="gentext"> 294 <xsl:with-param name="key" select="'Edition'"/> 295 </xsl:call-template> 296 </p> 297</xsl:template> 298 299<xsl:template match="editor" mode="titlepage.mode"> 300 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 301</xsl:template> 302 303<xsl:template match="editor[position()=1]" mode="titlepage.mode"> 304 <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4> 305 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 306</xsl:template> 307 308<xsl:template match="firstname" mode="titlepage.mode"> 309 <span class="{name(.)}"> 310 <xsl:apply-templates mode="titlepage.mode"/> 311 <br/> 312 </span> 313</xsl:template> 314 315<xsl:template match="graphic" mode="titlepage.mode"> 316 <!-- use the normal graphic handling code --> 317 <xsl:apply-templates select="."/> 318</xsl:template> 319 320<xsl:template match="honorific" mode="titlepage.mode"> 321 <span class="{name(.)}"> 322 <xsl:apply-templates mode="titlepage.mode"/> 323 <br/> 324 </span> 325</xsl:template> 326 327<xsl:template match="isbn" mode="titlepage.mode"> 328 <span class="{name(.)}"> 329 <xsl:apply-templates mode="titlepage.mode"/> 330 <br/> 331 </span> 332</xsl:template> 333 334<xsl:template match="issn" mode="titlepage.mode"> 335 <span class="{name(.)}"> 336 <xsl:apply-templates mode="titlepage.mode"/> 337 <br/> 338 </span> 339</xsl:template> 340 341<xsl:template match="itermset" mode="titlepage.mode"> 342</xsl:template> 343 344<xsl:template match="invpartnumber" mode="titlepage.mode"> 345 <span class="{name(.)}"> 346 <xsl:apply-templates mode="titlepage.mode"/> 347 <br/> 348 </span> 349</xsl:template> 350 351<xsl:template match="issuenum" mode="titlepage.mode"> 352 <span class="{name(.)}"> 353 <xsl:apply-templates mode="titlepage.mode"/> 354 <br/> 355 </span> 356</xsl:template> 357 358<xsl:template match="jobtitle" mode="titlepage.mode"> 359 <span class="{name(.)}"> 360 <xsl:apply-templates mode="titlepage.mode"/> 361 <br/> 362 </span> 363</xsl:template> 364 365<xsl:template match="keywordset" mode="titlepage.mode"> 366</xsl:template> 367 368<xsl:template match="legalnotice " mode="titlepage.mode"> 369 <div class="{local-name(.)}"> 370 <xsl:apply-templates mode="titlepage.mode"/> 371 </div> 372</xsl:template> 373 374<xsl:template match="legalnotice/title" mode="titlepage.mode"> 375 <p class="legalnotice-title"><b><xsl:apply-templates/></b></p> 376</xsl:template> 377 378<xsl:template match="lineage" mode="titlepage.mode"> 379 <span class="{name(.)}"> 380 <xsl:apply-templates mode="titlepage.mode"/> 381 <br/> 382 </span> 383</xsl:template> 384 385<xsl:template match="modespec" mode="titlepage.mode"> 386</xsl:template> 387 388<xsl:template match="orgdiv" mode="titlepage.mode"> 389 <span class="{name(.)}"> 390 <xsl:apply-templates mode="titlepage.mode"/> 391 <br/> 392 </span> 393</xsl:template> 394 395<xsl:template match="orgname" mode="titlepage.mode"> 396 <span class="{name(.)}"> 397 <xsl:apply-templates mode="titlepage.mode"/> 398 <br/> 399 </span> 400</xsl:template> 401 402<xsl:template match="othercredit" mode="titlepage.mode"> 403 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 404 <xsl:apply-templates mode="titlepage.mode" 405 select="/affiliation"/> 406</xsl:template> 407 408<xsl:template match="othername" mode="titlepage.mode"> 409 <span class="{name(.)}"> 410 <xsl:apply-templates mode="titlepage.mode"/> 411 <br/> 412 </span> 413</xsl:template> 414 415<xsl:template match="pagenums" mode="titlepage.mode"> 416 <span class="{name(.)}"> 417 <xsl:apply-templates mode="titlepage.mode"/> 418 <br/> 419 </span> 420</xsl:template> 421 422<xsl:template match="printhistory" mode="titlepage.mode"> 423 <div class="{name(.)}"> 424 <xsl:apply-templates mode="titlepage.mode"/> 425 </div> 426</xsl:template> 427 428<xsl:template match="productname" mode="titlepage.mode"> 429 <span class="{name(.)}"> 430 <xsl:apply-templates mode="titlepage.mode"/> 431 <br/> 432 </span> 433</xsl:template> 434 435<xsl:template match="productnumber" mode="titlepage.mode"> 436 <span class="{name(.)}"> 437 <xsl:apply-templates mode="titlepage.mode"/> 438 <br/> 439 </span> 440</xsl:template> 441 442<xsl:template match="pubdate" mode="titlepage.mode"> 443 <p class="{name(.)}"> 444 <xsl:apply-templates mode="titlepage.mode"/> 445 </p> 446</xsl:template> 447 448<xsl:template match="publisher" mode="titlepage.mode"> 449 <p class="{name(.)}"> 450 <xsl:apply-templates mode="titlepage.mode"/> 451 </p> 452</xsl:template> 453 454<xsl:template match="publishername" mode="titlepage.mode"> 455 <span class="{name(.)}"> 456 <xsl:apply-templates mode="titlepage.mode"/> 457 <br/> 458 </span> 459</xsl:template> 460 461<xsl:template match="pubsnumber" mode="titlepage.mode"> 462 <span class="{name(.)}"> 463 <xsl:apply-templates mode="titlepage.mode"/> 464 <br/> 465 </span> 466</xsl:template> 467 468<xsl:template match="releaseinfo" mode="titlepage.mode"> 469 <p class="{name(.)}"> 470 <xsl:apply-templates mode="titlepage.mode"/> 471 </p> 472</xsl:template> 473 474<xsl:template match="revhistory" mode="titlepage.mode"> 475 <xsl:variable name="numcols"> 476 <xsl:choose> 477 <xsl:when test="//authorinitials">3</xsl:when> 478 <xsl:otherwise>2</xsl:otherwise> 479 </xsl:choose> 480 </xsl:variable> 481 482 <div class="{name(.)}"> 483 <table border="1" width="100%" summary="Revision history"> 484 <tr> 485 <th align="left" valign="top" colspan="{$numcols}"> 486 <b> 487 <xsl:call-template name="gentext"> 488 <xsl:with-param name="key" select="'RevHistory'"/> 489 </xsl:call-template> 490 </b> 491 </th> 492 </tr> 493 <xsl:apply-templates mode="titlepage.mode"> 494 <xsl:with-param name="numcols" select="$numcols"/> 495 </xsl:apply-templates> 496 </table> 497 </div> 498</xsl:template> 499 500<xsl:template match="revhistory/revision" mode="titlepage.mode"> 501 <xsl:param name="numcols" select="'3'"/> 502 <xsl:variable name="revnumber" select=".//revnumber"/> 503 <xsl:variable name="revdate" select=".//date"/> 504 <xsl:variable name="revauthor" select=".//authorinitials"/> 505 <xsl:variable name="revremark" select=".//revremark|.//revdescription"/> 506 <tr> 507 <td align="left"> 508 <xsl:if test="$revnumber"> 509 <xsl:call-template name="gentext"> 510 <xsl:with-param name="key" select="'Revision'"/> 511 </xsl:call-template> 512 <xsl:call-template name="gentext.space"/> 513 <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> 514 </xsl:if> 515 </td> 516 <td align="left"> 517 <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> 518 </td> 519 <xsl:choose> 520 <xsl:when test="$revauthor"> 521 <td align="left"> 522 <xsl:apply-templates select="$revauthor[1]" mode="titlepage.mode"/> 523 </td> 524 </xsl:when> 525 <xsl:when test="$numcols > 2"> 526 <td> </td> 527 </xsl:when> 528 <xsl:otherwise></xsl:otherwise> 529 </xsl:choose> 530 </tr> 531 <xsl:if test="$revremark"> 532 <tr> 533 <td align="left" colspan="{$numcols}"> 534 <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> 535 </td> 536 </tr> 537 </xsl:if> 538</xsl:template> 539 540<xsl:template match="revision/revnumber" mode="titlepage.mode"> 541 <xsl:apply-templates mode="titlepage.mode"/> 542</xsl:template> 543 544<xsl:template match="revision/date" mode="titlepage.mode"> 545 <xsl:apply-templates mode="titlepage.mode"/> 546</xsl:template> 547 548<xsl:template match="revision/authorinitials" mode="titlepage.mode"> 549 <xsl:apply-templates mode="titlepage.mode"/> 550</xsl:template> 551 552<xsl:template match="revision/revremark" mode="titlepage.mode"> 553 <xsl:apply-templates mode="titlepage.mode"/> 554</xsl:template> 555 556<xsl:template match="revision/revdescription" mode="titlepage.mode"> 557 <xsl:apply-templates mode="titlepage.mode"/> 558</xsl:template> 559 560<xsl:template match="seriesvolnums" mode="titlepage.mode"> 561 <span class="{name(.)}"> 562 <xsl:apply-templates mode="titlepage.mode"/> 563 <br/> 564 </span> 565</xsl:template> 566 567<xsl:template match="shortaffil" mode="titlepage.mode"> 568 <span class="{name(.)}"> 569 <xsl:apply-templates mode="titlepage.mode"/> 570 <br/> 571 </span> 572</xsl:template> 573 574<xsl:template match="subjectset" mode="titlepage.mode"> 575</xsl:template> 576 577<xsl:template match="subtitle" mode="titlepage.mode"> 578 <h2 class="{name(.)}"> 579 <xsl:apply-templates mode="titlepage.mode"/> 580 </h2> 581</xsl:template> 582 583<xsl:template match="surname" mode="titlepage.mode"> 584 <span class="{name(.)}"> 585 <xsl:apply-templates mode="titlepage.mode"/> 586 <br/> 587 </span> 588</xsl:template> 589 590<xsl:template match="title" mode="titlepage.mode"> 591 <xsl:variable name="id"> 592 <xsl:choose> 593 <!-- if title is in an *info wrapper, get the grandparent --> 594 <xsl:when test="contains(local-name(..), 'info')"> 595 <xsl:call-template name="object.id"> 596 <xsl:with-param name="object" select="../.."/> 597 </xsl:call-template> 598 </xsl:when> 599 <xsl:otherwise> 600 <xsl:call-template name="object.id"> 601 <xsl:with-param name="object" select=".."/> 602 </xsl:call-template> 603 </xsl:otherwise> 604 </xsl:choose> 605 </xsl:variable> 606 607 <h1 class="{name(.)}"> 608 <a name="{$id}"/> 609 <xsl:choose> 610 <xsl:when test="$show.revisionflag and @revisionflag"> 611 <span class="{@revisionflag}"> 612 <xsl:apply-templates mode="titlepage.mode"/> 613 </span> 614 </xsl:when> 615 <xsl:otherwise> 616 <xsl:apply-templates mode="titlepage.mode"/> 617 </xsl:otherwise> 618 </xsl:choose> 619 </h1> 620</xsl:template> 621 622<xsl:template match="titleabbrev" mode="titlepage.mode"> 623 <!-- nop; title abbreviations don't belong on the title page! --> 624</xsl:template> 625 626<xsl:template match="volumenum" mode="titlepage.mode"> 627 <span class="{name(.)}"> 628 <xsl:apply-templates mode="titlepage.mode"/> 629 <br/> 630 </span> 631</xsl:template> 632 633<!-- ==================================================================== --> 634 635</xsl:stylesheet> 636