Change default install to build tar-able and complete 'dist' folder
[senf.git] / doclib / html-munge.xsl
index 09c5bed..5b35045 100644 (file)
@@ -2,6 +2,8 @@
 <xsl:stylesheet version="1.0"\r
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\r
   xmlns:str="http://exslt.org/strings"\r
+  xmlns:set="http://exslt.org/sets"\r
+  xmlns:exslt="http://exslt.org/common"\r
   extension-element-prefixes="str">\r
 \r
   <xsl:output \r
 \r
   <!-- Reformat detailed member documentation -->\r
 \r
-  <xsl:template match="table[@class='memname'][contains(preceding::h1[1],' Class ')][contains(preceding::h1[1],' Reference')]">\r
-    <xsl:variable name="name"><xsl:value-of select="str:split(tr/td[@class='memname'],'::')[position()=last()]"/></xsl:variable>\r
-    <table class="memname">\r
+  <xsl:template match="table[@class='memname']">\r
+    <xsl:variable name="name1"><xsl:value-of select="str:split(tr/td[@class='memname'],'::')[position()=last()]"/></xsl:variable>\r
+    <xsl:variable name="name2"><xsl:value-of select="str:split(tr/td[@class='memname'],' ')[position()=last()]"/></xsl:variable>\r
+    <xsl:variable name="name"><xsl:value-of select="substring($name1,string-length($name1)-string-length($name2))"/></xsl:variable>\r
+    <xsl:element name="table">\r
+      <xsl:attribute name="class">\r
+        <xsl:text>memname</xsl:text>\r
+        <xsl:if test="contains(tr/td[@class='memname'],'#define')"><xsl:text> macro</xsl:text></xsl:if>\r
+      </xsl:attribute>\r
       <tr>\r
         <td class="memtype" colspan="5">\r
           <xsl:for-each select="tr/td[@class='memname']/*|tr/td[@class='memname']/text()">\r
         </xsl:otherwise>\r
       </xsl:choose>\r
       <tr>\r
-        <td colspan="5" class="memattrs"><xsl:copy-of select="tr/td[@width='100%']/code"/></td>\r
+        <td colspan="5" class="memattrs"><xsl:copy-of select="tr/td[@width='100%']/*|tr/td[@width='100%']/text()"/></td>\r
       </tr>\r
-    </table>\r
+    </xsl:element>\r
+  </xsl:template>\r
+\r
+  <!-- no idea, where these &nbsp;'s come frome ... -->\r
+  <xsl:template match="div[@class='memproto']/text()[.='&#160;&#x0a;']">\r
   </xsl:template>\r
 \r
   <!-- Add grouping to all-members page -->\r
       </xsl:variable>\r
       <xsl:if test="string($public-memfn)">\r
         <tr><td colspan="3"><h2>Public Member Functions</h2></td></tr>\r
-        <xsl:copy-of select="$public-memfn"/>\r
+        <xsl:copy-of select="set:distinct(exslt:node-set($public-memfn)/tr)"/>\r
       </xsl:if>\r
 \r
       <xsl:variable name="public-var">\r
   </xsl:template>\r
 \r
   <!-- Add CSS class to the brief documentation paragraph of the member documentation -->\r
-  <xsl:template match="div[@class='memdoc']/p[1]">\r
+  <xsl:template match="div[@class='memdoc']/p[1][not(contains(.,'Definition at line'))]">\r
     <xsl:call-template name="add-class">\r
       <xsl:with-param name="class">memtitle</xsl:with-param>\r
     </xsl:call-template>\r
   <xsl:template match="div[@id='content2']/ul/li[a/@class='elRef'][a/@doxygen][code/text()='[external]'][not(ul)]">\r
   </xsl:template>\r
 \r
-  <!-- Insert 'senf/'  into include paths -->\r
-  <xsl:template match="code[starts-with(text(),'#include &lt;')]/a">\r
-    <xsl:copy>\r
-      <xsl:call-template name="copy-attributes"/>\r
-      <xsl:text>senf/</xsl:text>\r
-      <xsl:apply-templates/>\r
-    </xsl:copy>\r
-  </xsl:template>\r
-\r
 </xsl:stylesheet>\r