diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2016-03-26 10:17:34 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2016-03-26 11:28:19 +0100 |
commit | 3a2803b42c1547337d25767baa1028b047893589 (patch) | |
tree | d6bf7c2d8362983fbad72360a3cff158fe0ab877 | |
parent | 618373a14fd6993bd4317bed01dc48506f6f7d98 (diff) | |
download | NetworkManager-3a2803b42c1547337d25767baa1028b047893589.tar.gz |
docs: replace spec.html with docbook D-Bus API reference
May use a lot of improvement (actually documenting the names and
objects that use the interfaces in question), but at least this looks a
lot better on developer.gnome.org.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | docs/api/Makefile.am | 51 | ||||
-rw-r--r-- | docs/api/network-manager-docs.xml | 46 | ||||
-rwxr-xr-x | examples/python/dbus/create-bond.py | 2 | ||||
-rw-r--r-- | tools/Makefile.am | 1 | ||||
-rw-r--r-- | tools/doc-generator.xsl | 691 |
6 files changed, 80 insertions, 712 deletions
diff --git a/.gitignore b/.gitignore index 7a880bba25..89911274c7 100644 --- a/.gitignore +++ b/.gitignore @@ -70,7 +70,6 @@ test-*.trs /docs/api/version.xml /docs/api/settings-spec.html /docs/api/settings-spec.xml -/docs/api/spec.html /docs/api/*.stamp /docs/api/html/ /docs/api/tmpl/ diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am index 1b50d02b65..d369dd545f 100644 --- a/docs/api/Makefile.am +++ b/docs/api/Makefile.am @@ -8,10 +8,9 @@ OTHER_FILES= \ $(top_srcdir)/introspection/generic-types.xml \ $(top_srcdir)/introspection/errors.xml \ $(top_srcdir)/introspection/vpn-errors.xml \ - $(top_srcdir)/tools/doc-generator.xsl \ $(top_srcdir)/introspection/generic-types.xml -GENERATED_FILES = spec.html +GENERATED_FILES = if SETTING_DOCS_AVAILABLE @@ -23,15 +22,6 @@ $(DOC_MAIN_SGML_FILE): settings-spec.xml GENERATED_FILES += settings-spec.xml -endif - -if ENABLE_GTK_DOC - -spec.html: $(XMLS) $(OTHER_FILES) html-build.stamp - $(XSLTPROC) --path "$(top_builddir)/introspection:$(top_srcdir)/introspection" $(top_srcdir)/tools/doc-generator.xsl $(top_builddir)/introspection/all.xml > spec.html - mkdir -p $(builddir)/html/ - cp spec.html $(builddir)/html/ - all: $(GENERATED_FILES) endif @@ -62,6 +52,41 @@ content_files = \ ../../COPYING \ $(NULL) +expand_content_files = \ + $(top_builddir)/introspection/nmdbus-access-point-org.freedesktop.NetworkManager.AccessPoint.xml \ + $(top_builddir)/introspection/nmdbus-active-connection-org.freedesktop.NetworkManager.Connection.Active.xml \ + $(top_builddir)/introspection/nmdbus-device-team-org.freedesktop.NetworkManager.Device.Team.xml \ + $(top_builddir)/introspection/nmdbus-dhcp6-config-org.freedesktop.NetworkManager.DHCP6Config.xml \ + $(top_builddir)/introspection/nmdbus-device-wifi-org.freedesktop.NetworkManager.Device.Wireless.xml \ + $(top_builddir)/introspection/nmdbus-manager-org.freedesktop.NetworkManager.xml \ + $(top_builddir)/introspection/nmdbus-vpn-connection-org.freedesktop.NetworkManager.VPN.Connection.xml \ + $(top_builddir)/introspection/nmdbus-secret-agent-org.freedesktop.NetworkManager.SecretAgent.xml \ + $(top_builddir)/introspection/nmdbus-device-org.freedesktop.NetworkManager.Device.xml \ + $(top_builddir)/introspection/nmdbus-vpn-plugin-org.freedesktop.NetworkManager.VPN.Plugin.xml \ + $(top_builddir)/introspection/nmdbus-device-bt-org.freedesktop.NetworkManager.Device.Bluetooth.xml \ + $(top_builddir)/introspection/nmdbus-device-vxlan-org.freedesktop.NetworkManager.Device.Vxlan.xml \ + $(top_builddir)/introspection/nmdbus-settings-connection-org.freedesktop.NetworkManager.Settings.Connection.xml \ + $(top_builddir)/introspection/nmdbus-device-bond-org.freedesktop.NetworkManager.Device.Bond.xml \ + $(top_builddir)/introspection/nmdbus-device-macvlan-org.freedesktop.NetworkManager.Device.Macvlan.xml \ + $(top_builddir)/introspection/nmdbus-ppp-manager-org.freedesktop.NetworkManager.PPP.xml \ + $(top_builddir)/introspection/nmdbus-device-vlan-org.freedesktop.NetworkManager.Device.Vlan.xml \ + $(top_builddir)/introspection/nmdbus-device-adsl-org.freedesktop.NetworkManager.Device.Adsl.xml \ + $(top_builddir)/introspection/nmdbus-agent-manager-org.freedesktop.NetworkManager.AgentManager.xml \ + $(top_builddir)/introspection/nmdbus-device-wimax-org.freedesktop.NetworkManager.Device.WiMax.xml \ + $(top_builddir)/introspection/nmdbus-device-ip-tunnel-org.freedesktop.NetworkManager.Device.IPTunnel.xml \ + $(top_builddir)/introspection/nmdbus-device-tun-org.freedesktop.NetworkManager.Device.Tun.xml \ + $(top_builddir)/introspection/nmdbus-device-bridge-org.freedesktop.NetworkManager.Device.Bridge.xml \ + $(top_builddir)/introspection/nmdbus-device-olpc-mesh-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \ + $(top_builddir)/introspection/nmdbus-dhcp4-config-org.freedesktop.NetworkManager.DHCP4Config.xml \ + $(top_builddir)/introspection/nmdbus-device-generic-org.freedesktop.NetworkManager.Device.Generic.xml \ + $(top_builddir)/introspection/nmdbus-device-infiniband-org.freedesktop.NetworkManager.Device.Infiniband.xml \ + $(top_builddir)/introspection/nmdbus-device-modem-org.freedesktop.NetworkManager.Device.Modem.xml \ + $(top_builddir)/introspection/nmdbus-ip6-config-org.freedesktop.NetworkManager.IP6Config.xml \ + $(top_builddir)/introspection/nmdbus-device-veth-org.freedesktop.NetworkManager.Device.Veth.xml \ + $(top_builddir)/introspection/nmdbus-settings-org.freedesktop.NetworkManager.Settings.xml \ + $(top_builddir)/introspection/nmdbus-device-ethernet-org.freedesktop.NetworkManager.Device.Wired.xml \ + $(top_builddir)/introspection/nmdbus-ip4-config-org.freedesktop.NetworkManager.IP4Config.xml + include $(top_srcdir)/gtk-doc.make #################################### @@ -74,7 +99,3 @@ CLEANFILES += html/* tmpl/* xml/* \ if BUILD_SETTING_DOCS CLEANFILES += settings-spec.xml endif - -if ENABLE_GTK_DOC -CLEANFILES += spec.html -endif diff --git a/docs/api/network-manager-docs.xml b/docs/api/network-manager-docs.xml index e8c99460d8..9b491c7ef4 100644 --- a/docs/api/network-manager-docs.xml +++ b/docs/api/network-manager-docs.xml @@ -5,11 +5,12 @@ ]> <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> <bookinfo> - <title>NetworkManager D-Bus Reference Manual</title> + <title>NetworkManager D-Bus API Reference Manual</title> <releaseinfo>Version &version;</releaseinfo> <copyright> <year>2012</year> + <year>2016</year> <holder>The NetworkManager Authors</holder> </copyright> @@ -36,13 +37,52 @@ </legalnotice> </bookinfo> - <chapter id="ref-dbus"> + <chapter id="spec"> <title>D-Bus API Reference</title> + <para> This part documents the D-Bus interface used to access the NetworkManager daemon. </para> - <ulink url="spec.html"/> + + <section id="dbus-interfaces"> + <title>Interfaces</title> + <!-- TODO: Split me into chapters about daemon, vpn plugins, dispatcher and the secret agent. + Then describe the daemon's singletons and object hierarchy. --> + <xi:include href="xml/nmdbus-manager-org.freedesktop.NetworkManager.xml"/> + <xi:include href="xml/nmdbus-settings-org.freedesktop.NetworkManager.Settings.xml"/> + <xi:include href="xml/nmdbus-agent-manager-org.freedesktop.NetworkManager.AgentManager.xml"/> + <xi:include href="xml/nmdbus-access-point-org.freedesktop.NetworkManager.AccessPoint.xml"/> + <xi:include href="xml/nmdbus-ppp-manager-org.freedesktop.NetworkManager.PPP.xml"/> + <xi:include href="xml/nmdbus-settings-connection-org.freedesktop.NetworkManager.Settings.Connection.xml"/> + <xi:include href="xml/nmdbus-vpn-connection-org.freedesktop.NetworkManager.VPN.Connection.xml"/> + <xi:include href="xml/nmdbus-active-connection-org.freedesktop.NetworkManager.Connection.Active.xml"/> + <xi:include href="xml/nmdbus-device-org.freedesktop.NetworkManager.Device.xml"/> + <xi:include href="xml/nmdbus-device-adsl-org.freedesktop.NetworkManager.Device.Adsl.xml"/> + <xi:include href="xml/nmdbus-device-bond-org.freedesktop.NetworkManager.Device.Bond.xml"/> + <xi:include href="xml/nmdbus-device-bridge-org.freedesktop.NetworkManager.Device.Bridge.xml"/> + <xi:include href="xml/nmdbus-device-bt-org.freedesktop.NetworkManager.Device.Bluetooth.xml"/> + <xi:include href="xml/nmdbus-device-ethernet-org.freedesktop.NetworkManager.Device.Wired.xml"/> + <xi:include href="xml/nmdbus-device-generic-org.freedesktop.NetworkManager.Device.Generic.xml"/> + <xi:include href="xml/nmdbus-device-infiniband-org.freedesktop.NetworkManager.Device.Infiniband.xml"/> + <xi:include href="xml/nmdbus-device-ip-tunnel-org.freedesktop.NetworkManager.Device.IPTunnel.xml"/> + <xi:include href="xml/nmdbus-device-macvlan-org.freedesktop.NetworkManager.Device.Macvlan.xml"/> + <xi:include href="xml/nmdbus-device-modem-org.freedesktop.NetworkManager.Device.Modem.xml"/> + <xi:include href="xml/nmdbus-device-olpc-mesh-org.freedesktop.NetworkManager.Device.OlpcMesh.xml"/> + <xi:include href="xml/nmdbus-device-team-org.freedesktop.NetworkManager.Device.Team.xml"/> + <xi:include href="xml/nmdbus-device-tun-org.freedesktop.NetworkManager.Device.Tun.xml"/> + <xi:include href="xml/nmdbus-device-veth-org.freedesktop.NetworkManager.Device.Veth.xml"/> + <xi:include href="xml/nmdbus-device-vlan-org.freedesktop.NetworkManager.Device.Vlan.xml"/> + <xi:include href="xml/nmdbus-device-vxlan-org.freedesktop.NetworkManager.Device.Vxlan.xml"/> + <xi:include href="xml/nmdbus-device-wifi-org.freedesktop.NetworkManager.Device.Wireless.xml"/> + <xi:include href="xml/nmdbus-device-wimax-org.freedesktop.NetworkManager.Device.WiMax.xml"/> + <xi:include href="xml/nmdbus-dhcp4-config-org.freedesktop.NetworkManager.DHCP4Config.xml"/> + <xi:include href="xml/nmdbus-dhcp6-config-org.freedesktop.NetworkManager.DHCP6Config.xml"/> + <xi:include href="xml/nmdbus-ip4-config-org.freedesktop.NetworkManager.IP4Config.xml"/> + <xi:include href="xml/nmdbus-ip6-config-org.freedesktop.NetworkManager.IP6Config.xml"/> + <xi:include href="xml/nmdbus-vpn-plugin-org.freedesktop.NetworkManager.VPN.Plugin.xml"/> + <xi:include href="xml/nmdbus-secret-agent-org.freedesktop.NetworkManager.SecretAgent.xml"/> + </section> </chapter> <chapter id="ref-settings"> diff --git a/examples/python/dbus/create-bond.py b/examples/python/dbus/create-bond.py index 41ffabe8e1..f36426ca41 100755 --- a/examples/python/dbus/create-bond.py +++ b/examples/python/dbus/create-bond.py @@ -21,7 +21,7 @@ # This example configures a Bond from ethernet devices and activates it # # NetworkManager D-Bus API: -# https://developer.gnome.org/NetworkManager/1.0/spec.html +# https://developer.gnome.org/NetworkManager/stable/spec.html # import dbus, sys, uuid diff --git a/tools/Makefile.am b/tools/Makefile.am index 27d6bcc417..91ada71a0e 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,7 +1,6 @@ EXTRA_DIST = \ check-exports.sh \ debug-helper.py \ - doc-generator.xsl \ run-test-valgrind.sh \ run-test-dbus-session.sh \ test-networkmanager-service.py \ diff --git a/tools/doc-generator.xsl b/tools/doc-generator.xsl deleted file mode 100644 index bcc88e8376..0000000000 --- a/tools/doc-generator.xsl +++ /dev/null @@ -1,691 +0,0 @@ -<!-- Generate HTML documentation from the Telepathy specification. -The master copy of this stylesheet is in the Telepathy spec repository - -please make any changes there. - -Copyright (C) 2006, 2007 Collabora Limited - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ---> - -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" - exclude-result-prefixes="tp"> - <!--Don't move the declaration of the HTML namespace up here - XMLNSs - don't work ideally in the presence of two things that want to use the - absence of a prefix, sadly. --> - - <xsl:template match="*" mode="identity"> - <xsl:copy> - <xsl:apply-templates mode="identity"/> - </xsl:copy> - </xsl:template> - - <xsl:template match="tp:docstring"> - <xsl:apply-templates select="node()" mode="identity"/> - </xsl:template> - - <xsl:template match="tp:errors"> - <h1 xmlns="http://www.w3.org/1999/xhtml">Errors:</h1> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="tp:generic-types"> - <h1 xmlns="http://www.w3.org/1999/xhtml">Generic types:</h1> - <xsl:call-template name="do-types"/> - </xsl:template> - - <xsl:template name="do-types"> - <xsl:if test="tp:simple-type"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Simple types:</h2> - <xsl:apply-templates select="tp:simple-type"/> - </xsl:if> - - <xsl:if test="tp:enum"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Enumerated types:</h2> - <xsl:apply-templates select="tp:enum"/> - </xsl:if> - - <xsl:if test="tp:flags"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Sets of flags:</h2> - <xsl:apply-templates select="tp:flags"/> - </xsl:if> - - <xsl:if test="tp:struct"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Structure types:</h2> - <xsl:apply-templates select="tp:struct"/> - </xsl:if> - - <xsl:if test="tp:mapping"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Mapping types:</h2> - <xsl:apply-templates select="tp:mapping"/> - </xsl:if> - - <xsl:if test="tp:external-type"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Types defined elsewhere:</h2> - <dl><xsl:apply-templates select="tp:external-type"/></dl> - </xsl:if> - </xsl:template> - - <xsl:template match="tp:error"> - <h2 xmlns="http://www.w3.org/1999/xhtml"><a name="{concat(../@namespace, '.', translate(@name, ' ', ''))}"></a><xsl:value-of select="concat(../@namespace, '.', translate(@name, ' ', ''))"/></h2> - <xsl:apply-templates select="tp:docstring"/> - </xsl:template> - - <xsl:template match="/tp:spec/tp:copyright"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates/> - </div> - </xsl:template> - <xsl:template match="/tp:spec/tp:license"> - <div xmlns="http://www.w3.org/1999/xhtml" class="license"> - <xsl:apply-templates mode="identity"/> - </div> - </xsl:template> - - <xsl:template match="tp:copyright"/> - <xsl:template match="tp:license"/> - - <xsl:template match="interface"> - <h1 xmlns="http://www.w3.org/1999/xhtml"><a name="{@name}"></a><xsl:value-of select="@name"/></h1> - - <xsl:if test="@tp:causes-havoc"> - <p xmlns="http://www.w3.org/1999/xhtml" class="causes-havoc"> - This interface is <xsl:value-of select="@tp:causes-havoc"/> - and is likely to cause havoc to your API/ABI if bindings are generated. - Don't include it in libraries that care about compatibility. - </p> - </xsl:if> - - <xsl:if test="tp:requires"> - <p>Implementations of this interface must also implement:</p> - <ul xmlns="http://www.w3.org/1999/xhtml"> - <xsl:for-each select="tp:requires"> - <li><code><a href="#{@interface}"><xsl:value-of select="@interface"/></a></code></li> - </xsl:for-each> - </ul> - </xsl:if> - - <xsl:apply-templates select="tp:docstring" /> - - <xsl:choose> - <xsl:when test="method"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Methods:</h2> - <xsl:apply-templates select="method"/> - </xsl:when> - <xsl:otherwise> - <p xmlns="http://www.w3.org/1999/xhtml">Interface has no methods.</p> - </xsl:otherwise> - </xsl:choose> - - <xsl:choose> - <xsl:when test="signal"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Signals:</h2> - <xsl:apply-templates select="signal"/> - </xsl:when> - <xsl:otherwise> - <p xmlns="http://www.w3.org/1999/xhtml">Interface has no signals.</p> - </xsl:otherwise> - </xsl:choose> - - <xsl:choose> - <xsl:when test="property"> - <h2 xmlns="http://www.w3.org/1999/xhtml">Properties:</h2> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="property"/> - </dl> - </xsl:when> - <xsl:otherwise> - <p xmlns="http://www.w3.org/1999/xhtml">Interface has no properties.</p> - </xsl:otherwise> - </xsl:choose> - - <xsl:call-template name="do-types"/> - - </xsl:template> - - <xsl:template match="tp:flags"> - <h3> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - </h3> - <xsl:apply-templates select="tp:docstring" /> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:variable name="value-prefix"> - <xsl:choose> - <xsl:when test="@value-prefix"> - <xsl:value-of select="@value-prefix"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:for-each select="tp:flag"> - <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> - <xsl:choose> - <xsl:when test="tp:docstring"> - <dd xmlns="http://www.w3.org/1999/xhtml"><xsl:apply-templates select="tp:docstring" /></dd> - </xsl:when> - <xsl:otherwise> - <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </dl> - </xsl:template> - - <xsl:template match="tp:enum"> - <h3 xmlns="http://www.w3.org/1999/xhtml"> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - </h3> - <xsl:apply-templates select="tp:docstring" /> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:variable name="value-prefix"> - <xsl:choose> - <xsl:when test="@value-prefix"> - <xsl:value-of select="@value-prefix"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:for-each select="tp:enumvalue"> - <dt xmlns="http://www.w3.org/1999/xhtml"><code><xsl:value-of select="concat($value-prefix, '_', @suffix)"/> = <xsl:value-of select="@value"/></code></dt> - <xsl:choose> - <xsl:when test="tp:docstring"> - <dd xmlns="http://www.w3.org/1999/xhtml"><xsl:apply-templates select="tp:docstring" /></dd> - </xsl:when> - <xsl:otherwise> - <dd xmlns="http://www.w3.org/1999/xhtml">(Undocumented)</dd> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </dl> - </xsl:template> - - <xsl:template match="property"> - <dt xmlns="http://www.w3.org/1999/xhtml"> - <xsl:if test="@name"> - <code><xsl:value-of select="@name"/></code> - - </xsl:if> - <code><xsl:value-of select="@type"/></code> - - <code>(<xsl:value-of select="@access"/>)</code> - <xsl:call-template name="parenthesized-tp-type"/> - </dt> - <dd xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="tp:docstring"/> - </dd> - </xsl:template> - - <xsl:template match="tp:mapping"> - <div xmlns="http://www.w3.org/1999/xhtml" class="struct"> - <h3> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - a{ - <xsl:for-each select="tp:member"> - <xsl:value-of select="@type"/> - <xsl:text>: </xsl:text> - <xsl:value-of select="@name"/> - <xsl:if test="position() != last()"> → </xsl:if> - </xsl:for-each> - } - </h3> - <div class="docstring"> - <xsl:apply-templates select="tp:docstring"/> - </div> - <div> - <h4>Members</h4> - <dl> - <xsl:apply-templates select="tp:member" mode="members-in-docstring"/> - </dl> - </div> - </div> - </xsl:template> - - <xsl:template match="tp:docstring" mode="in-index"/> - - <xsl:template match="tp:simple-type | tp:enum | tp:flags | tp:external-type" - mode="in-index"> - - <xsl:value-of select="@type"/> - </xsl:template> - - <xsl:template match="tp:simple-type"> - <div xmlns="http://www.w3.org/1999/xhtml" class="simple-type"> - <h3> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - <xsl:value-of select="@type"/> - </h3> - <div class="docstring"> - <xsl:apply-templates select="tp:docstring"/> - </div> - </div> - </xsl:template> - - <xsl:template match="tp:external-type"> - <div xmlns="http://www.w3.org/1999/xhtml" class="external-type"> - <dt> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - <xsl:value-of select="@type"/> - </dt> - <dd>Defined by: <xsl:value-of select="@from"/></dd> - </div> - </xsl:template> - - <xsl:template match="tp:struct" mode="in-index"> - - ( <xsl:for-each select="tp:member"> - <xsl:value-of select="@type"/> - <xsl:if test="position() != last()">, </xsl:if> - </xsl:for-each> ) - </xsl:template> - - <xsl:template match="tp:mapping" mode="in-index"> - - a{ <xsl:for-each select="tp:member"> - <xsl:value-of select="@type"/> - <xsl:if test="position() != last()"> → </xsl:if> - </xsl:for-each> } - </xsl:template> - - <xsl:template match="tp:struct"> - <div xmlns="http://www.w3.org/1999/xhtml" class="struct"> - <h3> - <a name="type-{@name}"> - <xsl:value-of select="@name"/> - </a> - ( - <xsl:for-each select="tp:member"> - <xsl:value-of select="@type"/> - <xsl:text>: </xsl:text> - <xsl:value-of select="@name"/> - <xsl:if test="position() != last()">, </xsl:if> - </xsl:for-each> - ) - </h3> - <div class="docstring"> - <xsl:apply-templates select="tp:docstring"/> - </div> - <xsl:choose> - <xsl:when test="string(@array-name) != ''"> - <p>In bindings that need a separate name, arrays of - <xsl:value-of select="@name"/> should be called - <xsl:value-of select="@array-name"/>.</p> - </xsl:when> - <xsl:otherwise> - <p>Arrays of <xsl:value-of select="@name"/> don't generally - make sense.</p> - </xsl:otherwise> - </xsl:choose> - <div> - <h4>Members</h4> - <dl> - <xsl:apply-templates select="tp:member" mode="members-in-docstring"/> - </dl> - </div> - </div> - </xsl:template> - - <xsl:template match="method"> - <div xmlns="http://www.w3.org/1999/xhtml" class="method"> - <h3 xmlns="http://www.w3.org/1999/xhtml"> - <a name="{concat(../@name, concat('.', @name))}"> - <xsl:value-of select="@name"/> - </a> ( - <xsl:for-each xmlns="" select="arg[@direction='in']"> - <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> - <xsl:if test="position() != last()">, </xsl:if> - </xsl:for-each> - ) → - <xsl:choose> - <xsl:when test="arg[@direction='out']"> - <xsl:for-each xmlns="" select="arg[@direction='out']"> - <xsl:value-of select="@type"/> - <xsl:if test="position() != last()">, </xsl:if> - </xsl:for-each> - </xsl:when> - <xsl:otherwise>nothing</xsl:otherwise> - </xsl:choose> - </h3> - <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> - <xsl:apply-templates select="tp:docstring" /> - </div> - - <xsl:if test="arg[@direction='in']"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h4>Parameters</h4> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="arg[@direction='in']" - mode="parameters-in-docstring"/> - </dl> - </div> - </xsl:if> - - <xsl:if test="arg[@direction='out']"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h4>Returns</h4> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="arg[@direction='out']" - mode="returns-in-docstring"/> - </dl> - </div> - </xsl:if> - - <xsl:if test="tp:possible-errors"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h4>Possible errors</h4> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="tp:possible-errors/tp:error"/> - </dl> - </div> - </xsl:if> - - </div> - </xsl:template> - - <xsl:template name="parenthesized-tp-type"> - <xsl:if test="@tp:type"> - <xsl:variable name="tp-type" select="@tp:type"/> - <xsl:variable name="single-type"> - <xsl:choose> - <xsl:when test="contains($tp-type, '[]')"> - <xsl:value-of select="substring-before($tp-type, '[]')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tp-type"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:choose> - <xsl:when test="//tp:simple-type[@name=$tp-type]" /> - <xsl:when test="//tp:simple-type[concat(@name, '[]')=$tp-type]" /> - <xsl:when test="//tp:struct[concat(@name, '[]')=$tp-type][string(@array-name) != '']" /> - <xsl:when test="//tp:struct[@name=$tp-type]" /> - <xsl:when test="//tp:enum[@name=$tp-type]" /> - <xsl:when test="//tp:enum[concat(@name, '[]')=$tp-type]" /> - <xsl:when test="//tp:flags[@name=$tp-type]" /> - <xsl:when test="//tp:flags[concat(@name, '[]')=$tp-type]" /> - <xsl:when test="//tp:mapping[@name=$tp-type]" /> - <xsl:when test="//tp:external-type[concat(@name, '[]')=$tp-type]" /> - <xsl:when test="//tp:external-type[@name=$tp-type]" /> - <xsl:otherwise> - <xsl:message terminate="yes"> - <xsl:text>ERR: Unable to find type '</xsl:text> - <xsl:value-of select="$tp-type"/> - <xsl:text>' </xsl:text> - </xsl:message> - </xsl:otherwise> - </xsl:choose> - (<a href="#type-{$single-type}"><xsl:value-of select="$tp-type"/></a>) - </xsl:if> - </xsl:template> - - <xsl:template match="tp:member" mode="members-in-docstring"> - <dt xmlns="http://www.w3.org/1999/xhtml"> - <code><xsl:value-of select="@name"/></code> - - <code><xsl:value-of select="@type"/></code> - <xsl:call-template name="parenthesized-tp-type"/> - </dt> - <dd xmlns="http://www.w3.org/1999/xhtml"> - <xsl:choose> - <xsl:when test="tp:docstring"> - <xsl:apply-templates select="tp:docstring" /> - </xsl:when> - <xsl:otherwise> - <em>(undocumented)</em> - </xsl:otherwise> - </xsl:choose> - </dd> - </xsl:template> - - <xsl:template match="arg" mode="parameters-in-docstring"> - <dt xmlns="http://www.w3.org/1999/xhtml"> - <code><xsl:value-of select="@name"/></code> - - <code><xsl:value-of select="@type"/></code> - <xsl:call-template name="parenthesized-tp-type"/> - </dt> - <dd xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="tp:docstring" /> - </dd> - </xsl:template> - - <xsl:template match="arg" mode="returns-in-docstring"> - <dt xmlns="http://www.w3.org/1999/xhtml"> - <xsl:if test="@name"> - <code><xsl:value-of select="@name"/></code> - - </xsl:if> - <code><xsl:value-of select="@type"/></code> - <xsl:call-template name="parenthesized-tp-type"/> - </dt> - <dd xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="tp:docstring"/> - </dd> - </xsl:template> - - <xsl:template match="tp:possible-errors/tp:error"> - <dt xmlns="http://www.w3.org/1999/xhtml"> - <code><xsl:value-of select="@name"/></code> - </dt> - <dd xmlns="http://www.w3.org/1999/xhtml"> - <xsl:variable name="name" select="@name"/> - <xsl:choose> - <xsl:when test="tp:docstring"> - <xsl:apply-templates select="tp:docstring"/> - </xsl:when> - <xsl:when test="//tp:errors/tp:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/tp:docstring"> - <xsl:apply-templates select="//tp:errors/tp:error[concat(../@namespace, '.', translate(@name, ' ', ''))=$name]/tp:docstring"/> <em xmlns="http://www.w3.org/1999/xhtml">(generic description)</em> - </xsl:when> - <xsl:otherwise> - (Undocumented.) - </xsl:otherwise> - </xsl:choose> - </dd> - </xsl:template> - - <xsl:template match="signal"> - <div xmlns="http://www.w3.org/1999/xhtml" class="signal"> - <h3 xmlns="http://www.w3.org/1999/xhtml"> - <a name="{concat(../@name, concat('.', @name))}"> - <xsl:value-of select="@name"/> - </a> ( - <xsl:for-each xmlns="" select="arg"> - <xsl:value-of select="@type"/>: <xsl:value-of select="@name"/> - <xsl:if test="position() != last()">, </xsl:if> - </xsl:for-each> - )</h3> - <div xmlns="http://www.w3.org/1999/xhtml" class="docstring"> - <xsl:apply-templates select="tp:docstring"/> - </div> - - <xsl:if test="arg"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h4>Parameters</h4> - <dl xmlns="http://www.w3.org/1999/xhtml"> - <xsl:apply-templates select="arg" mode="parameters-in-docstring"/> - </dl> - </div> - </xsl:if> - </div> - </xsl:template> - - <xsl:output method="xml" indent="no" encoding="ascii" - omit-xml-declaration="yes" - doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" - doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" /> - - <xsl:template match="/tp:spec"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title> - <xsl:value-of select="tp:title"/> - <xsl:if test="tp:version"> - <xsl:text> version </xsl:text> - <xsl:value-of select="tp:version"/> - </xsl:if> - </title> - <style type="text/css"> - - body { - font-family: sans-serif; - margin: 2em; - height: 100%; - font-size: 1.2em; - } - h1 { - padding-top: 5px; - padding-bottom: 5px; - font-size: 1.6em; - background: #dadae2; - } - h2 { - font-size: 1.3em; - } - h3 { - font-size: 1.2em; - } - a:link, a:visited, a:link:hover, a:visited:hover { - font-weight: bold; - } - .topbox { - padding-top: 10px; - padding-left: 10px; - border-bottom: black solid 1px; - padding-bottom: 10px; - background: #dadae2; - font-size: 2em; - font-weight: bold; - color: #5c5c5c; - } - .topnavbox { - padding-left: 10px; - padding-top: 5px; - padding-bottom: 5px; - background: #abacba; - border-bottom: black solid 1px; - font-size: 1.2em; - } - .topnavbox a{ - color: black; - font-weight: normal; - } - .sidebar { - float: left; - /* width:9em; - border-right:#abacba solid 1px; - border-left: #abacba solid 1px; - height:100%; */ - border: #abacba solid 1px; - padding-left: 10px; - margin-left: 10px; - padding-right: 10px; - margin-right: 10px; - color: #5d5d5d; - background: #dadae2; - } - .sidebar a { - text-decoration: none; - border-bottom: #e29625 dotted 1px; - color: #e29625; - font-weight: normal; - } - .sidebar h1 { - font-size: 1.2em; - color: black; - } - .sidebar ul { - padding-left: 25px; - padding-bottom: 10px; - border-bottom: #abacba solid 1px; - } - .sidebar li { - padding-top: 2px; - padding-bottom: 2px; - } - .sidebar h2 { - font-style:italic; - font-size: 0.81em; - padding-left: 5px; - padding-right: 5px; - font-weight: normal; - } - .date { - font-size: 0.6em; - float: right; - font-style: italic; - } - .method { - margin-left: 1em; - margin-right: 4em; - } - .signal { - margin-left: 1em; - margin-right: 4em; - } - - </style> - </head> - <body> - <h1 class="topbox"> - <xsl:value-of select="tp:title" /> - </h1> - <xsl:if test="tp:version"> - <h2>Version <xsl:apply-templates select="tp:version"/></h2> - </xsl:if> - <xsl:apply-templates select="tp:copyright"/> - <xsl:apply-templates select="tp:license"/> - <xsl:apply-templates select="tp:docstring"/> - - <h2>Interfaces</h2> - <ul> - <xsl:for-each select="node/interface"> - <li><code><a href="#{@name}"><xsl:value-of select="@name"/></a></code></li> - </xsl:for-each> - </ul> - - <xsl:apply-templates select="node"/> - <xsl:apply-templates select="tp:generic-types"/> - <xsl:apply-templates select="tp:errors"/> - - <h1>Index</h1> - <h2>Index of interfaces</h2> - <ul> - <xsl:for-each select="node/interface"> - <li><code><a href="#{@name}"><xsl:value-of select="@name"/></a></code></li> - </xsl:for-each> - </ul> - <h2>Index of types</h2> - <ul> - <xsl:for-each select="//tp:simple-type | //tp:enum | //tp:flags | //tp:mapping | //tp:struct | //tp:external-type"> - <xsl:sort select="@name"/> - <li> - <code> - <a href="#type-{@name}"> - <xsl:value-of select="@name"/> - </a> - </code> - <xsl:apply-templates mode="in-index" select="."/> - </li> - </xsl:for-each> - </ul> - </body> - </html> - </xsl:template> - -</xsl:stylesheet> - -<!-- vim:set sw=2 sts=2 et: --> |