Add doxygen_to_devhelp.xsl (from Fedora, via Debian)
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Thu, 13 Jan 2011 17:11:00 +0000 (17:11 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 14 Jan 2011 12:45:46 +0000 (12:45 +0000)
Originally committed by Matthias Clasen <mclasen@fedoraproject.org>.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=13495
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454142

doc/Makefile.am
doc/doxygen_to_devhelp.xsl [new file with mode: 0644]

index bc349f8..5f81a65 100644 (file)
@@ -34,6 +34,7 @@ STATIC_DOCS = \
 
 EXTRA_DIST = \
        file-boilerplate.c \
+       doxygen_to_devhelp.xsl \
        $(STATIC_DOCS) \
        $(MAN_IN_FILES) $(man_MANS)
 
diff --git a/doc/doxygen_to_devhelp.xsl b/doc/doxygen_to_devhelp.xsl
new file mode 100644 (file)
index 0000000..72098f9
--- /dev/null
@@ -0,0 +1,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>