Blame doc/dbus/spec-to-docbook.xsl

Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
  xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
Packit Service f1aff6
  exclude-result-prefixes="doc">
Packit Service f1aff6
Packit Service f1aff6
     Convert D-Bus Glib xml into DocBook refentries
Packit Service f1aff6
     Copyright (C) 2007 William Jon McCann
Packit Service f1aff6
     License: GPL
Packit Service f1aff6
-->
Packit Service f1aff6
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="/">
Packit Service f1aff6
Packit Service f1aff6
<xsl:variable name="interface" select="//interface/@name"/>
Packit Service f1aff6
<xsl:variable name="basename">
Packit Service f1aff6
  <xsl:call-template name="interface-basename">
Packit Service f1aff6
    <xsl:with-param name="str" select="$interface"/>
Packit Service f1aff6
  </xsl:call-template>
Packit Service f1aff6
</xsl:variable>
Packit Service f1aff6
Packit Service f1aff6
<refentry><xsl:attribute name="id"><xsl:value-of select="$basename"/></xsl:attribute>
Packit Service f1aff6
  <refmeta>
Packit Service f1aff6
    <refentrytitle role="top_of_page"><xsl:value-of select="//interface/@name"/></refentrytitle>
Packit Service f1aff6
  </refmeta>
Packit Service f1aff6
Packit Service f1aff6
  <refnamediv>
Packit Service f1aff6
    <refname><xsl:value-of select="//interface/@name"/></refname>
Packit Service f1aff6
    <refpurpose><xsl:value-of select="$basename"/> interface</refpurpose>
Packit Service f1aff6
  </refnamediv>
Packit Service f1aff6
Packit Service f1aff6
  <refsynopsisdiv role="synopsis">
Packit Service f1aff6
    <title role="synopsis.title">Methods</title>
Packit Service f1aff6
    <synopsis>
Packit Service f1aff6
  <xsl:call-template name="methods-synopsis">
Packit Service f1aff6
    <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
  </xsl:call-template>
Packit Service f1aff6
    </synopsis>
