<?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes" /> <xsl:param name="which" /> <xsl:template match="/"> <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='file']/sectiondef/memberdef" /> </variablelist> </section> </xsl:template> <xsl:template match="parameteritem"> <varlistentry> <term> <xsl:apply-templates select="parameternamelist/parametername"/> </term> <listitem> <simpara><xsl:apply-templates select="parameterdescription"/></simpara> </listitem> </varlistentry> </xsl:template> <xsl:template match="parameterlist"> <xsl:if test="parameteritem"> <variablelist> <xsl:apply-templates select="parameteritem" /> </variablelist> </xsl:if> </xsl:template> <xsl:template match="ref"> <link linkend="{$which}-{@refid}"><xsl:value-of select="." /></link> </xsl:template> <xsl:template match="simplesect[@kind='return']"> <variablelist> <varlistentry> <term>Returns:</term> <listitem> <simpara><xsl:apply-templates /></simpara> </listitem> </varlistentry> </variablelist> </xsl:template> <xsl:template match="simplesect[@kind='see']"> See also: <xsl:apply-templates /> </xsl:template> <xsl:template match="simplesect[@kind='since']"> Since: <xsl:apply-templates /> </xsl:template> <xsl:template match="simplesect[@kind='note']"> <emphasis>Note: <xsl:apply-templates /></emphasis> </xsl:template> <xsl:template match="sp"> <xsl:text> </xsl:text> </xsl:template> <xsl:template match="programlisting"> <programlisting><xsl:apply-templates /></programlisting> </xsl:template> <xsl:template match="itemizedlist"> <itemizedlist><xsl:apply-templates select="listitem" /></itemizedlist> </xsl:template> <xsl:template match="listitem"> <listitem><simpara><xsl:apply-templates /></simpara></listitem> </xsl:template> <!-- stops cross-references in the section titles --> <xsl:template match="briefdescription"> <xsl:value-of select="." /> </xsl:template> <!-- this opens a para for each detaileddescription/para. I could not find a way to extract the right text for the description from the source otherwise. Downside: we can't use para for return value, "see also", etc. because they're already inside a para. So they're lists. It also means we don't control the order of when something is added to the output, it matches the input file --> <xsl:template match="detaileddescription/para"> <para><xsl:apply-templates /></para> </xsl:template> <xsl:template match="detaileddescription"> <xsl:apply-templates select="para" /> </xsl:template> <!-- methods --> <xsl:template match="memberdef" > <xsl:if test="@kind = 'function' and @static = 'no' and @prot = 'public' or @kind !='function' and normalize-space(briefdescription) != ''"> <varlistentry id="{$which}-{@id}"> <term> <xsl:value-of select="name"/> <xsl:if test="normalize-space(briefdescription) != ''"> - <xsl:apply-templates select="briefdescription" /> </xsl:if> </term> <listitem> <synopsis> <xsl:apply-templates select="definition"/><xsl:apply-templates select="argsstring"/> </synopsis> <xsl:apply-templates select="detaileddescription" /> </listitem> </varlistentry> </xsl:if> </xsl:template> <!-- classes --> <xsl:template match="compounddef" > <section id="{$which}-{@id}"> <title> <xsl:value-of select="compoundname" /> <xsl:if test="normalize-space(briefdescription) != ''"> - <xsl:apply-templates select="briefdescription" /> </xsl:if> </title> <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:template> </xsl:stylesheet>