doxygen_to_devhelp.xsl 1.51 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fo="http://www.w3.org/1999/XSL/Format"
    version="1.0">

<xsl:output method="xml" version="1.0" indent="yes"/>

<xsl:param name="prefix"></xsl:param>

<xsl:template match="/">
  <book title="D-Bus: A system for interprocess communication"
        name="dbus"
        link="dbus-tutorial.html">
  <chapters>
     <sub name="Tutorial" link="{$prefix}dbus-tutorial.html"/>
     <sub name="FAQ" link="{$prefix}dbus-faq.html"/>
     <sub name="Specification" link="{$prefix}dbus-specification.html"/>
     <sub name="API Reference" link="{$prefix}api/index.html"/>
  </chapters>

  <functions>
    <xsl:apply-templates select="doxygenindex/compound[@kind='group']/member[@kind='function']"/>
  </functions>
  </book>
</xsl:template>

<xsl:template match="member">
  <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
  <xsl:param name="refid"><xsl:value-of select="@refid"/></xsl:param>
  <xsl:param name="before"><xsl:value-of select="substring-before($refid,'_1')"/></xsl:param>
  <xsl:param name="after"><xsl:value-of select="substring-after($refid,'_1')"/></xsl:param>
  <xsl:param name="link"><xsl:value-of select="$before"/>.html#<xsl:value-of select="$after"/></xsl:param>
  <xsl:if test="starts-with($name,'dbus') or starts-with($name, 'DBus')">
    <xsl:if test="starts-with($refid,'group__') and contains($refid, '_1')">
       <function name="{$name}" link="{$prefix}api/{$link}"/>
    </xsl:if>
  </xsl:if>
</xsl:template>

</xsl:stylesheet>