]> granicus.if.org Git - docbook-dsssl/commitdiff
Bug #582192: support revdescription and improve effectiveness of html-rtf by extendin...
authorNorman Walsh <ndw@nwalsh.com>
Fri, 27 Sep 2002 12:39:29 +0000 (12:39 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Fri, 27 Sep 2002 12:39:29 +0000 (12:39 +0000)
xsl/html/block.xsl
xsl/html/titlepage.xsl

index af7583308054f1f88395b53d2ced4681d06963b2..b4787bb228b7300243b52f3f55be499907cfca4a 100644 (file)
 <!-- ==================================================================== -->
 
 <xsl:template match="para">
-  <xsl:variable name="p">
-    <p>
+  <xsl:call-template name="paragraph">
+    <xsl:with-param name="class">
       <xsl:if test="@role and $para.propagates.style != 0">
-        <xsl:attribute name="class">
-          <xsl:value-of select="@role"/>
-        </xsl:attribute>
+        <xsl:value-of select="@role"/>
       </xsl:if>
-
+    </xsl:with-param>
+    <xsl:with-param name="content">
       <xsl:if test="position() = 1 and parent::listitem">
         <xsl:call-template name="anchor">
           <xsl:with-param name="node" select="parent::listitem"/>
 
       <xsl:call-template name="anchor"/>
       <xsl:apply-templates/>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="paragraph">
+  <xsl:param name="class" select="''"/>
+  <xsl:param name="content"/>
+
+  <xsl:variable name="p">
+    <p>
+      <xsl:if test="$class != ''">
+        <xsl:attribute name="class">
+          <xsl:value-of select="$class"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:copy-of select="$content"/>
     </p>
   </xsl:variable>
 
 </xsl:template>
 
 <xsl:template match="formalpara">
-  <p>
-    <xsl:if test="@role and $para.propagates.style != 0">
-      <xsl:attribute name="class">
+  <xsl:call-template name="paragraph">
+    <xsl:with-param name="class">
+      <xsl:if test="@role and $para.propagates.style != 0">
         <xsl:value-of select="@role"/>
-      </xsl:attribute>
-    </xsl:if>
-
-    <xsl:call-template name="anchor"/>
-    <xsl:apply-templates/>
-  </p>
+      </xsl:if>
+    </xsl:with-param>
+    <xsl:with-param name="content">
+      <xsl:call-template name="anchor"/>
+      <xsl:apply-templates/>
+    </xsl:with-param>
+  </xsl:call-template>
 </xsl:template>
 
 <xsl:template match="formalpara/title">
   <xsl:variable name="revnumber" select=".//revnumber"/>
   <xsl:variable name="revdate"   select=".//date"/>
   <xsl:variable name="revauthor" select=".//authorinitials"/>
-  <xsl:variable name="revremark" select=".//revremark|../revdescription"/>
+  <xsl:variable name="revremark" select=".//revremark|.//revdescription"/>
   <tr>
     <td align="left">
       <xsl:if test="$revnumber">
index 5b3fca28bd006a40203a41c20aafa4071f75842d..d1bd7364d18711e03a1b927a8c117d20b40cde92 100644 (file)
                     and $use.extensions != '0'
                     and $linenumbering.extension != '0'">
       <div class="{name(.)}">
-        <p>
-          <xsl:call-template name="number.rtf.lines">
-            <xsl:with-param name="rtf" select="$rtf"/>
-          </xsl:call-template>
-        </p>
+        <xsl:call-template name="paragraph">
+          <xsl:with-param name="content">
+            <xsl:call-template name="number.rtf.lines">
+              <xsl:with-param name="rtf" select="$rtf"/>
+            </xsl:call-template>
+          </xsl:with-param>
+        </xsl:call-template>
       </div>
     </xsl:when>
 
     <xsl:otherwise>
       <div class="{name(.)}">
-        <p>
-          <xsl:apply-templates mode="titlepage.mode"/>
-        </p>
+        <xsl:call-template name="paragraph">
+          <xsl:with-param name="content">
+            <xsl:apply-templates mode="titlepage.mode"/>
+          </xsl:with-param>
+        </xsl:call-template>
       </div>
     </xsl:otherwise>
   </xsl:choose>
   <xsl:choose>
     <xsl:when test="contrib">
       <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])">
-        <p class="{name(.)}">
-          <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
-          <xsl:text>: </xsl:text>
-          <xsl:call-template name="person.name"/>
-          <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
-          <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
-        </p>
+        <xsl:call-template name="paragraph">
+          <xsl:with-param name="class" select="name(.)"/>
+          <xsl:with-param name="content">
+            <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
+            <xsl:text>: </xsl:text>
+            <xsl:call-template name="person.name"/>
+            <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
+            <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/>
+          </xsl:with-param>
+        </xsl:call-template>
       </xsl:if>
     </xsl:when>
     <xsl:otherwise>
-      <p class="{name(.)}"><xsl:call-template name="person.name"/></p>
+      <xsl:call-template name="paragraph">
+        <xsl:with-param name="class" select="name(.)"/>
+        <xsl:with-param name="content">
+          <xsl:call-template name="person.name"/>
+        </xsl:with-param>
+      </xsl:call-template>
       <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
     </xsl:otherwise>
   </xsl:choose>
 </xsl:template>
 
 <xsl:template match="pubdate" mode="titlepage.mode">
-  <p class="{name(.)}">
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </p>
+  <xsl:call-template name="paragraph">
+    <xsl:with-param name="class" select="name(.)"/>
+    <xsl:with-param name="content">
+      <xsl:apply-templates mode="titlepage.mode"/>
+    </xsl:with-param>
+  </xsl:call-template>
 </xsl:template>
 
 <xsl:template match="publisher" mode="titlepage.mode">
-  <p class="{name(.)}">
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </p>
+  <xsl:call-template name="paragraph">
+    <xsl:with-param name="class" select="name(.)"/>
+    <xsl:with-param name="content">
+      <xsl:apply-templates mode="titlepage.mode"/>
+    </xsl:with-param>
+  </xsl:call-template>
 </xsl:template>
 
 <xsl:template match="publishername" mode="titlepage.mode">
 </xsl:template>
 
 <xsl:template match="releaseinfo" mode="titlepage.mode">
-  <p class="{name(.)}">
-    <xsl:apply-templates mode="titlepage.mode"/>
-  </p>
+  <xsl:call-template name="paragraph">
+    <xsl:with-param name="class" select="name(.)"/>
+    <xsl:with-param name="content">
+      <xsl:apply-templates mode="titlepage.mode"/>
+    </xsl:with-param>
+  </xsl:call-template>
 </xsl:template>
 
 <xsl:template match="revhistory" mode="titlepage.mode">