doc: Document structures and unions in addition to classes
authorBill Spitzak <spitzak@gmail.com>
Fri, 19 Dec 2014 04:15:08 +0000 (20:15 -0800)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Fri, 19 Dec 2014 14:27:51 +0000 (16:27 +0200)
This provides targets for some of the doxygen links, and some of
them have useful memberof function lists.

Added some if/else statements to reduce validation errors.

Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
doc/publican/doxygen-to-publican.xsl

index 08a71e7..dfd47ee 100644 (file)
       'SC', 'sc')"/>.
     </para>
 
-    <xsl:apply-templates select="/doxygen/compounddef[@kind='class']" />
+    <xsl:apply-templates select="/doxygen/compounddef[@kind!='file' and @kind!='dir']" />
 
     <section id="{$which}-Functions">
       <title>Functions</title>
       <para />
       <variablelist>
-        <xsl:apply-templates select="/doxygen/compounddef[@kind!='class']/sectiondef/memberdef" />
+        <xsl:apply-templates select="/doxygen/compounddef[@kind='file']/sectiondef/memberdef" />
       </variablelist>
     </section>
 
 
 <!-- classes -->
 <xsl:template match="compounddef" >
-  <xsl:if test="@kind = 'class'">
     <section id="{$which}-{@id}">
         <title>
             <xsl:value-of select="compoundname" />
                 - <xsl:apply-templates select="briefdescription" />
             </xsl:if>
         </title>
-
-        <xsl:apply-templates select="detaileddescription" />
-
-        <variablelist>
-          <xsl:apply-templates select="sectiondef/memberdef" />
-        </variablelist>
+        <xsl:choose>
+          <xsl:when test="normalize-space(detaileddescription) != ''">
+            <xsl:apply-templates select="detaileddescription" />
+          </xsl:when>
+          <xsl:otherwise>
+            <para />
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:if test="sectiondef/memberdef[@kind='function' and @static='no']">
+          <variablelist>
+            <xsl:apply-templates select="sectiondef/memberdef" />
+          </variablelist>
+        </xsl:if>
     </section>
-  </xsl:if>
 </xsl:template>
 </xsl:stylesheet>