]> git.pld-linux.org Git - packages/pidgin.git/blob - doxy2devhelp.xsl
- update to 2.3.1 from HEAD
[packages/pidgin.git] / doxy2devhelp.xsl
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 http://bur.st/~eleusis/devhelp/doxy2devhelp.xsl
7              (http://bur.st/~eleusis/devhelp/README)
8      which is based on http://bugzilla.gnome.org/show_bug.cgi?id=122450
9 -->
10
11 <xsl:output method="xml" version="1.0" indent="yes"/>
12
13 <xsl:param name="reference_prefix"></xsl:param>
14
15 <xsl:template match="/">
16   <book title="Pidgin Documentation"
17         name="pidgin"
18         link="{$reference_prefix}main.html">
19   <chapters>
20     <sub name="Modules" link="{$reference_prefix}modules.html">
21       <xsl:apply-templates select="doxygenindex/compound[@kind='group']">
22         <xsl:sort select="."/>
23       </xsl:apply-templates>
24     </sub>
25     <!-- annotated.html has the short descriptions beside each struct.  is
26          that more useful than being grouped alphabetically?
27       -->
28     <sub name="Structs" link="{$reference_prefix}classes.html">
29       <xsl:apply-templates select="doxygenindex/compound[@kind='struct']">
30         <xsl:sort select="."/>
31       </xsl:apply-templates>
32     </sub>
33     <!-- This is redundant given Modules -->
34     <!--
35     <sub name="Directories" link="{$reference_prefix}dirs.html">
36       <xsl:apply-templates select="doxygenindex/compound[@kind='dir']">
37         <xsl:sort select="."/>
38       </xsl:apply-templates>
39     </sub>
40     -->
41     <!-- FIXME: Some files show up here but are broken links; mostly
42                 files that are under pages...
43       -->
44     <sub name="Files" link="{$reference_prefix}files.html">
45       <xsl:apply-templates select="doxygenindex/compound[@kind='file']">
46         <xsl:sort select="."/>
47       </xsl:apply-templates>
48     </sub>
49     <sub name="Signals, HOWTOs, Other" link="{$reference_prefix}pages.html">
50       <xsl:apply-templates select="doxygenindex/compound[@kind='page']">
51         <xsl:sort select="."/>
52       </xsl:apply-templates>
53     </sub>
54   </chapters>
55
56   <functions>
57     <!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
58     <xsl:apply-templates select="doxygenindex/compound/member" mode="as-function"/>
59   </functions>
60   </book>
61 </xsl:template>
62
63 <xsl:template match="compound">
64   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
65   <xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param>
66   <sub name="{$name}" link="{$reference_prefix}{$link}">
67   <xsl:apply-templates select="member" mode="as-sub">
68     <xsl:sort select="."/>
69   </xsl:apply-templates>
70   </sub>
71 </xsl:template>
72
73 <xsl:template match="member" mode="as-function">
74   <!--
75   <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/>
76   -->
77   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
78   <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
79   <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
80   <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
81   <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
82   <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 33)"/></xsl:param>
83   <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
84   <function name="{$name}" link="{$reference_prefix}{$link}"/>
85 </xsl:template>
86
87 <xsl:template match="member" mode="as-sub">
88   <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
89   <!-- Link is refid attribute of parent element + "#" + diff between refid of parent and own refid -->
90   <xsl:param name="refid_parent"><xsl:value-of select="parent::node()/@refid"/></xsl:param>
91   <xsl:param name="own_refid"><xsl:value-of select="@refid"/></xsl:param>
92   <xsl:param name="offset"><xsl:value-of select="string-length($refid_parent) + 3"/></xsl:param>
93   <xsl:param name="ref_diff"><xsl:value-of select="substring($own_refid, $offset, 33)"/></xsl:param>
94   <xsl:param name="link"><xsl:value-of select="$refid_parent"/>.html#<xsl:value-of select="$ref_diff"/></xsl:param>
95   <sub name="{$name}" link="{$reference_prefix}{$link}"/>
96 </xsl:template>
97
98 </xsl:stylesheet>
This page took 0.197247 seconds and 3 git commands to generate.