Packit Service f1aff6
  </refsynopsisdiv>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(///signal) > 0">
Packit Service f1aff6
      <refsect1 role="signal_proto">
Packit Service f1aff6
        <title role="signal_proto.title">Signals</title>
Packit Service f1aff6
        <synopsis>
Packit Service f1aff6
          <xsl:call-template name="signals-synopsis">
Packit Service f1aff6
            <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
          </xsl:call-template>
Packit Service f1aff6
        </synopsis>
Packit Service f1aff6
      </refsect1>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
  <refsect1 role="impl_interfaces">
Packit Service f1aff6
    <title role="impl_interfaces.title">Implemented Interfaces</title>
Packit Service f1aff6
    <para>
Packit Service f1aff6
    Objects implementing <xsl:value-of select="$interface"/> also implements
Packit Service f1aff6
    org.freedesktop.DBus.Introspectable,
Packit Service f1aff6
    org.freedesktop.DBus.Properties
Packit Service f1aff6
    </para>
Packit Service f1aff6
  </refsect1>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(///property) > 0">
Packit Service f1aff6
      <refsect1 role="properties">
Packit Service f1aff6
        <title role="properties.title">Properties</title>
Packit Service f1aff6
        <synopsis>
Packit Service f1aff6
          <xsl:call-template name="properties-synopsis">
Packit Service f1aff6
            <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
          </xsl:call-template>
Packit Service f1aff6
        </synopsis>
Packit Service f1aff6
      </refsect1>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
  <refsect1 role="desc">
Packit Service f1aff6
    <title role="desc.title">Description</title>
Packit Service f1aff6
    <para>
Packit Service f1aff6
      <xsl:apply-templates select="//interface/doc:doc"/>
Packit Service f1aff6
    </para>
Packit Service f1aff6
  </refsect1>
Packit Service f1aff6
Packit Service f1aff6
  <refsect1 role="details">
Packit Service f1aff6
    <title role="details.title">Details</title>
Packit Service f1aff6
    <xsl:call-template name="method-details">
Packit Service f1aff6
      <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </refsect1>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(///signal) > 0">
Packit Service f1aff6
      <refsect1 role="signals">
Packit Service f1aff6
        <title role="signals.title">Signal Details</title>
Packit Service f1aff6
        <xsl:call-template name="signal-details">
Packit Service f1aff6
          <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
        </xsl:call-template>
Packit Service f1aff6
      </refsect1>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(///property) > 0">
Packit Service f1aff6
      <refsect1 role="property_details">
Packit Service f1aff6
        <title role="property_details.title">Property Details</title>
Packit Service f1aff6
        <xsl:call-template name="property-details">
Packit Service f1aff6
          <xsl:with-param name="basename" select="$basename"/>
Packit Service f1aff6
        </xsl:call-template>
Packit Service f1aff6
      </refsect1>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
</refentry>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="property-doc">
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:description"/>
Packit Service f1aff6
Packit Service f1aff6
  <variablelist role="params">
Packit Service f1aff6
    <xsl:for-each select="arg">
Packit Service f1aff6
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
Packit Service f1aff6
<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
Packit Service f1aff6
</varlistentry>
Packit Service f1aff6
    </xsl:for-each>
Packit Service f1aff6
  </variablelist>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:since"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:deprecated"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:permission"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:seealso"/>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="property-details">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///property">
Packit Service f1aff6
  <refsect2>
Packit Service f1aff6
    <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property</title>
Packit Service f1aff6
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
Packit Service f1aff6
<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
Packit Service f1aff6
<xsl:call-template name="property-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/></xsl:call-template></programlisting>
Packit Service f1aff6
  </refsect2>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:call-template name="property-doc"/>
Packit Service f1aff6
Packit Service f1aff6
  </xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="signal-doc">
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:description"/>
Packit Service f1aff6
Packit Service f1aff6
  <variablelist role="params">
Packit Service f1aff6
    <xsl:for-each select="arg">
Packit Service f1aff6
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
Packit Service f1aff6
<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
Packit Service f1aff6
</varlistentry>
Packit Service f1aff6
    </xsl:for-each>
Packit Service f1aff6
  </variablelist>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:since"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:deprecated"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:permission"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:seealso"/>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="signal-details">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///signal">
Packit Service f1aff6
  <refsect2>
Packit Service f1aff6
    <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal</title>
Packit Service f1aff6
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
Packit Service f1aff6
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
Packit Service f1aff6
  </refsect2>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:call-template name="signal-doc"/>
Packit Service f1aff6
Packit Service f1aff6
  </xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:code">
Packit Service f1aff6
<programlisting>
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</programlisting>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:tt">
Packit Service f1aff6
  <literal>
Packit Service f1aff6
    <xsl:apply-templates />
Packit Service f1aff6
  </literal>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:i">
Packit Service f1aff6
  <emphasis>
Packit Service f1aff6
    <xsl:apply-templates />
Packit Service f1aff6
  </emphasis>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:b">
Packit Service f1aff6
  <emphasis role="bold">
Packit Service f1aff6
    <xsl:apply-templates />
Packit Service f1aff6
  </emphasis>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:ulink">
Packit Service f1aff6
  <ulink>
Packit Service f1aff6
    <xsl:attribute name="url"><xsl:value-of select="@url"/></xsl:attribute>
Packit Service f1aff6
    <xsl:value-of select="."/>
Packit Service f1aff6
  </ulink>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:summary">
Packit Service f1aff6
  <xsl:apply-templates />
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:example">
Packit Service f1aff6
<informalexample>
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</informalexample>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="listitems-do-term">
Packit Service f1aff6
  <xsl:param name="str"/>
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="string-length($str) > 0">
Packit Service f1aff6
      <emphasis role="bold"><xsl:value-of select="$str"/>: </emphasis>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="do-listitems">
Packit Service f1aff6
  <xsl:for-each select="doc:item">
Packit Service f1aff6
    <listitem>
Packit Service f1aff6
      <xsl:call-template name="listitems-do-term"><xsl:with-param name="str" select="doc:term"/></xsl:call-template>
Packit Service f1aff6
      <xsl:apply-templates select="doc:definition"/>
Packit Service f1aff6
    </listitem>
Packit Service f1aff6
  </xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:list">
Packit Service f1aff6
  <para>
Packit Service f1aff6
    <xsl:choose>
Packit Service f1aff6
      <xsl:when test="contains(@type,'number')">
Packit Service f1aff6
        <orderedlist>
Packit Service f1aff6
          <xsl:call-template name="do-listitems"/>
Packit Service f1aff6
        </orderedlist>
Packit Service f1aff6
      </xsl:when>
Packit Service f1aff6
      <xsl:otherwise>
Packit Service f1aff6
        <itemizedlist>
Packit Service f1aff6
          <xsl:call-template name="do-listitems"/>
Packit Service f1aff6
        </itemizedlist>
Packit Service f1aff6
      </xsl:otherwise>
Packit Service f1aff6
    </xsl:choose>
Packit Service f1aff6
  </para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:para">
Packit Service f1aff6
<para>
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:title">
Packit Service f1aff6
  <refsect2><title role="title.description"><anchor role="description"><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></anchor><xsl:value-of select="."/></title></refsect2>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:description">
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:since">
Packit Service f1aff6
<para role="since">Since <xsl:value-of select="@version"/>
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:deprecated">
Packit Service f1aff6
  <xsl:variable name="name" select="../../@name"/>
Packit Service f1aff6
  <xsl:variable name="parent">
Packit Service f1aff6
    <xsl:call-template name="interface-basename">
Packit Service f1aff6
      <xsl:with-param name="str" select="../../../@name"/>/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:variable name="type" select="name(../..)"/>
Packit Service f1aff6
Packit Service f1aff6
  <para role="deprecated">
Packit Service f1aff6
  <warning><para><literal><xsl:value-of select="$name"/></literal> is deprecated since version <xsl:value-of select="@version"/> and should not be used in newly-written code. Use
Packit Service f1aff6
Packit Service f1aff6
  <xsl:variable name="to">
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="contains($type,'property')">
Packit Service f1aff6
      <xsl:value-of select="$parent"/>:<xsl:value-of select="@instead"/>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'signal')">
Packit Service f1aff6
      <xsl:value-of select="$parent"/>::<xsl:value-of select="@instead"/>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'method')">
Packit Service f1aff6
      <xsl:value-of select="$parent"/>.<xsl:value-of select="@instead"/>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'interface')">
Packit Service f1aff6
      <xsl:value-of select="@instead"/>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:otherwise>
Packit Service f1aff6
      <xsl:value-of select="@instead"/>
Packit Service f1aff6
    </xsl:otherwise>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:call-template name="create-link">
Packit Service f1aff6
    <xsl:with-param name="type" select="$type"/>
Packit Service f1aff6
    <xsl:with-param name="to" select="$to"/>
Packit Service f1aff6
    <xsl:with-param name="val" select="@instead"/>
Packit Service f1aff6
  </xsl:call-template>
Packit Service f1aff6
instead.</para></warning>
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:permission">
Packit Service f1aff6
<para role="permission">
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:errors">
Packit Service f1aff6
<para role="errors">
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:seealso">
Packit Service f1aff6
<para>
Packit Service f1aff6
See also:
Packit Service f1aff6
<xsl:apply-templates />
Packit Service f1aff6
Packit Service f1aff6
</para>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="create-link">
Packit Service f1aff6
  <xsl:param name="type"/>
Packit Service f1aff6
  <xsl:param name="to"/>
Packit Service f1aff6
  <xsl:param name="val"/>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="contains($type,'property')">
Packit Service f1aff6
      <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'signal')">
