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: titlepage.xsl,v 1.34 2006/05/21 12:25:21 kosek Exp $ 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="refentry.titlepage.recto.style"/> 36<xsl:attribute-set name="refentry.titlepage.verso.style"/> 37 38<xsl:attribute-set name="dedication.titlepage.recto.style"/> 39<xsl:attribute-set name="dedication.titlepage.verso.style"/> 40 41<xsl:attribute-set name="preface.titlepage.recto.style"/> 42<xsl:attribute-set name="preface.titlepage.verso.style"/> 43 44<xsl:attribute-set name="chapter.titlepage.recto.style"/> 45<xsl:attribute-set name="chapter.titlepage.verso.style"/> 46 47<xsl:attribute-set name="appendix.titlepage.recto.style"/> 48<xsl:attribute-set name="appendix.titlepage.verso.style"/> 49 50<xsl:attribute-set name="bibliography.titlepage.recto.style"/> 51<xsl:attribute-set name="bibliography.titlepage.verso.style"/> 52 53<xsl:attribute-set name="glossary.titlepage.recto.style"/> 54<xsl:attribute-set name="glossary.titlepage.verso.style"/> 55 56<xsl:attribute-set name="index.titlepage.recto.style"/> 57<xsl:attribute-set name="index.titlepage.verso.style"/> 58 59<xsl:attribute-set name="setindex.titlepage.recto.style"/> 60<xsl:attribute-set name="setindex.titlepage.verso.style"/> 61 62<xsl:attribute-set name="section.titlepage.recto.style"/> 63<xsl:attribute-set name="section.titlepage.verso.style"/> 64 65<xsl:attribute-set name="sect1.titlepage.recto.style" 66 use-attribute-sets="section.titlepage.recto.style"/> 67<xsl:attribute-set name="sect1.titlepage.verso.style" 68 use-attribute-sets="section.titlepage.verso.style"/> 69 70<xsl:attribute-set name="sect2.titlepage.recto.style" 71 use-attribute-sets="section.titlepage.recto.style"/> 72<xsl:attribute-set name="sect2.titlepage.verso.style" 73 use-attribute-sets="section.titlepage.verso.style"/> 74 75<xsl:attribute-set name="sect3.titlepage.recto.style" 76 use-attribute-sets="section.titlepage.recto.style"/> 77<xsl:attribute-set name="sect3.titlepage.verso.style" 78 use-attribute-sets="section.titlepage.verso.style"/> 79 80<xsl:attribute-set name="sect4.titlepage.recto.style" 81 use-attribute-sets="section.titlepage.recto.style"/> 82<xsl:attribute-set name="sect4.titlepage.verso.style" 83 use-attribute-sets="section.titlepage.verso.style"/> 84 85<xsl:attribute-set name="sect5.titlepage.recto.style" 86 use-attribute-sets="section.titlepage.recto.style"/> 87<xsl:attribute-set name="sect5.titlepage.verso.style" 88 use-attribute-sets="section.titlepage.verso.style"/> 89 90<xsl:attribute-set name="simplesect.titlepage.recto.style" 91 use-attribute-sets="section.titlepage.recto.style"/> 92<xsl:attribute-set name="simplesect.titlepage.verso.style" 93 use-attribute-sets="section.titlepage.verso.style"/> 94 95<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> 96<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> 97 98<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> 99<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> 100 101<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> 102<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> 103 104<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> 105<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> 106 107<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> 108<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> 109 110<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> 111<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> 112 113<!-- ==================================================================== --> 114 115<xsl:template match="*" mode="titlepage.mode"> 116 <!-- if an element isn't found in this mode, try the default mode --> 117 <xsl:apply-templates select="."/> 118</xsl:template> 119 120<xsl:template match="abbrev" mode="titlepage.mode"> 121 <span class="{name(.)}"> 122 <xsl:apply-templates mode="titlepage.mode"/> 123 <br/> 124 </span> 125</xsl:template> 126 127<xsl:template match="abstract" mode="titlepage.mode"> 128 <div class="{name(.)}"> 129 <xsl:call-template name="anchor"/> 130 <xsl:call-template name="formal.object.heading"> 131 <xsl:with-param name="title"> 132 <xsl:apply-templates select="." mode="title.markup"/> 133 </xsl:with-param> 134 </xsl:call-template> 135 <xsl:apply-templates mode="titlepage.mode"/> 136 </div> 137</xsl:template> 138 139<xsl:template match="abstract/title" mode="titlepage.mode"> 140</xsl:template> 141 142<xsl:template match="address" mode="titlepage.mode"> 143 <xsl:param name="suppress-numbers" select="'0'"/> 144 145 <xsl:variable name="rtf"> 146 <xsl:apply-templates mode="titlepage.mode"/> 147 </xsl:variable> 148 149 <xsl:choose> 150 <xsl:when test="$suppress-numbers = '0' 151 and @linenumbering = 'numbered' 152 and $use.extensions != '0' 153 and $linenumbering.extension != '0'"> 154 <div class="{name(.)}"> 155 <xsl:call-template name="paragraph"> 156 <xsl:with-param name="content"> 157 <xsl:call-template name="number.rtf.lines"> 158 <xsl:with-param name="rtf" select="$rtf"/> 159 </xsl:call-template> 160 </xsl:with-param> 161 </xsl:call-template> 162 </div> 163 </xsl:when> 164 165 <xsl:otherwise> 166 <div class="{name(.)}"> 167 <xsl:call-template name="paragraph"> 168 <xsl:with-param name="content"> 169 <xsl:call-template name="make-verbatim"> 170 <xsl:with-param name="rtf" select="$rtf"/> 171 </xsl:call-template> 172 </xsl:with-param> 173 </xsl:call-template> 174 </div> 175 </xsl:otherwise> 176 </xsl:choose> 177</xsl:template> 178 179<xsl:template match="affiliation" mode="titlepage.mode"> 180 <div class="{name(.)}"> 181 <xsl:apply-templates mode="titlepage.mode"/> 182 </div> 183</xsl:template> 184 185<xsl:template match="artpagenums" mode="titlepage.mode"> 186 <span class="{name(.)}"> 187 <xsl:apply-templates mode="titlepage.mode"/> 188 <br/> 189 </span> 190</xsl:template> 191 192<xsl:template match="author" mode="titlepage.mode"> 193 <div class="{name(.)}"> 194 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 195 <xsl:apply-templates mode="titlepage.mode" select="./contrib"/> 196 <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> 197 <xsl:apply-templates mode="titlepage.mode" select="./email"/> 198 </div> 199</xsl:template> 200 201<xsl:template match="authorblurb|personblurb" mode="titlepage.mode"> 202 <div class="{name(.)}"> 203 <xsl:apply-templates mode="titlepage.mode"/> 204 </div> 205</xsl:template> 206 207<xsl:template match="authorgroup" mode="titlepage.mode"> 208 <div class="{name(.)}"> 209 <xsl:apply-templates mode="titlepage.mode"/> 210 </div> 211</xsl:template> 212 213<xsl:template match="authorinitials" 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="bibliomisc" mode="titlepage.mode"> 221 <xsl:apply-templates mode="titlepage.mode"/> 222</xsl:template> 223 224<xsl:template match="bibliomset" mode="titlepage.mode"> 225 <xsl:apply-templates mode="titlepage.mode"/> 226</xsl:template> 227 228<xsl:template match="collab" mode="titlepage.mode"> 229 <span class="{name(.)}"> 230 <xsl:apply-templates mode="titlepage.mode"/> 231 <br/> 232 </span> 233</xsl:template> 234 235<xsl:template match="collabname" mode="titlepage.mode"> 236 <span class="{name(.)}"> 237 <xsl:apply-templates mode="titlepage.mode"/> 238 </span> 239</xsl:template> 240 241<xsl:template match="confgroup" mode="titlepage.mode"> 242 <div class="{name(.)}"> 243 <xsl:apply-templates mode="titlepage.mode"/> 244 </div> 245</xsl:template> 246 247<xsl:template match="confdates" mode="titlepage.mode"> 248 <span class="{name(.)}"> 249 <xsl:apply-templates mode="titlepage.mode"/> 250 <br/> 251 </span> 252</xsl:template> 253 254<xsl:template match="confsponsor" mode="titlepage.mode"> 255 <span class="{name(.)}"> 256 <xsl:apply-templates mode="titlepage.mode"/> 257 <br/> 258 </span> 259</xsl:template> 260 261<xsl:template match="conftitle" mode="titlepage.mode"> 262 <span class="{name(.)}"> 263 <xsl:apply-templates mode="titlepage.mode"/> 264 <br/> 265 </span> 266</xsl:template> 267 268<xsl:template match="confnum" mode="titlepage.mode"> 269 <!-- suppress --> 270</xsl:template> 271 272<xsl:template match="contractnum" mode="titlepage.mode"> 273 <span class="{name(.)}"> 274 <xsl:apply-templates mode="titlepage.mode"/> 275 <br/> 276 </span> 277</xsl:template> 278 279<xsl:template match="contractsponsor" mode="titlepage.mode"> 280 <span class="{name(.)}"> 281 <xsl:apply-templates mode="titlepage.mode"/> 282 <br/> 283 </span> 284</xsl:template> 285 286<xsl:template match="contrib" mode="titlepage.mode"> 287 <span class="{name(.)}"> 288 <xsl:apply-templates mode="titlepage.mode"/> 289 </span> 290</xsl:template> 291 292<xsl:template match="copyright" mode="titlepage.mode"> 293 <p class="{name(.)}"> 294 <xsl:call-template name="gentext"> 295 <xsl:with-param name="key" select="'Copyright'"/> 296 </xsl:call-template> 297 <xsl:call-template name="gentext.space"/> 298 <xsl:call-template name="dingbat"> 299 <xsl:with-param name="dingbat">copyright</xsl:with-param> 300 </xsl:call-template> 301 <xsl:call-template name="gentext.space"/> 302 <xsl:call-template name="copyright.years"> 303 <xsl:with-param name="years" select="year"/> 304 <xsl:with-param name="print.ranges" select="$make.year.ranges"/> 305 <xsl:with-param name="single.year.ranges" 306 select="$make.single.year.ranges"/> 307 </xsl:call-template> 308 <xsl:call-template name="gentext.space"/> 309 <xsl:apply-templates select="holder" mode="titlepage.mode"/> 310 </p> 311</xsl:template> 312 313<xsl:template match="year" mode="titlepage.mode"> 314 <xsl:choose> 315 <xsl:when test="$show.revisionflag != 0 and @revisionflag"> 316 <span class="{@revisionflag}"> 317 <xsl:apply-templates mode="titlepage.mode"/> 318 </span> 319 </xsl:when> 320 <xsl:otherwise> 321 <xsl:apply-templates mode="titlepage.mode"/> 322 </xsl:otherwise> 323 </xsl:choose> 324</xsl:template> 325 326<xsl:template match="holder" mode="titlepage.mode"> 327 <xsl:choose> 328 <xsl:when test="$show.revisionflag != 0 and @revisionflag"> 329 <span class="{@revisionflag}"> 330 <xsl:apply-templates mode="titlepage.mode"/> 331 </span> 332 </xsl:when> 333 <xsl:otherwise> 334 <xsl:apply-templates mode="titlepage.mode"/> 335 </xsl:otherwise> 336 </xsl:choose> 337 <xsl:if test="position() < last()"> 338 <xsl:text>, </xsl:text> 339 </xsl:if> 340</xsl:template> 341 342<xsl:template match="corpauthor" mode="titlepage.mode"> 343 <h3 class="{name(.)}"> 344 <xsl:apply-templates mode="titlepage.mode"/> 345 </h3> 346</xsl:template> 347 348<xsl:template match="corpcredit" mode="titlepage.mode"> 349 <span class="{name(.)}"> 350 <xsl:apply-templates mode="titlepage.mode"/> 351 <br/> 352 </span> 353</xsl:template> 354 355<xsl:template match="corpname" mode="titlepage.mode"> 356 <span class="{name(.)}"> 357 <xsl:apply-templates mode="titlepage.mode"/> 358 <br/> 359 </span> 360</xsl:template> 361 362<xsl:template match="date" mode="titlepage.mode"> 363 <span class="{name(.)}"> 364 <xsl:apply-templates mode="titlepage.mode"/> 365 <br/> 366 </span> 367</xsl:template> 368 369<xsl:template match="edition" mode="titlepage.mode"> 370 <p class="{name(.)}"> 371 <xsl:apply-templates mode="titlepage.mode"/> 372 <xsl:call-template name="gentext.space"/> 373 <xsl:call-template name="gentext"> 374 <xsl:with-param name="key" select="'Edition'"/> 375 </xsl:call-template> 376 </p> 377</xsl:template> 378 379<xsl:template match="editor" mode="titlepage.mode"> 380 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 381</xsl:template> 382 383<xsl:template match="editor[position()=1]" mode="titlepage.mode"> 384 <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4> 385 <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> 386</xsl:template> 387 388<xsl:template match="email" mode="titlepage.mode"> 389 <!-- use the normal e-mail handling code --> 390 <xsl:apply-templates select="."/> 391</xsl:template> 392 393<xsl:template match="firstname" mode="titlepage.mode"> 394 <span class="{name(.)}"> 395 <xsl:apply-templates mode="titlepage.mode"/> 396 <br/> 397 </span> 398</xsl:template> 399 400<xsl:template match="graphic" mode="titlepage.mode"> 401 <!-- use the normal graphic handling code --> 402 <xsl:apply-templates select="."/> 403</xsl:template> 404 405<xsl:template match="honorific" mode="titlepage.mode"> 406 <span class="{name(.)}"> 407 <xsl:apply-templates mode="titlepage.mode"/> 408 <br/> 409 </span> 410</xsl:template> 411 412<xsl:template match="isbn" mode="titlepage.mode"> 413 <span class="{name(.)}"> 414 <xsl:apply-templates mode="titlepage.mode"/> 415 <br/> 416 </span> 417</xsl:template> 418 419<xsl:template match="issn" mode="titlepage.mode"> 420 <span class="{name(.)}"> 421 <xsl:apply-templates mode="titlepage.mode"/> 422 <br/> 423 </span> 424</xsl:template> 425 426<xsl:template match="biblioid" mode="titlepage.mode"> 427 <span class="{name(.)}"> 428 <xsl:apply-templates mode="titlepage.mode"/> 429 <br/> 430 </span> 431</xsl:template> 432 433<xsl:template match="itermset" mode="titlepage.mode"> 434</xsl:template> 435 436<xsl:template match="invpartnumber" mode="titlepage.mode"> 437 <span class="{name(.)}"> 438 <xsl:apply-templates mode="titlepage.mode"/> 439 <br/> 440 </span> 441</xsl:template> 442 443<xsl:template match="issuenum" mode="titlepage.mode"> 444 <span class="{name(.)}"> 445 <xsl:apply-templates mode="titlepage.mode"/> 446 <br/> 447 </span> 448</xsl:template> 449 450<xsl:template match="jobtitle" mode="titlepage.mode"> 451 <span class="{name(.)}"> 452 <xsl:apply-templates mode="titlepage.mode"/> 453 <br/> 454 </span> 455</xsl:template> 456 457<xsl:template match="keywordset" mode="titlepage.mode"> 458</xsl:template> 459 460<xsl:template match="legalnotice" mode="titlepage.mode"> 461 <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> 462 <xsl:choose> 463 <xsl:when test="$generate.legalnotice.link != 0"> 464 <xsl:variable name="filename"> 465 <xsl:call-template name="make-relative-filename"> 466 <xsl:with-param name="base.dir" select="$base.dir"/> 467 <xsl:with-param name="base.name"> 468 <xsl:apply-templates mode="chunk-filename" select="."/> 469 </xsl:with-param> 470 </xsl:call-template> 471 </xsl:variable> 472 473 <xsl:variable name="title"> 474 <xsl:apply-templates select="." mode="title.markup"/> 475 </xsl:variable> 476 477 <xsl:variable name="href"> 478 <xsl:apply-templates mode="chunk-filename" select="."/> 479 </xsl:variable> 480 481 <a href="{$href}"> 482 <xsl:copy-of select="$title"/> 483 </a> 484 485 <xsl:call-template name="write.chunk"> 486 <xsl:with-param name="filename" select="$filename"/> 487 <xsl:with-param name="quiet" select="$chunk.quietly"/> 488 <xsl:with-param name="content"> 489 <xsl:call-template name="user.preroot"/> 490 <html> 491 <head> 492 <xsl:call-template name="system.head.content"/> 493 <xsl:call-template name="head.content"/> 494 <xsl:call-template name="user.head.content"/> 495 </head> 496 <body> 497 <xsl:call-template name="body.attributes"/> 498 <div class="{local-name(.)}"> 499 <xsl:apply-templates mode="titlepage.mode"/> 500 </div> 501 </body> 502 </html> 503 </xsl:with-param> 504 </xsl:call-template> 505 </xsl:when> 506 <xsl:otherwise> 507 <div class="{local-name(.)}"> 508 <a name="{$id}"/> 509 <xsl:apply-templates mode="titlepage.mode"/> 510 </div> 511 </xsl:otherwise> 512 </xsl:choose> 513</xsl:template> 514 515<xsl:template match="legalnotice/title" mode="titlepage.mode"> 516 <p class="legalnotice-title"><b><xsl:apply-templates/></b></p> 517</xsl:template> 518 519<xsl:template match="lineage" mode="titlepage.mode"> 520 <span class="{name(.)}"> 521 <xsl:apply-templates mode="titlepage.mode"/> 522 <br/> 523 </span> 524</xsl:template> 525 526<xsl:template match="modespec" mode="titlepage.mode"> 527</xsl:template> 528 529<xsl:template match="orgdiv" mode="titlepage.mode"> 530 <span class="{name(.)}"> 531 <xsl:apply-templates mode="titlepage.mode"/> 532 <br/> 533 </span> 534</xsl:template> 535 536<xsl:template match="orgname" mode="titlepage.mode"> 537 <span class="{name(.)}"> 538 <xsl:apply-templates mode="titlepage.mode"/> 539 <br/> 540 </span> 541</xsl:template> 542 543<xsl:template match="othercredit" mode="titlepage.mode"> 544 <xsl:variable name="contrib" select="string(contrib)"/> 545 <xsl:choose> 546 <xsl:when test="contrib"> 547 <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])"> 548 <xsl:call-template name="paragraph"> 549 <xsl:with-param name="class" select="name(.)"/> 550 <xsl:with-param name="content"> 551 <xsl:apply-templates mode="titlepage.mode" select="contrib"/> 552 <xsl:text>: </xsl:text> 553 <xsl:call-template name="person.name"/> 554 <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> 555 <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/> 556 </xsl:with-param> 557 </xsl:call-template> 558 </xsl:if> 559 </xsl:when> 560 <xsl:otherwise> 561 <xsl:call-template name="paragraph"> 562 <xsl:with-param name="class" select="name(.)"/> 563 <xsl:with-param name="content"> 564 <xsl:call-template name="person.name"/> 565 </xsl:with-param> 566 </xsl:call-template> 567 <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> 568 </xsl:otherwise> 569 </xsl:choose> 570</xsl:template> 571 572<xsl:template match="othercredit" mode="titlepage.othercredits"> 573 <xsl:text>, </xsl:text> 574 <xsl:call-template name="person.name"/> 575</xsl:template> 576 577<xsl:template match="othername" mode="titlepage.mode"> 578 <span class="{name(.)}"> 579 <xsl:apply-templates mode="titlepage.mode"/> 580 <br/> 581 </span> 582</xsl:template> 583 584<xsl:template match="pagenums" mode="titlepage.mode"> 585 <span class="{name(.)}"> 586 <xsl:apply-templates mode="titlepage.mode"/> 587 <br/> 588 </span> 589</xsl:template> 590 591<xsl:template match="printhistory" mode="titlepage.mode"> 592 <div class="{name(.)}"> 593 <xsl:apply-templates mode="titlepage.mode"/> 594 </div> 595</xsl:template> 596 597<xsl:template match="productname" mode="titlepage.mode"> 598 <span class="{name(.)}"> 599 <xsl:apply-templates mode="titlepage.mode"/> 600 <br/> 601 </span> 602</xsl:template> 603 604<xsl:template match="productnumber" mode="titlepage.mode"> 605 <span class="{name(.)}"> 606 <xsl:apply-templates mode="titlepage.mode"/> 607 <br/> 608 </span> 609</xsl:template> 610 611<xsl:template match="pubdate" mode="titlepage.mode"> 612 <xsl:call-template name="paragraph"> 613 <xsl:with-param name="class" select="name(.)"/> 614 <xsl:with-param name="content"> 615 <xsl:apply-templates mode="titlepage.mode"/> 616 </xsl:with-param> 617 </xsl:call-template> 618</xsl:template> 619 620<xsl:template match="publisher" mode="titlepage.mode"> 621 <xsl:call-template name="paragraph"> 622 <xsl:with-param name="class" select="name(.)"/> 623 <xsl:with-param name="content"> 624 <xsl:apply-templates mode="titlepage.mode"/> 625 </xsl:with-param> 626 </xsl:call-template> 627</xsl:template> 628 629<xsl:template match="publishername" mode="titlepage.mode"> 630 <span class="{name(.)}"> 631 <xsl:apply-templates mode="titlepage.mode"/> 632 <br/> 633 </span> 634</xsl:template> 635 636<xsl:template match="pubsnumber" mode="titlepage.mode"> 637 <span class="{name(.)}"> 638 <xsl:apply-templates mode="titlepage.mode"/> 639 <br/> 640 </span> 641</xsl:template> 642 643<xsl:template match="releaseinfo" mode="titlepage.mode"> 644 <xsl:call-template name="paragraph"> 645 <xsl:with-param name="class" select="name(.)"/> 646 <xsl:with-param name="content"> 647 <xsl:apply-templates mode="titlepage.mode"/> 648 </xsl:with-param> 649 </xsl:call-template> 650</xsl:template> 651 652<xsl:template match="revhistory" mode="titlepage.mode"> 653 <xsl:variable name="numcols"> 654 <xsl:choose> 655 <xsl:when test=".//authorinitials|.//author">3</xsl:when> 656 <xsl:otherwise>2</xsl:otherwise> 657 </xsl:choose> 658 </xsl:variable> 659 660 <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> 661 662 <xsl:variable name="title"> 663 <xsl:call-template name="gentext"> 664 <xsl:with-param name="key">RevHistory</xsl:with-param> 665 </xsl:call-template> 666 </xsl:variable> 667 668 <xsl:variable name="contents"> 669 <div class="{name(.)}"> 670 <table border="1" width="100%" summary="Revision history"> 671 <tr> 672 <th align="left" valign="top" colspan="{$numcols}"> 673 <b> 674 <xsl:call-template name="gentext"> 675 <xsl:with-param name="key" select="'RevHistory'"/> 676 </xsl:call-template> 677 </b> 678 </th> 679 </tr> 680 <xsl:apply-templates mode="titlepage.mode"> 681 <xsl:with-param name="numcols" select="$numcols"/> 682 </xsl:apply-templates> 683 </table> 684 </div> 685 </xsl:variable> 686 687 <xsl:choose> 688 <xsl:when test="$generate.revhistory.link != 0"> 689 <xsl:variable name="filename"> 690 <xsl:call-template name="make-relative-filename"> 691 <xsl:with-param name="base.dir" select="$base.dir"/> 692 <xsl:with-param name="base.name" select="concat($id,$html.ext)"/> 693 </xsl:call-template> 694 </xsl:variable> 695 696 <a href="{concat($id,$html.ext)}"> 697 <xsl:copy-of select="$title"/> 698 </a> 699 700 <xsl:call-template name="write.chunk"> 701 <xsl:with-param name="filename" select="$filename"/> 702 <xsl:with-param name="quiet" select="$chunk.quietly"/> 703 <xsl:with-param name="content"> 704 <xsl:call-template name="user.preroot"/> 705 <html> 706 <head> 707 <xsl:call-template name="system.head.content"/> 708 <xsl:call-template name="head.content"> 709 <xsl:with-param name="title"> 710 <xsl:value-of select="$title"/> 711 <xsl:if test="../../title"> 712 <xsl:value-of select="concat(' (', ../../title, ')')"/> 713 </xsl:if> 714 </xsl:with-param> 715 </xsl:call-template> 716 <xsl:call-template name="user.head.content"/> 717 </head> 718 <body> 719 <xsl:call-template name="body.attributes"/> 720 <xsl:copy-of select="$contents"/> 721 </body> 722 </html> 723 </xsl:with-param> 724 </xsl:call-template> 725 </xsl:when> 726 <xsl:otherwise> 727 <xsl:copy-of select="$contents"/> 728 </xsl:otherwise> 729 </xsl:choose> 730</xsl:template> 731 732<xsl:template match="revhistory/revision" mode="titlepage.mode"> 733 <xsl:param name="numcols" select="'3'"/> 734 <xsl:variable name="revnumber" select="revnumber"/> 735 <xsl:variable name="revdate" select="date"/> 736 <xsl:variable name="revauthor" select="authorinitials|author"/> 737 <xsl:variable name="revremark" select="revremark|revdescription"/> 738 <tr> 739 <td align="left"> 740 <xsl:if test="$revnumber"> 741 <xsl:call-template name="gentext"> 742 <xsl:with-param name="key" select="'Revision'"/> 743 </xsl:call-template> 744 <xsl:call-template name="gentext.space"/> 745 <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> 746 </xsl:if> 747 </td> 748 <td align="left"> 749 <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> 750 </td> 751 <xsl:choose> 752 <xsl:when test="$revauthor"> 753 <td align="left"> 754 <xsl:for-each select="$revauthor"> 755 <xsl:apply-templates select="." mode="titlepage.mode"/> 756 <xsl:if test="position() != last()"> 757 <xsl:text>, </xsl:text> 758 </xsl:if> 759 </xsl:for-each> 760 </td> 761 </xsl:when> 762 <xsl:when test="$numcols > 2"> 763 <td> </td> 764 </xsl:when> 765 <xsl:otherwise></xsl:otherwise> 766 </xsl:choose> 767 </tr> 768 <xsl:if test="$revremark"> 769 <tr> 770 <td align="left" colspan="{$numcols}"> 771 <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> 772 </td> 773 </tr> 774 </xsl:if> 775</xsl:template> 776 777<xsl:template match="revision/revnumber" mode="titlepage.mode"> 778 <xsl:apply-templates mode="titlepage.mode"/> 779</xsl:template> 780 781<xsl:template match="revision/date" mode="titlepage.mode"> 782 <xsl:apply-templates mode="titlepage.mode"/> 783</xsl:template> 784 785<xsl:template match="revision/authorinitials" mode="titlepage.mode"> 786 <xsl:apply-templates mode="titlepage.mode"/> 787</xsl:template> 788 789<xsl:template match="revision/author" mode="titlepage.mode"> 790 <xsl:apply-templates mode="titlepage.mode"/> 791</xsl:template> 792 793<xsl:template match="revision/revremark" mode="titlepage.mode"> 794 <xsl:apply-templates mode="titlepage.mode"/> 795</xsl:template> 796 797<xsl:template match="revision/revdescription" mode="titlepage.mode"> 798 <xsl:apply-templates mode="titlepage.mode"/> 799</xsl:template> 800 801<xsl:template match="seriesvolnums" mode="titlepage.mode"> 802 <span class="{name(.)}"> 803 <xsl:apply-templates mode="titlepage.mode"/> 804 <br/> 805 </span> 806</xsl:template> 807 808<xsl:template match="shortaffil" mode="titlepage.mode"> 809 <span class="{name(.)}"> 810 <xsl:apply-templates mode="titlepage.mode"/> 811 <br/> 812 </span> 813</xsl:template> 814 815<xsl:template match="subjectset" mode="titlepage.mode"> 816</xsl:template> 817 818<xsl:template match="subtitle" mode="titlepage.mode"> 819 <h2 class="{name(.)}"> 820 <xsl:apply-templates mode="titlepage.mode"/> 821 </h2> 822</xsl:template> 823 824<xsl:template match="surname" mode="titlepage.mode"> 825 <span class="{name(.)}"> 826 <xsl:apply-templates mode="titlepage.mode"/> 827 <br/> 828 </span> 829</xsl:template> 830 831<xsl:template match="title" mode="titlepage.mode"> 832 <xsl:variable name="id"> 833 <xsl:choose> 834 <!-- if title is in an *info wrapper, get the grandparent --> 835 <xsl:when test="contains(local-name(..), 'info')"> 836 <xsl:call-template name="object.id"> 837 <xsl:with-param name="object" select="../.."/> 838 </xsl:call-template> 839 </xsl:when> 840 <xsl:otherwise> 841 <xsl:call-template name="object.id"> 842 <xsl:with-param name="object" select=".."/> 843 </xsl:call-template> 844 </xsl:otherwise> 845 </xsl:choose> 846 </xsl:variable> 847 848 <h1 class="{name(.)}"> 849 <a name="{$id}"/> 850 <xsl:choose> 851 <xsl:when test="$show.revisionflag != 0 and @revisionflag"> 852 <span class="{@revisionflag}"> 853 <xsl:apply-templates mode="titlepage.mode"/> 854 </span> 855 </xsl:when> 856 <xsl:otherwise> 857 <xsl:apply-templates mode="titlepage.mode"/> 858 </xsl:otherwise> 859 </xsl:choose> 860 </h1> 861</xsl:template> 862 863<xsl:template match="titleabbrev" mode="titlepage.mode"> 864 <!-- nop; title abbreviations don't belong on the title page! --> 865</xsl:template> 866 867<xsl:template match="volumenum" mode="titlepage.mode"> 868 <span class="{name(.)}"> 869 <xsl:apply-templates mode="titlepage.mode"/> 870 <br/> 871 </span> 872</xsl:template> 873 874<!-- ==================================================================== --> 875 876</xsl:stylesheet> 877