]> granicus.if.org Git - docbook-dsssl/commitdiff
Add support for @renderas to section and sect1 et al headings.
authorBob Stayton <bobs@sagehill.net>
Sun, 15 Aug 2004 07:52:04 +0000 (07:52 +0000)
committerBob Stayton <bobs@sagehill.net>
Sun, 15 Aug 2004 07:52:04 +0000 (07:52 +0000)
xsl/html/sections.xsl

index 55595b81042b31be89307ebf3c6cc146ecd697d1..f113a9ecf218ac1e7755fd22fbcaafb8506bc703 100644 (file)
                                         |ancestor::sect4
                                         |ancestor::sect5)[last()]"/>
 
+  <xsl:variable name="renderas">
+    <xsl:choose>
+      <xsl:when test="$section/@renderas = 'sect1'">1</xsl:when>
+      <xsl:when test="$section/@renderas = 'sect2'">2</xsl:when>
+      <xsl:when test="$section/@renderas = 'sect3'">3</xsl:when>
+      <xsl:when test="$section/@renderas = 'sect4'">4</xsl:when>
+      <xsl:when test="$section/@renderas = 'sect5'">5</xsl:when>
+      <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
   <xsl:variable name="level">
-    <xsl:call-template name="section.level">
-      <xsl:with-param name="node" select="$section"/>
-    </xsl:call-template>
+    <xsl:choose>
+      <xsl:when test="$renderas != ''">
+        <xsl:value-of select="$renderas"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="section.level">
+          <xsl:with-param name="node" select="$section"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:variable>
 
   <xsl:call-template name="section.heading">
 <xsl:template match="sect1">
   <div class="{name(.)}">
     <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="sect1.titlepage"/>
+
+    <xsl:choose>
+      <xsl:when test="@renderas = 'sect2'">
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect3'">
+        <xsl:call-template name="sect3.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect4'">
+        <xsl:call-template name="sect4.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect5'">
+        <xsl:call-template name="sect5.titlepage"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="sect1.titlepage"/>
+      </xsl:otherwise>
+    </xsl:choose>
 
     <xsl:variable name="toc.params">
       <xsl:call-template name="find.path.params">
 <xsl:template match="sect2">
   <div class="{name(.)}">
     <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="sect2.titlepage"/>
+
+    <xsl:choose>
+      <xsl:when test="@renderas = 'sect1'">
+        <xsl:call-template name="sect1.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect3'">
+        <xsl:call-template name="sect3.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect4'">
+        <xsl:call-template name="sect4.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect5'">
+        <xsl:call-template name="sect5.titlepage"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:otherwise>
+    </xsl:choose>
 
     <xsl:variable name="toc.params">
       <xsl:call-template name="find.path.params">
 <xsl:template match="sect3">
   <div class="{name(.)}">
     <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="sect3.titlepage"/>
+
+    <xsl:choose>
+      <xsl:when test="@renderas = 'sect1'">
+        <xsl:call-template name="sect1.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect2'">
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect4'">
+        <xsl:call-template name="sect4.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect5'">
+        <xsl:call-template name="sect5.titlepage"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="sect3.titlepage"/>
+      </xsl:otherwise>
+    </xsl:choose>
 
     <xsl:variable name="toc.params">
       <xsl:call-template name="find.path.params">
 <xsl:template match="sect4">
   <div class="{name(.)}">
     <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="sect4.titlepage"/>
+
+    <xsl:choose>
+      <xsl:when test="@renderas = 'sect1'">
+        <xsl:call-template name="sect1.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect2'">
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect3'">
+        <xsl:call-template name="sect3.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect5'">
+        <xsl:call-template name="sect5.titlepage"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="sect4.titlepage"/>
+      </xsl:otherwise>
+    </xsl:choose>
 
     <xsl:variable name="toc.params">
       <xsl:call-template name="find.path.params">
 <xsl:template match="sect5">
   <div class="{name(.)}">
     <xsl:call-template name="language.attribute"/>
-    <xsl:call-template name="sect5.titlepage"/>
+
+    <xsl:choose>
+      <xsl:when test="@renderas = 'sect1'">
+        <xsl:call-template name="sect1.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect2'">
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect3'">
+        <xsl:call-template name="sect3.titlepage"/>
+      </xsl:when>
+      <xsl:when test="@renderas = 'sect4'">
+        <xsl:call-template name="sect4.titlepage"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="sect5.titlepage"/>
+      </xsl:otherwise>
+    </xsl:choose>
 
     <xsl:variable name="toc.params">
       <xsl:call-template name="find.path.params">