]> git.meshlink.io Git - catta/commitdiff
generate devhelp index file
authorLennart Poettering <lennart@poettering.net>
Sat, 27 Oct 2007 23:31:16 +0000 (23:31 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 27 Oct 2007 23:31:16 +0000 (23:31 +0000)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1562 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

Makefile.am
configure.ac
doxygen_to_devhelp.xsl [new file with mode: 0644]

index f5af878c86c1023ac62e112de00be45e8742db90..77040918c738426801829037b58b7a5d16c06ebb 100644 (file)
@@ -48,7 +48,8 @@ EXTRA_DIST = \
        avahi-ui-sharp.pc.in \
        avahi-compat-libdns_sd.pc.in \
        avahi-compat-howl.pc.in \
-       avahi-ui.pc.in
+       avahi-ui.pc.in \
+       doxygen_to_devhelp.xsl
 
 SUBDIRS = \
        common \
@@ -254,6 +255,11 @@ CLEANFILES += avahi-qt4.pc
 
 endif
 
+CLEANFILES += avahi.devhelp
+
+avahi.devhelp: doxygen-run
+       xsltproc -o $@ doxygen_to_devhelp.xsl doxygen/xml/index.xml
+
 MOSTLYCLEANFILES = $(DX_CLEANFILES)
 
 DISTCHECK_CONFIGURE_FLAGS = \
index 8d8659b4549316e06ae872ccebe743e9f0679616..97c64a5e93a370d99fc64401211c0beed81c5bda 100644 (file)
@@ -877,7 +877,7 @@ DX_CHM_FEATURE(OFF)
 DX_CHI_FEATURE(OFF)
 DX_MAN_FEATURE(OFF)
 DX_RTF_FEATURE(OFF)
-DX_XML_FEATURE(OFF)
+DX_XML_FEATURE(ON)
 DX_PDF_FEATURE(OFF)
 DX_PS_FEATURE(OFF)
 DX_INIT_DOXYGEN(avahi, doxygen.cfg, doxygen)
diff --git a/doxygen_to_devhelp.xsl b/doxygen_to_devhelp.xsl
new file mode 100644 (file)
index 0000000..ca6aa97
--- /dev/null
@@ -0,0 +1,66 @@
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format"
+    version="1.0">
+
+<!-- Based on the XSL stylesheet from gtkmm - Lennart -->
+
+<xsl:output method="xml" version="1.0" indent="yes"/>
+
+<xsl:param name="reference_prefix">../../../doc/avahi-docs/html/</xsl:param>
+
+<xsl:template match="/">
+  <book title="Avahi Reference Manual"
+        name="avahi"
+        link="{$reference_prefix}main.html">
+  <chapters>
+    <sub name="Headers" link="{$reference_prefix}files.html">
+      <xsl:apply-templates select="doxygenindex/compound[@kind='file']">
+        <xsl:sort select="."/>
+      </xsl:apply-templates>
+    </sub>
+  </chapters>
+
+  <functions>
+    <!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
+    <xsl:apply-templates select="doxygenindex/compound/function" mode="as-function"/>
+  </functions>
+  </book>
+</xsl:template>
+
+<xsl:template match="compound">
+  <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
+  <xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param>
+  <sub name="{$name}" link="{$reference_prefix}{$link}">
+  <xsl:apply-templates select="member" mode="as-sub">
+    <xsl:sort select="."/>
+  </xsl:apply-templates>
+  </sub>
+</xsl:template>
+
+<xsl:template match="member" mode="as-function">
+  <!--
+  <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/>
+  -->
+  <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
+  <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
+  <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
+  <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
+  <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
+  <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param>
+  <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
+  <function name="{$name}" link="{$reference_prefix}{$link}"/>
+</xsl:template>
+
+<xsl:template match="member" mode="as-sub">
+  <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
+  <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
+  <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
+  <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
+  <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
+  <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param>
+  <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
+  <sub name="{$name}" link="{$reference_prefix}{$link}"/>
+</xsl:template>
+
+</xsl:stylesheet>