]> granicus.if.org Git - docbook-dsssl/commitdiff
Support optional titles on ToCs
authorNorman Walsh <ndw@nwalsh.com>
Fri, 4 Oct 2002 11:15:35 +0000 (11:15 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Fri, 4 Oct 2002 11:15:35 +0000 (11:15 +0000)
xsl/html/autotoc.xsl
xsl/html/component.xsl
xsl/html/sections.xsl

index 8f3584e14cbbe239feb3341202fca4a65fb81e3d..59968cdf3e16858251e9f8a327884770b88176a1 100644 (file)
 
 <xsl:template name="make.toc">
   <xsl:param name="toc-context" select="."/>
+  <xsl:param name="toc.title.p" select="true()"/>
   <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
 
   <xsl:variable name="toc.title">
-    <p>
-      <b>
-        <xsl:call-template name="gentext">
-          <xsl:with-param name="key">TableofContents</xsl:with-param>
-        </xsl:call-template>
-      </b>
-    </p>
+    <xsl:if test="$toc.title.p">
+      <p>
+        <b>
+          <xsl:call-template name="gentext">
+            <xsl:with-param name="key">TableofContents</xsl:with-param>
+          </xsl:call-template>
+        </b>
+      </p>
+    </xsl:if>
   </xsl:variable>
 
   <xsl:choose>
 
 <xsl:template name="component.toc">
   <xsl:param name="toc-context" select="."/>
+  <xsl:param name="toc.title.p" select="true()"/>
 
   <xsl:call-template name="make.toc">
     <xsl:with-param name="toc-context" select="$toc-context"/>
+    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
     <xsl:with-param name="nodes" select="section|sect1|refentry
                                          |article|bibliography|glossary
                                          |appendix
 
 <xsl:template name="section.toc">
   <xsl:param name="toc-context" select="."/>
+  <xsl:param name="toc.title.p" select="true()"/>
 
   <xsl:call-template name="make.toc">
     <xsl:with-param name="toc-context" select="$toc-context"/>
+    <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
     <xsl:with-param name="nodes"
                     select="section|sect1|sect2|sect3|sect4|sect5|refentry
                            |bridgehead[$bridgehead.in.toc != 0]"/>
index 101a6b99bc1586f8eedaff8039c2536409e00afd..433841a95db609b046f56c9610733b2fa459dced 100644 (file)
     </xsl:variable>
 
     <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc"/>
+      <xsl:call-template name="component.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
     <xsl:call-template name="process.footnotes"/>
       </xsl:call-template>
     </xsl:variable>
     <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc"/>
+      <xsl:call-template name="component.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
     <xsl:call-template name="process.footnotes"/>
         <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
       </xsl:call-template>
     </xsl:variable>
+
     <xsl:if test="contains($toc.params, 'toc')">
-      <xsl:call-template name="component.toc"/>
+      <xsl:call-template name="component.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
 
     <xsl:apply-templates/>
 
     <xsl:call-template name="article.titlepage"/>
 
+    <xsl:variable name="toc.params">
+      <xsl:call-template name="find.path.params">
+        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
+      </xsl:call-template>
+    </xsl:variable>
+
     <xsl:call-template name="make.lots">
-      <xsl:with-param name="toc.params">
-        <xsl:call-template name="find.path.params">
-          <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
-        </xsl:call-template>
-      </xsl:with-param>
+      <xsl:with-param name="toc.params" select="$toc.params"/>
       <xsl:with-param name="toc">
-        <xsl:call-template name="component.toc"/>
+        <xsl:call-template name="component.toc">
+          <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+        </xsl:call-template>
       </xsl:with-param>
     </xsl:call-template>
 
index 20782735d6295a993c1f79123232e6e3e9be6e71..a280917d32fee471561053b3c39705364032c26e 100644 (file)
@@ -29,7 +29,9 @@
     <xsl:if test="(contains($toc.params, 'toc')
                    and $depth &lt;= $generate.section.toc.level)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
     <xsl:call-template name="process.chunk.footnotes"/>
@@ -80,7 +82,9 @@
     <xsl:if test="(contains($toc.params, 'toc')
                    and $generate.section.toc.level &gt;= 1)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
     <xsl:call-template name="process.chunk.footnotes"/>
     <xsl:if test="(contains($toc.params, 'toc')
                    and $generate.section.toc.level &gt;= 2)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
   </div>
     <xsl:if test="(contains($toc.params, 'toc')
                    and $generate.section.toc.level &gt;= 3)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
   </div>
     <xsl:if test="(contains($toc.params, 'toc')
                    and $generate.section.toc.level &gt;= 4)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
   </div>
     <xsl:if test="(contains($toc.params, 'toc')
                    and $generate.section.toc.level &gt;= 5)
                   or refentry">
-      <xsl:call-template name="section.toc"/>
+      <xsl:call-template name="section.toc">
+        <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+      </xsl:call-template>
     </xsl:if>
     <xsl:apply-templates/>
   </div>