]> granicus.if.org Git - docbook-dsssl/commitdiff
Simplified and streamlined handling of output for ANSI-style
authorMichael Smith <xmldoc@users.sourceforge.net>
Thu, 21 Feb 2008 04:10:17 +0000 (04:10 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Thu, 21 Feb 2008 04:10:17 +0000 (04:10 +0000)
funcprototype output, to correct a problem that was causing type
data to be lost in the output parameter definitions. For example,
for an instance like this:
  <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
... the brackets (indicating an array type) were being dropped.

xsl/html/synop.xsl

index 62e132ba6dbd32c42fd63c0a7a91665e08287e53..caa3129bbcf126c73abed4b7afb4e1792d29e324 100644 (file)
@@ -369,7 +369,7 @@ paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
       <xsl:apply-templates select="paramdef" mode="kr-funcsynopsis-mode"/>
     </blockquote>
   </xsl:if>
-  <div class="paramdef-list-spacer">&#160;</div> <!-- hACk: blank div for vertical spacing -->
+  <div class="funcprototype-spacer">&#160;</div> <!-- hACk: blank div for vertical spacing -->
 </xsl:template>
 
 <xsl:template match="funcdef" mode="kr-tabular">
@@ -606,10 +606,9 @@ paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
 <!-- funcprototype: ansi, tabular -->
 
 <xsl:template match="funcprototype" mode="ansi-tabular">
-  <table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
-    <xsl:if test="following-sibling::funcprototype">
-      <xsl:attribute name="style">padding-bottom: 1em</xsl:attribute>
-    </xsl:if>
+  <table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"
+    class="funcprototype-table"
+    >
     <tr>
       <td>
         <xsl:apply-templates select="funcdef" mode="ansi-tabular"/>
@@ -623,6 +622,7 @@ paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
       </tr>
     </xsl:for-each>
   </table>
+  <div class="funcprototype-spacer">&#160;</div> <!-- hACk: blank div for vertical spacing -->
 </xsl:template>
 
 <xsl:template match="funcdef" mode="ansi-tabular">
@@ -662,57 +662,8 @@ paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
 </xsl:template>
 
 <xsl:template match="paramdef" mode="ansi-tabular">
-  <xsl:variable name="type">
-    <xsl:choose>
-      <xsl:when test="type">
-       <xsl:apply-templates select="type"
-                            mode="ansi-tabular"/>
-      </xsl:when>
-      <xsl:when test="normalize-space(parameter/preceding-sibling::node()[not(self::parameter)]) != ''">
-       <xsl:copy-of select="parameter/preceding-sibling::node()[not(self::parameter)]"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$type != '' and funcparams">
-      <td>
-       <xsl:copy-of select="$type"/>
-        <xsl:text>&#160;</xsl:text>
-      </td>
       <td>
-       <xsl:choose>
-         <xsl:when test="type">
-           <xsl:apply-templates select="type/following-sibling::*"
-                                mode="ansi-tabular"/>
-         </xsl:when>
-         <xsl:otherwise>
-           <xsl:apply-templates select="*"
-                                mode="ansi-tabular"/>
-         </xsl:otherwise>
-       </xsl:choose>
-        <xsl:choose>
-          <xsl:when test="following-sibling::*">
-            <xsl:text>, </xsl:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <code>)</code>
-            <xsl:text>;</xsl:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </td>
-    </xsl:when>
-    <xsl:otherwise>
-      <td>
-        <xsl:apply-templates select="parameter/preceding-sibling::node()[not(self::parameter)]"
-                             mode="ansi-tabular"/>
-        <xsl:text>&#160;</xsl:text>
-      </td>
-      <td>
-        <xsl:apply-templates select="parameter"
-                             mode="ansi-tabular"/>
-        <xsl:apply-templates select="parameter/following-sibling::*[not(self::parameter)]"
-                             mode="ansi-tabular"/>
+        <xsl:apply-templates mode="ansi-tabular"/>
         <xsl:choose>
           <xsl:when test="following-sibling::*">
             <xsl:text>, </xsl:text>
@@ -723,8 +674,6 @@ paramdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*
           </xsl:otherwise>
         </xsl:choose>
       </td>
-    </xsl:otherwise>
-  </xsl:choose>
 </xsl:template>
 
 <xsl:template match="paramdef/parameter" mode="ansi-tabular">