2 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
3 xmlns:
fo=
"http://www.w3.org/1999/XSL/Format"
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
11 <xsl:output method=
"xml" version=
"1.0" indent=
"yes"/>
13 <xsl:param name=
"reference_prefix"></xsl:param>
15 <xsl:template match=
"/">
16 <book title=
"Pidgin Documentation"
18 link=
"{$reference_prefix}main.html">
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>
25 <!-- annotated.html has the short descriptions beside each struct. is
26 that more useful than being grouped alphabetically?
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>
33 <!-- This is redundant given Modules -->
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>
41 <!-- FIXME: Some files show up here but are broken links; mostly
42 files that are under pages...
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>
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>
57 <!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
58 <xsl:apply-templates select=
"doxygenindex/compound/member" mode=
"as-function"/>
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>
73 <xsl:template match=
"member" mode=
"as-function">
75 <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/>
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}"/>
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}"/>