xidl2docbook.xsl revision 077f5888a3ec1423b6e39e3a91eb2445deb94a07
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<?xml version="1.0"?>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!--
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync xidl2docbook.xsl:
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync XSLT stylesheet that generates docbook from
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync VirtualBox.xidl.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
c58f1213e628a545081c70e26c6b67a841cff880vboxsync Copyright (C) 2006-2012 Oracle Corporation
a74782eac5771b0de57834e8c8c0247c55e8dd57vboxsync
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-->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:stylesheet
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync version="1.0"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync xmlns:exsl="http://exslt.org/common"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync extension-element-prefixes="exsl">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:output
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync method="xml"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync version="1.0"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync encoding="utf-8"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync indent="yes"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:strip-space elements="*"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync global XSLT variables
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:variable name="G_xsltFilename" select="'glue-jaxws.xsl'" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- collect all interfaces with "wsmap='suppress'" in a global variable for
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync quick lookup -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:variable name="G_setSuppressedInterfaces"
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync select="//interface[@wsmap='suppress']" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template name="makeLinkId">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:param name="ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:param name="member" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat($ifname, '__', $member)"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template name="emitType">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:param name="type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="$type">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$type]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="apiref">yes</xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="translate($type, ':', '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//enum[@name=$type]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="apiref">yes</xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="translate($type, ':', '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="'void'" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template name="isWebserviceOnly">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="ancestor-or-self::*">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(name()='if') and (@target='wsdl')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>yes</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync root match
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="/idl">
077f5888a3ec1423b6e39e3a91eb2445deb94a07vboxsync <chapter id="sdkref_classes">
077f5888a3ec1423b6e39e3a91eb2445deb94a07vboxsync <title>Classes (interfaces)</title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="//interface">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:sort select="@name"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- ignore those interfaces within module sections; they don't have uuid -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="@uuid">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="ifname" select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wsmap" select="@wsmap" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wscpp" select="@wscpp" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wsonly"><xsl:call-template name="isWebserviceOnly" /></xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="extends" select="@extends" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="reportExtends" select="not($extends='$unknown') and not($extends='$errorinfo')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <sect1>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="id">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <title><xsl:value-of select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="$reportExtends">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' (', @extends, ')')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="$wsmap='suppress'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This interface is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="$wsmap='struct'">
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 </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="$wsonly='yes'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>This interface is supported in the web service only, not in COM/XPCOM.</note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="$reportExtends">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This interface extends
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="apiref">yes</xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend"><xsl:value-of select="$extends" /></xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$extends" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync and therefore supports all its methods and attributes as well.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="attribute">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <sect2>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <title>Attributes</title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="attribute">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="attrtype" select="@type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <sect3>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="id">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="makeLinkId">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="ifname" select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="member" select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="@readonly='yes'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(@name, ' (read-only)')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(@name, ' (read/write)')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="emitType">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="type" select="$attrtype" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' ', $ifname, '::', @name)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(@array='yes') or (@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>[]</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="( ($attrtype=($G_setSuppressedInterfaces/@name)) )">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This attribute is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </sect3>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </sect2>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="method">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <sect2> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <title>Methods</title> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="method">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:sort select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="returnidltype" select="param[@dir='return']/@type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <sect2>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="id">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="makeLinkId">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="ifname" select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="member" select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test=" (param[@type=($G_setSuppressedInterfaces/@name)])
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync or (param[@mod='ptr'])" >
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync This method is not supported in the web service.
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
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:call-template name="emitType">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="type" select="$returnidltype" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(param[@dir='return']/@array='yes') or (param[@dir='return']/@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>[]</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' ', $ifname, '::', @name, '(')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="$paramsinout">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="$paramsinout">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>&#10;</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' [', @dir, '] ')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="@mod = 'ptr'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>[ptr] </xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="emitType">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="type" select="@type" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <emphasis role="bold">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat(' ', @name)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="(@array='yes') or (@safearray='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>[]</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="not(position()=last())">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>, </xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>)</xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </programlisting>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="$paramsinout">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="$paramsinout">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <para>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </para>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- dump the description here -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="desc/result">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <para>If this method fails, the following error codes may be reported:</para>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="desc/result">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <para><code><xsl:value-of select="@name" />: </code>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </para>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </sect2>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- </sect2> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </sect1>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </chapter>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
077f5888a3ec1423b6e39e3a91eb2445deb94a07vboxsync <chapter id="sdkref_enums">
077f5888a3ec1423b6e39e3a91eb2445deb94a07vboxsync <title>Enumerations (enums)</title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="//enum">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:sort select="@name"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="ifname" select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wsmap" select="@wsmap" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="wscpp" select="@wscpp" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <sect1>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="id">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <title><xsl:value-of select="$ifname" /></title>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="const">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="id">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="makeLinkId">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="ifname" select="$ifname" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:with-param name="member" select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:call-template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="@name" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossterm>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates select="desc" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossdef>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glossentry>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </glosslist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </sect1>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </chapter>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync if
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!--
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync * ignore all |if|s except those for WSDL target
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync-->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="if">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="@target='wsdl'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync cpp
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="cpp">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- ignore this -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync result
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="result">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- ignore this, we handle them explicitly in method loops -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync library
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="library">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync class
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="module/class">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- TODO swallow for now -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync enum
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="enum">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync const
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!--
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="const">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync-->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync desc
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="desc">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template name="getCurrentInterface">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:for-each select="ancestor-or-self::*">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="name()='interface'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="@name"/>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:for-each>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- <link to="DeviceType::HardDisk"/> -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="link">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="apiref">yes</xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="tmp" select="@to" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="enumNameFromCombinedName">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-before($tmp, '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="enumValueFromCombinedName">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after($tmp, '_')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
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:value-of select="$tmp" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//enum[@name=$enumNameFromCombinedName]">
34cdd9ea8b7c23f1aba8acfbe28e4fa34835a6b0vboxsync <xsl:attribute name="linkend">
34cdd9ea8b7c23f1aba8acfbe28e4fa34835a6b0vboxsync <xsl:value-of select="concat($enumNameFromCombinedName, '__', $enumValueFromCombinedName)" />
34cdd9ea8b7c23f1aba8acfbe28e4fa34835a6b0vboxsync </xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$enumValueFromCombinedName" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="currentif">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:call-template name="getCurrentInterface" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="if"><!-- interface -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="contains(@to, '#')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="$currentif" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-before(@to, '::')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="member"><!-- member in that interface -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="contains(@to, '#')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after(@to, '#')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="substring-after(@to, '::')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:attribute name="linkend"><xsl:value-of select="concat($if, '__', $member)" /></xsl:attribute>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:variable name="autotextsuffix">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- if link points to a method, append "()" -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/method[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="'()'" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <!-- if link points to a safearray attribute, append "[]" -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/attribute[@name=$member]/@safearray = 'yes'">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="'[]'" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//interface[@name=$if]/attribute[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//enum[@name=$if]/const[@name=$member]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="//result[@name=$tmp]">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:message terminate="yes">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat('Invalid link pointing to &quot;', $tmp, '&quot;')" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:message>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:variable>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:when test="/text()"><!-- link text given in source -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:when>
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:when>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:otherwise><!-- "far" link to other method or attribute -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:value-of select="concat($if, '::', $member, $autotextsuffix)" />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:otherwise>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:choose>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xref>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync note
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="note">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:if test="not(@internal='yes')">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </note>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </xsl:if>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="tt">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <computeroutput>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </computeroutput>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="b">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <emphasis role="bold">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="i">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="see">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:text>See also: </xsl:text>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="ul">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </itemizedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="ol">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <orderedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </orderedlist>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="li">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </listitem>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="h3">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <emphasis role="bold">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates />
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync </emphasis>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="pre">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <screen><xsl:apply-templates /></screen>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync<xsl:template match="table">
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync <xsl:apply-templates /> <!-- todo -->
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:template>
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync
febf3f1de573e25fb134b8453a22b0732b4c52e2vboxsync</xsl:stylesheet>