Packit Service f1aff6
      <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'method')">
Packit Service f1aff6
      <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><function><xsl:value-of select="$val"/></function></link>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'interface')">
Packit Service f1aff6
      <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="contains($type,'description')">
Packit Service f1aff6
      <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template match="doc:ref">
Packit Service f1aff6
  <xsl:call-template name="create-link">
Packit Service f1aff6
    <xsl:with-param name="type" select="@type"/>
Packit Service f1aff6
    <xsl:with-param name="to" select="@to"/>
Packit Service f1aff6
    <xsl:with-param name="val" select="."/>
Packit Service f1aff6
  </xsl:call-template>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="method-doc">
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:description"/>
Packit Service f1aff6
Packit Service f1aff6
  <variablelist role="params">
Packit Service f1aff6
    <xsl:for-each select="arg">
Packit Service f1aff6
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
Packit Service f1aff6
<listitem><simpara><xsl:apply-templates select="doc:doc/doc:summary"/></simpara></listitem>
Packit Service f1aff6
</varlistentry>
Packit Service f1aff6
    </xsl:for-each>
Packit Service f1aff6
  </variablelist>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:since"/>
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:deprecated"/>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(doc:doc/doc:errors) > 0">
Packit Service f1aff6
      <refsect3>
Packit Service f1aff6
        <title>Errors</title>
Packit Service f1aff6
        <variablelist role="errors">
Packit Service f1aff6
          <xsl:for-each select="doc:doc/doc:errors/doc:error">
Packit Service f1aff6
            <varlistentry>
Packit Service f1aff6
              <term><parameter><xsl:value-of select="@name"/></parameter>:</term>
Packit Service f1aff6
              <listitem><simpara><xsl:apply-templates select="."/></simpara></listitem>
Packit Service f1aff6
            </varlistentry>
Packit Service f1aff6
          </xsl:for-each>
Packit Service f1aff6
        </variablelist>
Packit Service f1aff6
      </refsect3>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="count(doc:doc/doc:permission) > 0">
Packit Service f1aff6
      <refsect3>
