view doxy2devhelp.xsl @ 32533:e091c8ea292e

Pluck all MSNP18 changes. This is pretty much to fix sending OIMs. *** Plucked rev b8b574c4d6f6c05105b372191ca5259b4ae0ad41 (qulogic@pidgin.im): Add a function for parsing a network:username for MSNP18. *** Plucked rev 86bb401efa33f02ca5d28fea216a39a3cf29b5b4 (qulogic@pidgin.im): Fix UBX on MSNP18. *** Plucked rev ba2513694e6abcbdfddc66820f1df20540a36847 (qulogic@pidgin.im): Fix NLN on MSNP18. *** Plucked rev 83a617670da618f4dbdeeebbdb5e2813a4ad2c0c (qulogic@pidgin.im): Switch to ABFindContactsPaged instead of ABFindAll. *** Plucked rev b6bd214d29db885c6d28628c163fa144bdf4a76d (qulogic@pidgin.im): Send circle authentication on the notification server on MSNP18. *** Plucked rev 2ca50146aa67469313579cea414e4a2b660939aa (qulogic@pidgin.im): Make a small name change. *** Plucked rev 2c13bf358104060d6713317e18e03b434862cb38 (qulogic@pidgin.im): Add a missing function. *** Plucked rev a8deb3f73726f4148e8f36f317a88fedcb051c34 (qulogic@pidgin.im): Update UUM to allow sending to users on any network. *** Plucked rev dddff988e830a7a2fa0e40aad200f0e908b9231e (qulogic@pidgin.im): Switch to MSNP18. *** Plucked rev 9fe45819000c530c509c07b7feb29ce9d4ea13b0 (qulogic@pidgin.im): Send offline messages using UUM. *** Plucked rev c1584182b85f99fa3507ea3f76b07865ee7e43f7 (qulogic@pidgin.im): Drop support for protocols below 18. *** Plucked rev f0388e54998489dbe4b6133796f77459f20fe884 (qulogic@pidgin.im): Fix indices for client capabilities and display pics.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Wed, 22 Feb 2012 05:52:30 +0000
parents f34539eb7a61
children
line wrap: on
line source

<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 http://bur.st/~eleusis/devhelp/doxy2devhelp.xsl
             (http://bur.st/~eleusis/devhelp/README)
     which is based on http://bugzilla.gnome.org/show_bug.cgi?id=122450
-->

<xsl:output method="xml" version="1.0" indent="yes"/>

<xsl:param name="reference_prefix"></xsl:param>

<xsl:template match="/">
  <book title="Pidgin Documentation"
        name="pidgin"
        link="{$reference_prefix}main.html">
  <chapters>
    <sub name="Modules" link="{$reference_prefix}modules.html">
      <xsl:apply-templates select="doxygenindex/compound[@kind='group']">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </sub>
    <!-- annotated.html has the short descriptions beside each struct.  is
         that more useful than being grouped alphabetically?
      -->
    <sub name="Structs" link="{$reference_prefix}classes.html">
      <xsl:apply-templates select="doxygenindex/compound[@kind='struct']">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </sub>
    <!-- This is redundant given Modules -->
    <!--
    <sub name="Directories" link="{$reference_prefix}dirs.html">
      <xsl:apply-templates select="doxygenindex/compound[@kind='dir']">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </sub>
    -->
    <!-- FIXME: Some files show up here but are broken links; mostly
                files that are under pages...
      -->
    <sub name="Files" link="{$reference_prefix}files.html">
      <xsl:apply-templates select="doxygenindex/compound[@kind='file']">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </sub>
    <sub name="Signals, HOWTOs, Other" link="{$reference_prefix}pages.html">
      <xsl:apply-templates select="doxygenindex/compound[@kind='page']">
        <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/member" 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, 33)"/></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, 33)"/></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>