Home | History | Annotate | Download | only in avahi
      1 <xsl:stylesheet
      2     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      3     xmlns:fo="http://www.w3.org/1999/XSL/Format"
      4     version="1.0">
      5 
      6 <!-- Based on the XSL stylesheet from gtkmm - Lennart -->
      7 
      8 <xsl:output method="xml" version="1.0" indent="yes"/>
      9 
     10 <xsl:param name="reference_prefix">../../../doc/avahi-docs/html/</xsl:param>
     11 
     12 <xsl:template match="/">
     13   <book title="Avahi Reference Manual"
     14         name="avahi"
     15         link="{$reference_prefix}main.html">
     16   <chapters>
     17     <sub name="Headers" link="{$reference_prefix}files.html">
     18       <xsl:apply-templates select="doxygenindex/compound[@kind='file']">
     19         <xsl:sort select="."/>
     20       </xsl:apply-templates>
     21     </sub>
     22   </chapters>
     23 
     24   <functions>
     25     <!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
     26     <xsl:apply-templates select="doxygenindex/compound/function" mode="as-function"/>
     27   </functions>
     28   </book>
     29 </xsl:template>
     30 
     31 <xsl:template match="compound">
     32   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
     33   <xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param>
     34   <sub name="{$name}" link="{$reference_prefix}{$link}">
     35   <xsl:apply-templates select="member" mode="as-sub">
     36     <xsl:sort select="."/>
     37   </xsl:apply-templates>
     38   </sub>
     39 </xsl:template>
     40 
     41 <xsl:template match="member" mode="as-function">
     42   <!--
     43   <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/>
     44   -->
     45   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
     46   <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
     47   <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
     48   <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
     49   <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
     50   <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param>
     51   <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
     52   <function name="{$name}" link="{$reference_prefix}{$link}"/>
     53 </xsl:template>
     54 
     55 <xsl:template match="member" mode="as-sub">
     56   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
     57   <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
     58   <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
     59   <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
     60   <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
     61   <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 32)"/></xsl:param>
     62   <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
     63   <sub name="{$name}" link="{$reference_prefix}{$link}"/>
     64 </xsl:template>
     65 
     66 </xsl:stylesheet>
     67