Packit Service f1aff6
        <title>Permissions</title>
Packit Service f1aff6
        <xsl:apply-templates select="doc:doc/doc:permission"/>
Packit Service f1aff6
      </refsect3>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:apply-templates select="doc:doc/doc:seealso"/>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="method-details">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///method">
Packit Service f1aff6
    <refsect2>
Packit Service f1aff6
    <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
Packit Service f1aff6
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
Packit Service f1aff6
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="method-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
Packit Service f1aff6
    </refsect2>
Packit Service f1aff6
Packit Service f1aff6
    <xsl:call-template name="method-doc"/>
Packit Service f1aff6
Packit Service f1aff6
  </xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="properties-synopsis">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="///property/@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///property">
Packit Service f1aff6
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
Packit Service f1aff6
</xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="signals-synopsis">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="///signal/@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///signal">
Packit Service f1aff6
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
Packit Service f1aff6
</xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="methods-synopsis">
Packit Service f1aff6
  <xsl:param name="basename"/>
Packit Service f1aff6
  <xsl:variable name="longest">
Packit Service f1aff6
    <xsl:call-template name="find-longest">
Packit Service f1aff6
      <xsl:with-param name="set" select="///method/@name"/>
Packit Service f1aff6
    </xsl:call-template>
Packit Service f1aff6
  </xsl:variable>
Packit Service f1aff6
  <xsl:for-each select="///method">
Packit Service f1aff6
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
Packit Service f1aff6
</xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="method-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg"><xsl:value-of select="@direction"/>
Packit Service f1aff6
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="4 - string-length(@direction)"/></xsl:call-template>'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
Packit Service f1aff6
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
Packit Service f1aff6
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
Packit Service f1aff6
</xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="signal-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg">'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
Packit Service f1aff6
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
Packit Service f1aff6
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
Packit Service f1aff6
</xsl:for-each>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="property-args"><xsl:param name="indent"/>
Packit Service f1aff6
<xsl:value-of select="@access"/><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="9 - string-length(@access) + 1"/></xsl:call-template>'<xsl:value-of select="@type"/>'
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="pad-spaces">
Packit Service f1aff6
  <xsl:param name="width"/>
Packit Service f1aff6
  <xsl:variable name="spaces" xml:space="preserve">                                                                        </xsl:variable>
Packit Service f1aff6
  <xsl:value-of select="substring($spaces,1,$width)"/>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="find-longest">
Packit Service f1aff6
  <xsl:param name="set"/>
Packit Service f1aff6
  <xsl:param name="index" select="1"/>
Packit Service f1aff6
  <xsl:param name="longest" select="0"/>
Packit Service f1aff6
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="$index > count($set)">
Packit Service f1aff6
      
Packit Service f1aff6
      <xsl:value-of select="$longest"/>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:when test="string-length($set[$index])>$longest">
Packit Service f1aff6
      
Packit Service f1aff6
      <xsl:call-template name="find-longest">
Packit Service f1aff6
        <xsl:with-param name="set" select="$set"/>
Packit Service f1aff6
        <xsl:with-param name="index" select="$index + 1"/>
Packit Service f1aff6
        <xsl:with-param name="longest" select="string-length($set[$index])"/>
Packit Service f1aff6
      </xsl:call-template>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:otherwise>
Packit Service f1aff6
      
Packit Service f1aff6
      <xsl:call-template name="find-longest">
Packit Service f1aff6
        <xsl:with-param name="set" select="$set"/>
Packit Service f1aff6
        <xsl:with-param name="index" select="$index + 1"/>
Packit Service f1aff6
        <xsl:with-param name="longest" select="$longest"/>
Packit Service f1aff6
      </xsl:call-template>
Packit Service f1aff6
    </xsl:otherwise>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
Packit Service f1aff6
<xsl:template name="interface-basename">
Packit Service f1aff6
  <xsl:param name="str"/>
Packit Service f1aff6
  <xsl:choose>
Packit Service f1aff6
    <xsl:when test="contains($str,'.')">
Packit Service f1aff6
      <xsl:call-template name="interface-basename">
Packit Service f1aff6
	<xsl:with-param name="str" select="substring-after($str,'.')"/>
Packit Service f1aff6
      </xsl:call-template>
Packit Service f1aff6
    </xsl:when>
Packit Service f1aff6
    <xsl:otherwise>
Packit Service f1aff6
      <xsl:value-of select="$str"/>
Packit Service f1aff6
    </xsl:otherwise>
Packit Service f1aff6
  </xsl:choose>
Packit Service f1aff6
</xsl:template>
Packit Service f1aff6
Packit Service f1aff6
</xsl:stylesheet>