home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / _166ABA1863124ECB852A030ADEEB79C9 < prev    next >
Encoding:
Extensible Markup Language  |  2002-09-04  |  23.7 KB  |  759 lines

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