febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync XSLT stylesheet that generates docbook from
c58f1213e628a545081c70e26c6b67a841cff880vboxsync Copyright (C) 2006-2012 Oracle Corporation
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync This file is part of VirtualBox Open Source Edition (OSE), as
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync available from http://www.virtualbox.org. This file is free software;
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync you can redistribute it and/or modify it under the terms of the GNU
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync General Public License (GPL) as published by the Free Software
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync Foundation, in version 2 as it comes in the "COPYING" file of the
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync version="1.0"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync method="xml"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync version="1.0"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync encoding="utf-8"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync indent="yes"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync global XSLT variables
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:variable name="G_xsltFilename" select="'glue-jaxws.xsl'" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- collect all interfaces with "wsmap='suppress'" in a global variable for
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync quick lookup -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync select="//interface[@wsmap='suppress']" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat($ifname, '__', $member)"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="translate($type, ':', '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="translate($type, ':', '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- ignore those interfaces within module sections; they don't have uuid -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wsonly"><xsl:call-template name="isWebserviceOnly" /></xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="reportExtends" select="not($extends='$unknown') and not($extends='$errorinfo')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' (', @extends, ')')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This interface is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>With the web service, this interface is mapped to a structure. Attributes that return this interface will not return an object, but a complete structure
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync containing the attributes listed below as structure members.</note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>This interface is supported in the web service only, not in COM/XPCOM.</note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This interface extends
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend"><xsl:value-of select="$extends" /></xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync and therefore supports all its methods and attributes as well.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(@name, ' (read-only)')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(@name, ' (read/write)')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' ', $ifname, '::', @name)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(@array='yes') or (@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="( ($attrtype=($G_setSuppressedInterfaces/@name)) )">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This attribute is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <sect2> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <title>Methods</title> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="returnidltype" select="param[@dir='return']/@type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test=" (param[@type=($G_setSuppressedInterfaces/@name)])
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync or (param[@mod='ptr'])" >
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This method is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- make a set of all parameters with in and out direction -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="paramsinout" select="param[@dir='in' or @dir='out']" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!--emit return type-->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="type" select="$returnidltype" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(param[@dir='return']/@array='yes') or (param[@dir='return']/@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' ', $ifname, '::', @name, '(')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(@array='yes') or (@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- dump the description here -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <para>If this method fails, the following error codes may be reported:</para>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <para><code><xsl:value-of select="@name" />: </code>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- </sect2> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync * ignore all |if|s except those for WSDL target
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- ignore this -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- ignore this, we handle them explicitly in method loops -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- TODO swallow for now -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="const">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <link to="DeviceType::HardDisk"/> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-before($tmp, '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after($tmp, '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$tmp] or //enum[@name=$tmp]"><!-- link to interface only -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend"><xsl:value-of select="@to" /></xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//enum[@name=$enumNameFromCombinedName]">
34cdd9ea8b7c23f1aba8acfbe28e4fa34835a6b0vboxsync <xsl:value-of select="concat($enumNameFromCombinedName, '__', $enumValueFromCombinedName)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$enumValueFromCombinedName" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-before(@to, '::')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="member"><!-- member in that interface -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after(@to, '#')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after(@to, '::')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend"><xsl:value-of select="concat($if, '__', $member)" /></xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- if link points to a method, append "()" -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/method[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- if link points to a safearray attribute, append "[]" -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/attribute[@name=$member]/@safearray = 'yes'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/attribute[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//enum[@name=$if]/const[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat('Invalid link pointing to "', $tmp, '"')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="/text()"><!-- link text given in source -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="$if=$currentif"><!-- "near" link to method or attribute in current interface -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat($member, $autotextsuffix)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise><!-- "far" link to other method or attribute -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat($if, '::', $member, $autotextsuffix)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <computeroutput>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </computeroutput>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <orderedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </orderedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>