summaryrefslogtreecommitdiffstats
path: root/doc/tools/spec-to-docbook.xsl
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2008-07-23 23:22:36 -0400
committerWilliam Jon McCann <jmccann@redhat.com>2008-07-23 23:22:36 -0400
commite54095996b9066120ebf20011eba199d25422c2f (patch)
tree6d88da2ce0137fed1ece3bf610690e66809f76b0 /doc/tools/spec-to-docbook.xsl
parent34cefc96f7661ed92927bffa1cf7cbc79a84e5ab (diff)
use spec files directly as introspection xml and try to generate docs on the fly
At one point we had to strip out the docs because dbus-glib didn't support unknown tags. Apparently this is now fixed. Also install the xml to /usr/share/dbus-1/interfaces.
Diffstat (limited to 'doc/tools/spec-to-docbook.xsl')
-rw-r--r--doc/tools/spec-to-docbook.xsl436
1 files changed, 0 insertions, 436 deletions
diff --git a/doc/tools/spec-to-docbook.xsl b/doc/tools/spec-to-docbook.xsl
deleted file mode 100644
index fccf887..0000000
--- a/doc/tools/spec-to-docbook.xsl
+++ /dev/null
@@ -1,436 +0,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
- exclude-result-prefixes="doc">
-<!--
- Convert D-Bus Glib xml into DocBook refentries
- Copyright (C) 2007 William Jon McCann
- License: GPL
--->
-<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
-
-<xsl:template match="/">
-
-<xsl:variable name="interface" select="//interface/@name"/>
-<xsl:variable name="basename">
- <xsl:call-template name="interface-basename">
- <xsl:with-param name="str" select="$interface"/>
- </xsl:call-template>
-</xsl:variable>
-
-<refentry><xsl:attribute name="id"><xsl:value-of select="$basename"/></xsl:attribute>
- <refmeta>
- <refentrytitle role="top_of_page"><xsl:value-of select="//interface/@name"/></refentrytitle>
- </refmeta>
-
- <refnamediv>
- <refname><xsl:value-of select="//interface/@name"/></refname>
- <refpurpose><xsl:value-of select="$basename"/> interface</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv role="synopsis">
- <title role="synopsis.title">Methods</title>
- <synopsis>
- <xsl:call-template name="methods-synopsis">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </synopsis>
- </refsynopsisdiv>
-
- <refsect1 role="signal_proto">
- <title role="signal_proto.title">Signals</title>
- <synopsis>
- <xsl:call-template name="signals-synopsis">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </synopsis>
- </refsect1>
-
- <refsect1 role="impl_interfaces">
- <title role="impl_interfaces.title">Implemented Interfaces</title>
- <para>
- <xsl:value-of select="$interface"/> implements
- org.freedesktop.DBus.Introspectable,
- org.freedesktop.DBus.Properties
- </para>
- </refsect1>
-
- <refsect1 role="properties">
- <title role="properties.title">Properties</title>
- <synopsis>
- <xsl:call-template name="properties-synopsis">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </synopsis>
- </refsect1>
-
- <refsect1 role="desc">
- <title role="desc.title">Description</title>
- <para>
- <xsl:apply-templates select="//interface/doc:doc"/>
- </para>
- </refsect1>
-
- <refsect1 role="details">
- <title role="details.title">Details</title>
- <xsl:call-template name="method-details">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </refsect1>
-
- <refsect1 role="signals">
- <title role="signals.title">Signal Details</title>
- <xsl:call-template name="signal-details">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </refsect1>
-
- <refsect1 role="property_details">
- <title role="property_details.title">Property Details</title>
- <xsl:call-template name="property-details">
- <xsl:with-param name="basename" select="$basename"/>
- </xsl:call-template>
- </refsect1>
-
-</refentry>
-</xsl:template>
-
-
-<xsl:template name="property-doc">
- <xsl:apply-templates select="doc:doc/doc:description"/>
-
- <variablelist role="params">
- <xsl:for-each select="arg">
-<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
-<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
-</varlistentry>
- </xsl:for-each>
- </variablelist>
-
- <xsl:apply-templates select="doc:doc/doc:since"/>
- <xsl:apply-templates select="doc:doc/doc:deprecated"/>
- <xsl:apply-templates select="doc:doc/doc:permission"/>
- <xsl:apply-templates select="doc:doc/doc:seealso"/>
-</xsl:template>
-
-
-<xsl:template name="property-details">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///property">
- <refsect2>
- <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>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
-<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
-<xsl:call-template name="property-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/></xsl:call-template></programlisting>
- </refsect2>
-
- <xsl:call-template name="property-doc"/>
-
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template name="signal-doc">
- <xsl:apply-templates select="doc:doc/doc:description"/>
-
- <variablelist role="params">
- <xsl:for-each select="arg">
-<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
-<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
-</varlistentry>
- </xsl:for-each>
- </variablelist>
-
- <xsl:apply-templates select="doc:doc/doc:since"/>
- <xsl:apply-templates select="doc:doc/doc:deprecated"/>
- <xsl:apply-templates select="doc:doc/doc:permission"/>
- <xsl:apply-templates select="doc:doc/doc:seealso"/>
-</xsl:template>
-
-<xsl:template name="signal-details">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///signal">
- <refsect2>
- <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>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
-<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>
- </refsect2>
-
- <xsl:call-template name="signal-doc"/>
-
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="doc:code">
-<programlisting>
-<xsl:apply-templates />
-</programlisting>
-</xsl:template>
-
-<xsl:template match="doc:summary">
-<!-- by default don't display -->
-</xsl:template>
-
-<xsl:template match="doc:example">
-<informalexample>
-<xsl:apply-templates />
-</informalexample>
-</xsl:template>
-
-<xsl:template match="doc:para">
-<para>
-<xsl:apply-templates />
-</para>
-</xsl:template>
-
-<xsl:template match="doc:description">
-<xsl:apply-templates />
-</xsl:template>
-
-<xsl:template match="doc:since">
-<para role="since">Since <xsl:value-of select="@version"/>
-</para>
-</xsl:template>
-
-<xsl:template match="doc:deprecated">
- <xsl:variable name="name" select="../../@name"/>
- <xsl:variable name="parent">
- <xsl:call-template name="interface-basename">
- <xsl:with-param name="str" select="../../../@name"/>/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:variable name="type" select="name(../..)"/>
-
- <para role="deprecated">
- <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
-
- <xsl:variable name="to">
- <xsl:choose>
- <xsl:when test="contains($type,'property')">
- <xsl:value-of select="$parent"/>:<xsl:value-of select="@instead"/>
- </xsl:when>
- <xsl:when test="contains($type,'signal')">
- <xsl:value-of select="$parent"/>::<xsl:value-of select="@instead"/>
- </xsl:when>
- <xsl:when test="contains($type,'method')">
- <xsl:value-of select="$parent"/>.<xsl:value-of select="@instead"/>
- </xsl:when>
- <xsl:when test="contains($type,'interface')">
- <xsl:value-of select="@instead"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@instead"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:call-template name="create-link">
- <xsl:with-param name="type" select="$type"/>
- <xsl:with-param name="to" select="$to"/>
- <xsl:with-param name="val" select="@instead"/>
- </xsl:call-template>
-instead.</para></warning>
-</para>
-</xsl:template>
-
-<xsl:template match="doc:permission">
-<para role="permission">
-<xsl:apply-templates />
-</para>
-</xsl:template>
-
-<xsl:template match="doc:seealso">
-<para>
-See also:
-<xsl:apply-templates />
-
-</para>
-</xsl:template>
-
-<xsl:template name="create-link">
- <xsl:param name="type"/>
- <xsl:param name="to"/>
- <xsl:param name="val"/>
-
- <xsl:choose>
- <xsl:when test="contains($type,'property')">
- <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
- </xsl:when>
- <xsl:when test="contains($type,'signal')">
- <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
- </xsl:when>
- <xsl:when test="contains($type,'method')">
- <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><function><xsl:value-of select="$val"/></function></link>
- </xsl:when>
- <xsl:when test="contains($type,'interface')">
- <link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
- </xsl:when>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template match="doc:ref">
- <xsl:call-template name="create-link">
- <xsl:with-param name="type" select="@type"/>
- <xsl:with-param name="to" select="@to"/>
- <xsl:with-param name="val" select="."/>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="method-doc">
- <xsl:apply-templates select="doc:doc/doc:description"/>
-
- <variablelist role="params">
- <xsl:for-each select="arg">
-<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
-<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
-</varlistentry>
- </xsl:for-each>
- </variablelist>
-
- <xsl:apply-templates select="doc:doc/doc:since"/>
- <xsl:apply-templates select="doc:doc/doc:deprecated"/>
- <xsl:apply-templates select="doc:doc/doc:permission"/>
- <xsl:apply-templates select="doc:doc/doc:seealso"/>
-</xsl:template>
-
-<xsl:template name="method-details">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///method">
- <refsect2>
- <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>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
-<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>
- </refsect2>
-
- <xsl:call-template name="method-doc"/>
-
- </xsl:for-each>
-</xsl:template>
-
-
-<xsl:template name="properties-synopsis">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="///property/@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///property">
-<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>
-</xsl:for-each>
-</xsl:template>
-
-
-<xsl:template name="signals-synopsis">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="///signal/@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///signal">
-<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>)
-</xsl:for-each>
-</xsl:template>
-
-
-<xsl:template name="methods-synopsis">
- <xsl:param name="basename"/>
- <xsl:variable name="longest">
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="///method/@name"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:for-each select="///method">
-<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>)
-</xsl:for-each>
-</xsl:template>
-
-
-<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"/>
-<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>
-<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
-<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
-</xsl:for-each>
-</xsl:template>
-
-
-<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>
-<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
-<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
-</xsl:for-each>
-</xsl:template>
-
-
-<xsl:template name="property-args"><xsl:param name="indent"/>
-<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"/>'
-</xsl:template>
-
-
-<xsl:template name="pad-spaces">
- <xsl:param name="width"/>
- <xsl:variable name="spaces" xml:space="preserve"> </xsl:variable>
- <xsl:value-of select="substring($spaces,1,$width)"/>
-</xsl:template>
-
-
-<xsl:template name="find-longest">
- <xsl:param name="set"/>
- <xsl:param name="index" select="1"/>
- <xsl:param name="longest" select="0"/>
-
- <xsl:choose>
- <xsl:when test="$index > count($set)">
- <!--finished looking-->
- <xsl:value-of select="$longest"/>
- </xsl:when>
- <xsl:when test="string-length($set[$index])>$longest">
- <!--found new longest-->
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="$set"/>
- <xsl:with-param name="index" select="$index + 1"/>
- <xsl:with-param name="longest" select="string-length($set[$index])"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!--this isn't any longer-->
- <xsl:call-template name="find-longest">
- <xsl:with-param name="set" select="$set"/>
- <xsl:with-param name="index" select="$index + 1"/>
- <xsl:with-param name="longest" select="$longest"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<xsl:template name="interface-basename">
- <xsl:param name="str"/>
- <xsl:choose>
- <xsl:when test="contains($str,'.')">
- <xsl:call-template name="interface-basename">
- <xsl:with-param name="str" select="substring-after($str,'.')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>