2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 
   3                 xmlns:fo="http://www.w3.org/1999/XSL/Format"
 
   6 <!-- ********************************************************************
 
   7      $Id: titlepage.xsl 8804 2010-08-09 16:41:43Z bobstayton $
 
   8      ********************************************************************
 
  10      This file is part of the XSL DocBook Stylesheet distribution.
 
  11      See ../README or http://docbook.sf.net/release/xsl/current/ for
 
  12      copyright and other information.
 
  14      ******************************************************************** -->
 
  16 <!-- ==================================================================== -->
 
  18 <xsl:attribute-set name="book.titlepage.recto.style">
 
  19   <xsl:attribute name="font-family">
 
  20     <xsl:value-of select="$title.fontset"/>
 
  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>
 
  27 <xsl:attribute-set name="book.titlepage.verso.style">
 
  28   <xsl:attribute name="font-size">10pt</xsl:attribute>
 
  31 <xsl:attribute-set name="article.titlepage.recto.style"/>
 
  32 <xsl:attribute-set name="article.titlepage.verso.style"/>
 
  34 <xsl:attribute-set name="set.titlepage.recto.style"/>
 
  35 <xsl:attribute-set name="set.titlepage.verso.style"/>
 
  37 <xsl:attribute-set name="part.titlepage.recto.style">
 
  38   <xsl:attribute name="text-align">center</xsl:attribute>
 
  41 <xsl:attribute-set name="part.titlepage.verso.style"/>
 
  43 <xsl:attribute-set name="partintro.titlepage.recto.style"/>
 
  44 <xsl:attribute-set name="partintro.titlepage.verso.style"/>
 
  46 <xsl:attribute-set name="reference.titlepage.recto.style"/>
 
  47 <xsl:attribute-set name="reference.titlepage.verso.style"/>
 
  49 <xsl:attribute-set name="dedication.titlepage.recto.style"/>
 
  50 <xsl:attribute-set name="dedication.titlepage.verso.style"/>
 
  52 <xsl:attribute-set name="acknowledgements.titlepage.recto.style"/>
 
  53 <xsl:attribute-set name="acknowledgements.titlepage.verso.style"/>
 
  55 <xsl:attribute-set name="preface.titlepage.recto.style"/>
 
  56 <xsl:attribute-set name="preface.titlepage.verso.style"/>
 
  58 <xsl:attribute-set name="chapter.titlepage.recto.style"/>
 
  59 <xsl:attribute-set name="chapter.titlepage.verso.style"/>
 
  61 <xsl:attribute-set name="appendix.titlepage.recto.style"/>
 
  62 <xsl:attribute-set name="appendix.titlepage.verso.style"/>
 
  64 <xsl:attribute-set name="bibliography.titlepage.recto.style"/>
 
  65 <xsl:attribute-set name="bibliography.titlepage.verso.style"/>
 
  67 <xsl:attribute-set name="bibliodiv.titlepage.recto.style"/>
 
  68 <xsl:attribute-set name="bibliodiv.titlepage.verso.style"/>
 
  70 <xsl:attribute-set name="glossary.titlepage.recto.style"/>
 
  71 <xsl:attribute-set name="glossary.titlepage.verso.style"/>
 
  73 <xsl:attribute-set name="glossdiv.titlepage.recto.style"/>
 
  74 <xsl:attribute-set name="glossdiv.titlepage.verso.style"/>
 
  76 <xsl:attribute-set name="index.titlepage.recto.style"/>
 
  77 <xsl:attribute-set name="index.titlepage.verso.style"/>
 
  79 <xsl:attribute-set name="setindex.titlepage.recto.style"/>
 
  80 <xsl:attribute-set name="setindex.titlepage.verso.style"/>
 
  82 <xsl:attribute-set name="indexdiv.titlepage.recto.style"/>
 
  83 <xsl:attribute-set name="indexdiv.titlepage.verso.style"/>
 
  85 <xsl:attribute-set name="colophon.titlepage.recto.style"/>
 
  86 <xsl:attribute-set name="colophon.titlepage.verso.style"/>
 
  88 <xsl:attribute-set name="sidebar.titlepage.recto.style"/>
 
  89 <xsl:attribute-set name="sidebar.titlepage.verso.style"/>
 
  91 <xsl:attribute-set name="qandaset.titlepage.recto.style"/>
 
  92 <xsl:attribute-set name="qandaset.titlepage.verso.style"/>
 
  94 <xsl:attribute-set name="section.titlepage.recto.style">
 
  95   <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
 
  98 <xsl:attribute-set name="section.titlepage.verso.style">
 
  99   <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
 
 100   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
 
 103 <xsl:attribute-set name="sect1.titlepage.recto.style"
 
 104                    use-attribute-sets="section.titlepage.recto.style"/>
 
 105 <xsl:attribute-set name="sect1.titlepage.verso.style"
 
 106                    use-attribute-sets="section.titlepage.verso.style"/>
 
 108 <xsl:attribute-set name="sect2.titlepage.recto.style"
 
 109                    use-attribute-sets="section.titlepage.recto.style"/>
 
 110 <xsl:attribute-set name="sect2.titlepage.verso.style"
 
 111                    use-attribute-sets="section.titlepage.verso.style"/>
 
 113 <xsl:attribute-set name="sect3.titlepage.recto.style"
 
 114                    use-attribute-sets="section.titlepage.recto.style"/>
 
 115 <xsl:attribute-set name="sect3.titlepage.verso.style"
 
 116                    use-attribute-sets="section.titlepage.verso.style"/>
 
 118 <xsl:attribute-set name="sect4.titlepage.recto.style"
 
 119                    use-attribute-sets="section.titlepage.recto.style"/>
 
 120 <xsl:attribute-set name="sect4.titlepage.verso.style"
 
 121                    use-attribute-sets="section.titlepage.verso.style"/>
 
 123 <xsl:attribute-set name="sect5.titlepage.recto.style"
 
 124                    use-attribute-sets="section.titlepage.recto.style"/>
 
 125 <xsl:attribute-set name="sect5.titlepage.verso.style"
 
 126                    use-attribute-sets="section.titlepage.verso.style"/>
 
 128 <xsl:attribute-set name="simplesect.titlepage.recto.style"
 
 129                    use-attribute-sets="section.titlepage.recto.style"/>
 
 130 <xsl:attribute-set name="simplesect.titlepage.verso.style"
 
 131                    use-attribute-sets="section.titlepage.verso.style"/>
 
 133 <xsl:attribute-set name="refnamediv.titlepage.recto.style"
 
 134                    use-attribute-sets="section.titlepage.recto.style"/>
 
 135 <xsl:attribute-set name="refnamediv.titlepage.verso.style"
 
 136                    use-attribute-sets="section.titlepage.verso.style"/>
 
 138 <xsl:attribute-set name="refsynopsisdiv.titlepage.recto.style"
 
 139                    use-attribute-sets="section.titlepage.recto.style"/>
 
 140 <xsl:attribute-set name="refsynopsisdiv.titlepage.verso.style"
 
 141                    use-attribute-sets="section.titlepage.verso.style"/>
 
 143 <xsl:attribute-set name="refsection.titlepage.recto.style"
 
 144                    use-attribute-sets="section.titlepage.recto.style"/>
 
 145 <xsl:attribute-set name="refsection.titlepage.verso.style"
 
 146                    use-attribute-sets="section.titlepage.verso.style"/>
 
 148 <xsl:attribute-set name="refsect1.titlepage.recto.style"
 
 149                    use-attribute-sets="section.titlepage.recto.style"/>
 
 150 <xsl:attribute-set name="refsect1.titlepage.verso.style"
 
 151                    use-attribute-sets="section.titlepage.verso.style"/>
 
 153 <xsl:attribute-set name="refsect2.titlepage.recto.style"
 
 154                    use-attribute-sets="section.titlepage.recto.style"/>
 
 155 <xsl:attribute-set name="refsect2.titlepage.verso.style"
 
 156                    use-attribute-sets="section.titlepage.verso.style"/>
 
 158 <xsl:attribute-set name="refsect3.titlepage.recto.style"
 
 159                    use-attribute-sets="section.titlepage.recto.style"/>
 
 160 <xsl:attribute-set name="refsect3.titlepage.verso.style"
 
 161                    use-attribute-sets="section.titlepage.verso.style"/>
 
 163 <xsl:attribute-set name="table.of.contents.titlepage.recto.style"/>
 
 164 <xsl:attribute-set name="table.of.contents.titlepage.verso.style"/>
 
 166 <xsl:attribute-set name="list.of.tables.titlepage.recto.style"/>
 
 167 <xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/>
 
 169 <xsl:attribute-set name="list.of.figures.titlepage.recto.style"/>
 
 170 <xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/>
 
 172 <xsl:attribute-set name="list.of.equations.titlepage.recto.style"/>
 
 173 <xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/>
 
 175 <xsl:attribute-set name="list.of.examples.titlepage.recto.style"/>
 
 176 <xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/>
 
 178 <xsl:attribute-set name="list.of.procedures.titlepage.recto.style"/>
 
 179 <xsl:attribute-set name="list.of.procedures.contents.titlepage.verso.style"/>
 
 181 <xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/>
 
 182 <xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/>
 
 184 <!-- ==================================================================== -->
 
 186 <xsl:template match="*" mode="titlepage.mode">
 
 187   <!-- if an element isn't found in this mode, try the default mode -->
 
 188   <xsl:apply-templates select="."/>
 
 191 <xsl:template match="abbrev" mode="titlepage.mode">
 
 192   <xsl:apply-templates mode="titlepage.mode"/>
 
 195 <xsl:template match="abstract" mode="titlepage.mode">
 
 196   <fo:block xsl:use-attribute-sets="abstract.properties">
 
 197     <fo:block xsl:use-attribute-sets="abstract.title.properties">
 
 199         <xsl:when test="title|info/title">
 
 200           <xsl:apply-templates select="title|info/title"/>
 
 203           <xsl:call-template name="gentext">
 
 204             <xsl:with-param name="key" select="'Abstract'"/>
 
 209     <xsl:apply-templates select="*[not(self::title)]" mode="titlepage.mode"/>
 
 213 <xsl:template match="abstract/title" mode="titlepage.mode"/>
 
 215 <xsl:template match="abstract/title" mode="titlepage.abstract.title.mode">
 
 216   <xsl:apply-templates mode="titlepage.mode"/>
 
 219 <xsl:template match="address" mode="titlepage.mode">
 
 220   <!-- use the normal address handling code -->
 
 221   <xsl:apply-templates select="."/>
 
 224 <xsl:template match="affiliation" mode="titlepage.mode">
 
 226     <xsl:apply-templates mode="titlepage.mode"/>
 
 230 <xsl:template match="artpagenums" mode="titlepage.mode">
 
 231   <xsl:apply-templates mode="titlepage.mode"/>
 
 234 <xsl:template match="author" mode="titlepage.mode">
 
 236     <xsl:call-template name="anchor"/>
 
 238       <xsl:when test="orgname">
 
 239         <xsl:apply-templates/>
 
 242         <xsl:call-template name="person.name"/>
 
 243         <xsl:if test="affiliation/orgname">
 
 244           <xsl:text>, </xsl:text>
 
 245           <xsl:apply-templates select="affiliation/orgname" mode="titlepage.mode"/>
 
 247         <xsl:if test="email|affiliation/address/email">
 
 248           <xsl:text> </xsl:text>
 
 249           <xsl:apply-templates select="(email|affiliation/address/email)[1]"/>
 
 256 <xsl:template match="authorblurb" mode="titlepage.mode">
 
 257   <xsl:apply-templates mode="titlepage.mode"/>
 
 260 <xsl:template match="authorgroup" mode="titlepage.mode">
 
 262     <xsl:call-template name="anchor"/>
 
 263     <xsl:apply-templates mode="titlepage.mode"/>
 
 267 <xsl:template match="authorinitials" mode="titlepage.mode">
 
 268   <xsl:apply-templates mode="titlepage.mode"/>
 
 271 <xsl:template match="bibliomisc" mode="titlepage.mode">
 
 272   <xsl:apply-templates mode="titlepage.mode"/>
 
 275 <xsl:template match="bibliomset" mode="titlepage.mode">
 
 276   <xsl:apply-templates mode="titlepage.mode"/>
 
 279 <xsl:template match="collab" mode="titlepage.mode">
 
 280   <xsl:apply-templates mode="titlepage.mode"/>
 
 283 <xsl:template match="confgroup" mode="titlepage.mode">
 
 285     <xsl:apply-templates mode="titlepage.mode"/>
 
 289 <xsl:template match="confdates" mode="titlepage.mode">
 
 291     <xsl:apply-templates mode="titlepage.mode"/>
 
 295 <xsl:template match="conftitle" mode="titlepage.mode">
 
 297     <xsl:apply-templates mode="titlepage.mode"/>
 
 301 <xsl:template match="confnum" mode="titlepage.mode">
 
 305 <xsl:template match="contractnum" mode="titlepage.mode">
 
 306   <xsl:apply-templates mode="titlepage.mode"/>
 
 309 <xsl:template match="contractsponsor" mode="titlepage.mode">
 
 310   <xsl:apply-templates mode="titlepage.mode"/>
 
 313 <xsl:template match="contrib" mode="titlepage.mode">
 
 314   <xsl:apply-templates mode="titlepage.mode"/>
 
 317 <xsl:template match="copyright" mode="titlepage.mode">
 
 318   <xsl:call-template name="gentext">
 
 319     <xsl:with-param name="key" select="'Copyright'"/>
 
 321   <xsl:call-template name="gentext.space"/>
 
 322   <xsl:call-template name="dingbat">
 
 323     <xsl:with-param name="dingbat">copyright</xsl:with-param>
 
 325   <xsl:call-template name="gentext.space"/>
 
 326   <xsl:call-template name="copyright.years">
 
 327     <xsl:with-param name="years" select="year"/>
 
 328     <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
 
 329     <xsl:with-param name="single.year.ranges"
 
 330                     select="$make.single.year.ranges"/>
 
 332   <xsl:call-template name="gentext.space"/>
 
 333   <xsl:apply-templates select="holder" mode="titlepage.mode"/>
 
 336 <xsl:template match="year" mode="titlepage.mode">
 
 337   <xsl:apply-templates/>
 
 340 <xsl:template match="holder" mode="titlepage.mode">
 
 341   <xsl:apply-templates/>
 
 342   <xsl:if test="position() < last()">
 
 343     <xsl:text>, </xsl:text>
 
 347 <xsl:template match="corpauthor" mode="titlepage.mode">
 
 348   <xsl:apply-templates mode="titlepage.mode"/>
 
 351 <xsl:template match="corpcredit" mode="titlepage.mode">
 
 352   <xsl:apply-templates mode="titlepage.mode"/>
 
 355 <xsl:template match="corpname" mode="titlepage.mode">
 
 356   <xsl:apply-templates mode="titlepage.mode"/>
 
 359 <xsl:template match="date" mode="titlepage.mode">
 
 360   <xsl:apply-templates mode="titlepage.mode"/>
 
 363 <xsl:template match="edition" mode="titlepage.mode">
 
 364   <xsl:apply-templates mode="titlepage.mode"/>
 
 365   <xsl:call-template name="gentext.space"/>
 
 366   <xsl:call-template name="gentext">
 
 367     <xsl:with-param name="key" select="'Edition'"/>
 
 371 <xsl:template match="editor" mode="titlepage.mode">
 
 372   <!-- The first editor is dealt with in the following template,
 
 373        which in turn displays all editors of the same mode. -->
 
 376 <xsl:template match="editor[1]" priority="2" mode="titlepage.mode">
 
 377   <xsl:call-template name="gentext.edited.by"/>
 
 378   <xsl:call-template name="gentext.space"/>
 
 379   <xsl:call-template name="person.name.list">
 
 380     <xsl:with-param name="person.list" select="../editor"/>
 
 384 <xsl:template match="firstname" mode="titlepage.mode">
 
 385   <xsl:apply-templates mode="titlepage.mode"/>
 
 388 <xsl:template match="graphic" mode="titlepage.mode">
 
 389   <!-- use the normal graphic handling code -->
 
 390   <xsl:apply-templates select="."/>
 
 393 <xsl:template match="honorific" mode="titlepage.mode">
 
 394   <xsl:apply-templates mode="titlepage.mode"/>
 
 397 <xsl:template match="isbn" mode="titlepage.mode">
 
 398   <xsl:apply-templates mode="titlepage.mode"/>
 
 401 <xsl:template match="issn" mode="titlepage.mode">
 
 402   <xsl:apply-templates mode="titlepage.mode"/>
 
 405 <xsl:template match="biblioid" mode="titlepage.mode">
 
 406   <xsl:apply-templates mode="titlepage.mode"/>
 
 409 <xsl:template match="itermset" mode="titlepage.mode">
 
 413 <xsl:template match="invpartnumber" mode="titlepage.mode">
 
 414   <xsl:apply-templates mode="titlepage.mode"/>
 
 417 <xsl:template match="issuenum" mode="titlepage.mode">
 
 418   <xsl:apply-templates mode="titlepage.mode"/>
 
 421 <xsl:template match="jobtitle" mode="titlepage.mode">
 
 423     <xsl:apply-templates mode="titlepage.mode"/>
 
 427 <xsl:template match="keywordset" mode="titlepage.mode">
 
 430 <xsl:template match="legalnotice" mode="titlepage.mode">
 
 432   <xsl:variable name="id">
 
 433     <xsl:call-template name="object.id"/>
 
 436   <fo:block id="{$id}">
 
 437     <xsl:if test="title"> <!-- FIXME: add param for using default title? -->
 
 438       <xsl:call-template name="formal.object.heading"/>
 
 440     <xsl:apply-templates mode="titlepage.mode"/>
 
 444 <xsl:template match="legalnotice/title" mode="titlepage.mode">
 
 447 <xsl:template match="lineage" mode="titlepage.mode">
 
 448   <xsl:apply-templates mode="titlepage.mode"/>
 
 451 <xsl:template match="modespec" mode="titlepage.mode">
 
 455 <xsl:template match="orgdiv" mode="titlepage.mode">
 
 456   <xsl:if test="preceding-sibling::*[1][self::orgname]">
 
 457     <xsl:text> </xsl:text>
 
 459   <xsl:apply-templates mode="titlepage.mode"/>
 
 462 <xsl:template match="orgname" mode="titlepage.mode">
 
 463   <xsl:apply-templates mode="titlepage.mode"/>
 
 466 <xsl:template match="othercredit" mode="titlepage.mode">
 
 467   <xsl:variable name="contrib" select="string(contrib)"/>
 
 469     <xsl:when test="contrib">
 
 470       <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
 
 472           <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
 
 473           <xsl:text>: </xsl:text>
 
 474           <xsl:call-template name="person.name"/>
 
 475           <xsl:apply-templates mode="titlepage.mode" select="affiliation"/>
 
 476           <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
 
 481       <fo:block><xsl:call-template name="person.name"/></fo:block>
 
 482       <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
 
 487 <xsl:template match="othercredit" mode="titlepage.othercredits">
 
 488   <xsl:text>, </xsl:text>
 
 489   <xsl:call-template name="person.name"/>
 
 492 <xsl:template match="othername" mode="titlepage.mode">
 
 493   <xsl:apply-templates mode="titlepage.mode"/>
 
 496 <xsl:template match="pagenums" mode="titlepage.mode">
 
 497   <xsl:apply-templates mode="titlepage.mode"/>
 
 500 <xsl:template match="printhistory" mode="titlepage.mode">
 
 501   <xsl:apply-templates mode="titlepage.mode"/>
 
 504 <xsl:template match="productname" mode="titlepage.mode">
 
 505   <xsl:apply-templates mode="titlepage.mode"/>
 
 508 <xsl:template match="productnumber" mode="titlepage.mode">
 
 509   <xsl:apply-templates mode="titlepage.mode"/>
 
 512 <xsl:template match="pubdate" mode="titlepage.mode">
 
 513   <xsl:apply-templates mode="titlepage.mode"/>
 
 516 <xsl:template match="publisher" mode="titlepage.mode">
 
 518     <xsl:apply-templates mode="titlepage.mode"/>
 
 522 <xsl:template match="publishername" mode="titlepage.mode">
 
 523   <xsl:apply-templates mode="titlepage.mode"/>
 
 526 <xsl:template match="pubsnumber" mode="titlepage.mode">
 
 527   <xsl:apply-templates mode="titlepage.mode"/>
 
 530 <xsl:template match="releaseinfo" mode="titlepage.mode">
 
 531   <xsl:apply-templates mode="titlepage.mode"/>
 
 534 <xsl:template match="revhistory" mode="titlepage.mode">
 
 536   <xsl:variable name="explicit.table.width">
 
 537     <xsl:call-template name="pi.dbfo_table-width"/>
 
 540   <xsl:variable name="table.width">
 
 542       <xsl:when test="$explicit.table.width != ''">
 
 543         <xsl:value-of select="$explicit.table.width"/>
 
 545       <xsl:when test="$default.table.width = ''">
 
 546         <xsl:text>100%</xsl:text>
 
 549         <xsl:value-of select="$default.table.width"/>
 
 554  <fo:table table-layout="fixed" width="{$table.width}" xsl:use-attribute-sets="revhistory.table.properties">
 
 555     <fo:table-column column-number="1" column-width="proportional-column-width(1)"/>
 
 556     <fo:table-column column-number="2" column-width="proportional-column-width(1)"/>
 
 557     <fo:table-column column-number="3" column-width="proportional-column-width(1)"/>
 
 558     <fo:table-body start-indent="0pt" end-indent="0pt">
 
 560         <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
 
 561           <fo:block xsl:use-attribute-sets="revhistory.title.properties">
 
 563               <xsl:when test="title|info/title">
 
 564                 <xsl:apply-templates select="title|info/title" mode="titlepage.mode"/>
 
 567                 <xsl:call-template name="gentext">
 
 568                   <xsl:with-param name="key" select="'RevHistory'"/>
 
 575       <xsl:apply-templates select="*[not(self::title)]" mode="titlepage.mode"/>
 
 582 <xsl:template match="revhistory/revision" mode="titlepage.mode">
 
 583   <xsl:variable name="revnumber" select="revnumber"/>
 
 584   <xsl:variable name="revdate"   select="date"/>
 
 585   <xsl:variable name="revauthor" select="authorinitials|author"/>
 
 586   <xsl:variable name="revremark" select="revremark|revdescription"/>
 
 588     <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
 
 590         <xsl:if test="$revnumber">
 
 591           <xsl:call-template name="gentext">
 
 592             <xsl:with-param name="key" select="'Revision'"/>
 
 594           <xsl:call-template name="gentext.space"/>
 
 595           <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/>
 
 599     <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
 
 601         <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/>
 
 604     <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties">
 
 606         <xsl:for-each select="$revauthor">
 
 607           <xsl:apply-templates select="." mode="titlepage.mode"/>
 
 608           <xsl:if test="position() != last()">
 
 609             <xsl:text>, </xsl:text>
 
 615   <xsl:if test="$revremark">
 
 617       <fo:table-cell number-columns-spanned="3" xsl:use-attribute-sets="revhistory.table.cell.properties">
 
 619           <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/>
 
 626 <xsl:template match="revision/revnumber" mode="titlepage.mode">
 
 627   <xsl:apply-templates mode="titlepage.mode"/>
 
 630 <xsl:template match="revision/date" mode="titlepage.mode">
 
 631   <xsl:apply-templates mode="titlepage.mode"/>
 
 634 <xsl:template match="revision/authorinitials" mode="titlepage.mode">
 
 635   <xsl:apply-templates mode="titlepage.mode"/>
 
 638 <xsl:template match="revision/author" mode="titlepage.mode">
 
 639   <xsl:apply-templates mode="titlepage.mode"/>
 
 642 <xsl:template match="revision/revremark" mode="titlepage.mode">
 
 643   <xsl:apply-templates mode="titlepage.mode"/>
 
 646 <xsl:template match="revision/revdescription" mode="titlepage.mode">
 
 647   <xsl:apply-templates mode="titlepage.mode"/>
 
 650 <xsl:template match="seriesvolnums" mode="titlepage.mode">
 
 651   <xsl:apply-templates mode="titlepage.mode"/>
 
 654 <xsl:template match="shortaffil" mode="titlepage.mode">
 
 655   <xsl:apply-templates mode="titlepage.mode"/>
 
 658 <xsl:template match="subjectset" mode="titlepage.mode">
 
 662 <xsl:template match="subtitle" mode="titlepage.mode">
 
 663   <xsl:apply-templates mode="titlepage.mode"/>
 
 666 <xsl:template match="surname" mode="titlepage.mode">
 
 667   <xsl:apply-templates mode="titlepage.mode"/>
 
 670 <xsl:template match="title" mode="titlepage.mode">
 
 671   <xsl:apply-templates mode="titlepage.mode"/>
 
 674 <xsl:template match="titleabbrev" mode="titlepage.mode">
 
 675   <xsl:apply-templates mode="titlepage.mode"/>
 
 678 <xsl:template match="volumenum" mode="titlepage.mode">
 
 679   <xsl:apply-templates mode="titlepage.mode"/>
 
 682 <!-- ==================================================================== -->
 
 683 <!-- Book templates -->
 
 685 <!-- Note: these templates cannot use *.titlepage.recto.mode or
 
 686      *.titlepage.verso.mode. If they do then subsequent use of a custom
 
 687      titlepage.templates.xml file will not work correctly. -->
 
 691 <xsl:template match="bookinfo/authorgroup|book/info/authorgroup"
 
 692               mode="titlepage.mode" priority="2">
 
 694     <xsl:call-template name="anchor"/>
 
 695     <xsl:apply-templates mode="titlepage.mode"/>
 
 701 <xsl:template name="book.verso.title">
 
 703     <xsl:apply-templates mode="titlepage.mode"/>
 
 705     <xsl:if test="following-sibling::subtitle
 
 706                   |following-sibling::info/subtitle
 
 707                   |following-sibling::bookinfo/subtitle">
 
 708       <xsl:text>: </xsl:text>
 
 710       <xsl:apply-templates select="(following-sibling::subtitle
 
 711                                    |following-sibling::info/subtitle
 
 712                                    |following-sibling::bookinfo/subtitle)[1]"
 
 713                            mode="book.verso.subtitle.mode"/>
 
 718 <xsl:template match="subtitle" mode="book.verso.subtitle.mode">
 
 719   <xsl:apply-templates mode="titlepage.mode"/>
 
 720   <xsl:if test="following-sibling::subtitle">
 
 721     <xsl:text>: </xsl:text>
 
 722     <xsl:apply-templates select="following-sibling::subtitle[1]"
 
 723                          mode="book.verso.subtitle.mode"/>
 
 727 <xsl:template name="verso.authorgroup">
 
 729     <xsl:call-template name="gentext">
 
 730       <xsl:with-param name="key" select="'by'"/>
 
 732     <xsl:text> </xsl:text>
 
 733     <xsl:call-template name="person.name.list">
 
 734       <xsl:with-param name="person.list" select="author|corpauthor|editor"/>
 
 737   <xsl:apply-templates select="othercredit" mode="titlepage.mode"/>
 
 740 <xsl:template match="bookinfo/author|book/info/author"
 
 741               mode="titlepage.mode" priority="2">
 
 743     <xsl:call-template name="person.name"/>
 
 747 <xsl:template match="bookinfo/corpauthor|book/info/corpauthor"
 
 748               mode="titlepage.mode" priority="2">
 
 750     <xsl:apply-templates/>
 
 754 <xsl:template match="bookinfo/pubdate|book/info/pubdate"
 
 755               mode="titlepage.mode" priority="2">
 
 757     <xsl:call-template name="gentext">
 
 758       <xsl:with-param name="key" select="'pubdate'"/>
 
 760     <xsl:text> </xsl:text>
 
 761     <xsl:apply-templates mode="titlepage.mode"/>
 
 765 <!-- ==================================================================== -->