db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<?xml version="1.0"?>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync websrv-wsdl.xsl:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync XSLT stylesheet that generates vboxweb.wsdl from
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync VirtualBox.xidl. This WSDL file represents our
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync web service API..
10cdf5733351fdcd857d439ca32189e812f18682vboxsync See webservice/Makefile.kmk for an overview of all the things
10cdf5733351fdcd857d439ca32189e812f18682vboxsync generated for the webservice.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync Copyright (C) 2006-2015 Oracle Corporation
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
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.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync A WSDL document describes a web service using these major elements:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync Element Defines
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <types> The data types used by the web service, described in XML Schema
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync syntax.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <message> The messages used by the web service. A message is a function call
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync and with it come "parts", which are the parameters.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <portType> The operations performed by the web service. A portType can be thought
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync of as a class or, in COM terms, as an interface.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <binding> The communication protocols used by the web service.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync The root tag is <definitions>.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync Representing COM interfaces is tricky in WSDL 1.1, which doesn't really have them.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync WSDL only knows about "port types", which are an abstract representation
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync of a group of functions. So for each "interface", we need to emit
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync a "port type"; in the port type, we declare each "interface method"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync as one "operation". Each operation in turn consists of at least one
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync message for the method invocation, which contains all the "in" and
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync "inout" arguments. An optional second message for the response contains
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync the return value, if one is present in the IDL (called "_return" to
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync avoid name clashes), together with all the "out" and "inout" arguments.
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync Each of these messages, however, need to be independently declared
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync using the "message" element outside of the "port type" declaration.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync As an example: To create this XPCOM IDL:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync void createMachine (
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync in wstring baseFolder,
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync in wstring name,
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync [retval] out IMachine machine
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync );
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync the following exists in the XIDL:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <interface name="ifname">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <method name="createMachine">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <param name="baseFolder" type="wstring" dir="in" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <param name="name" type="wstring" dir="in" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <param name="machine" type="IMachine" dir="return" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </method>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </interface>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync So, we have two "in" parameters, and one "out" parameter. The
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync operation therefore requires two messages (one for the request,
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync with the two "in" parameters, and one for the result with the
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync return value). With RPC/encoded style, we end up with this:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <message name="ifname.methodname_Request">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <part name="baseFolder" type="xsd:string" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <part name="name" type="xsd:string" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <message name="ifname.methodname_Result">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <part name="_return" type="IMachine" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <portType name="ifname">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <operation name="methodname"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <input message="ifname.methodname_Request" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <output message="ifname.methodname_Result" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </operation>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </portType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync With document/literal style, things get even more verbose, as
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync instead of listing the arguments and return values in the messages,
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync we declare a struct-like complexType in the <types> section
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync instead and then reference that type in the messages.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:stylesheet
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync version="1.0"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync targetNamespace="http://schemas.xmlsoap.org/wsdl/"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:xsd="http://www.w3.org/2001/XMLSchema"
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:vbox="http://www.virtualbox.org/"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:exsl="http://exslt.org/common"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync extension-element-prefixes="exsl">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:param name="G_argDebug" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:output
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync method="xml"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync version="1.0"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync encoding="utf-8"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync indent="yes"/>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:strip-space
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync elements="*" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--**********************************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * global XSLT variables
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync **********************************************************************-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:variable name="G_xsltFilename" select="'websrv-wsdl.xsl'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
9019681d4e9b8399b951793a9dd92b63c195e0eevboxsync<xsl:include href="/idl/typemap-shared.inc.xsl" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- collect all interfaces with "wsmap='suppress'" in a global variable for
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync quick lookup -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:variable name="G_setSuppressedInterfaces"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync select="//interface[@wsmap='suppress']" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- this marker is used with WSDL document style to mark that a message
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync should have an automatic type that matches a complexType definition;
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync use a string that cannot possibly appear in an XIDL interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:variable name="G_typeIsGlobalRequestElementMarker"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync select="'&lt;&lt;&lt;&lt;Request'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:variable name="G_typeIsGlobalResponseElementMarker"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync select="'&lt;&lt;&lt;&lt;Response'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync Keys for more efficiently looking up of types.
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync - - - - - - - - - - - - - - - - - - - - - - -->
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync<xsl:key name="G_keyEnumsByName" match="//enum[@name]" use="@name"/>
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync<xsl:key name="G_keyInterfacesByName" match="//interface[@name]" use="@name"/>
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--**********************************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * shared helpers
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync **********************************************************************-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitConvertedType
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitConvertedType">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('......emitConvertedType: type=&quot;', $type, '&quot;')" /></xsl:call-template>
9019681d4e9b8399b951793a9dd92b63c195e0eevboxsync <!-- look up XML Schema type from IDL type from table array in typemap-shared.inc.xsl -->
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:variable name="xmltypefield" select="exsl:node-set($G_aSharedTypes)/type[@idlname=$type]/@xmlname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type=$G_typeIsGlobalRequestElementMarker"><xsl:value-of select="concat('vbox:', $ifname, $G_classSeparator, $methodname, $G_requestMessageElementSuffix)" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type=$G_typeIsGlobalResponseElementMarker"><xsl:value-of select="concat('vbox:', $ifname, $G_classSeparator, $methodname, $G_responseMessageElementSuffix)" /></xsl:when>
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <!-- if above lookup in table succeeded, use that type -->
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:when test="string-length($xmltypefield)"><xsl:value-of select="concat('xsd:', $xmltypefield)" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type='$unknown'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type='global'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type='managed'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$type='explicit'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- enums are easy, these are defined in schema at the top of the wsdl -->
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync <xsl:when test="count(key('G_keyEnumsByName', $type)) > 0"><xsl:value-of select="concat('vbox:', $type)" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- otherwise test for an interface with this name -->
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync <xsl:when test="count(key('G_keyInterfacesByName', $type)) > 0">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- the type is one of our own interfaces: then it must have a wsmap attr -->
bfe2a2bccc3205a9c82eb132f73a6fb87648a312vboxsync <xsl:variable name="wsmap" select="key('G_keyInterfacesByName', $type)/@wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='struct'"><xsl:value-of select="concat('vbox:', $type)" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='global'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='managed'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='explicit'"><xsl:value-of select="$G_typeObjectRef" /></xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='suppress'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="fatalError">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="msg" select="concat('emitConvertedType: Type &quot;', $type, '&quot; in method &quot;', $ifname, '::', $methodname, '&quot; has wsmap=&quot;suppress&quot; attribute in XIDL. This function should have been suppressed as well.')" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="fatalError">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="msg" select="concat('emitConvertedType: Type &quot;', $type, '&quot; used in method &quot;', $ifname, '::', $methodname, '&quot; has unsupported wsmap attribute value &quot;', $wsmap, '&quot;')" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="fatalError">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="msg" select="concat('emitConvertedType: Unknown type &quot;', $type, '&quot; used in method &quot;', $ifname, '::', $methodname, '&quot;.')" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function convertTypeAndEmitPartOrElement
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="safearray" /> <!-- "yes" if XIDL has safearray=yes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrname" /> <!-- attrib of part or element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('....convertTypeAndEmitPartOrElement: arg name: ', $name)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync <xsl:when test="$safearray='yes' and $type='octet'">
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync <!-- we pass octet arrays as Base64-encoded strings. -->
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync <xsl:element name="{$elname}">
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync <xsl:attribute name="name"><xsl:value-of select="$name" /></xsl:attribute>
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync <xsl:attribute name="type"><xsl:value-of select="'xsd:string'" /></xsl:attribute>
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync </xsl:element>
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync </xsl:when>
01cfd051d439d6d1d5f7e5aa3f64d34014254065vboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$safearray='yes'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:element name="{$elname}"> <!-- <part> or <element> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="$name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="minOccurs"><xsl:value-of select="'0'" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="maxOccurs"><xsl:value-of select="'unbounded'" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="{$attrname}">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitConvertedType">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:element name="{$elname}"> <!-- <part> or <element> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="$name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="{$attrname}">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitConvertedType">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitRequestArgs
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitRequestArgs">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" /> <!-- interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_wsmap" /> <!-- interface's wsmap attribute -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_valuetype" /> <!-- optional, for attribute setter messages -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_valuesafearray" /> <!-- optional, 'yes' if attribute of setter has safearray=yes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_elname" /> <!-- "part" or "xsd:element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- first parameter will be object on which method is called, depending on wsmap attribute -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="($_wsmap='managed') or ($_wsmap='explicit')">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="$G_nameObjectRef" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$_wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="'no'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- now for the real parameters, if any -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="$_params">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- emit only parts for "in" parameters -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="@dir='in'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="@name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="@type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="@safearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="$_valuetype">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- <part>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name">value</xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="type"><xsl:value-of select='string($_valuetype)' /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </part> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="@name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="@type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="@safearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitResultArgs
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitResultArgs">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" /> <!-- set of parameter elements -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resulttype" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resultsafearray" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_elname" /> <!-- "part" or "xsd:element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$_resulttype">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $_ifname, '::', $_methodname, ': ', 'resultmsg for attr of type ', $_resulttype)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="$G_result" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$_resulttype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="$_resultsafearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', 'resultmsg for method: ', $_ifname, '::', $_methodname)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="$_params">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- emit only parts for "out" parameters -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="@dir='out'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name"><xsl:value-of select="@name" /></xsl:with-param>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type"><xsl:value-of select="@type" /></xsl:with-param>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="@safearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="@dir='return'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name"><xsl:value-of select="$G_result" /></xsl:with-param>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type"><xsl:value-of select="@type" /></xsl:with-param>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="@safearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="elname" select="$_elname" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$_attrname" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitRequestElements:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync for "in" parameters
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitRequestElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" /> <!-- interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_wsmap" /> <!-- interface's wsmap attribute -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_valuetype" /> <!-- optional, for attribute setter messages -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_valuesafearray" /> <!-- optional, 'yes' if attribute of setter has safearray=yes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="concat($_ifname, $G_classSeparator, $_methodname, $G_requestMessageElementSuffix)" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestArgs">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$_ifname" /> <!-- interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$_wsmap" /> <!-- interface's wsmap attribute -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="$_params" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_valuetype" select="$_valuetype" /> <!-- optional, for attribute setter messages -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_valuesafearray" select="$_valuesafearray" /> <!-- optional, for attribute setter messages -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_elname" select="'xsd:element'" /> <!-- "part" or "xsd:element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_attrname" select="'type'" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitResultElements:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync for "out" and "return" parameters
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitResultElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" /> <!-- set of parameter elements -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resulttype" /> <!-- optional, for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resultsafearray" /> <!-- optional, 'yes' if attribute of getter has safearray=yes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="concat($_ifname, $G_classSeparator, $_methodname, $G_responseMessageElementSuffix)" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultArgs">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="$_params" /> <!-- set of parameter elements -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select="$_resulttype" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resultsafearray" select="$_resultsafearray" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_elname" select="'xsd:element'" /> <!-- "part" or "xsd:element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_attrname" select="'type'" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitGetAttributeElements
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitGetAttributeElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrsafearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrGetter"><xsl:call-template name="makeGetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $ifname, '::', $attrGetter)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resultsafearray" select='$attrsafearray' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function: emitRequestMessage
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync for "in" parameters
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitRequestMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" /> <!-- interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_wsmap" /> <!-- interface's wsmap attribute -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_valuetype" /> <!-- optional, for attribute setter messages -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="concat($_ifname, $G_classSeparator, $_methodname, $G_methodRequest)" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="'parameters'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$G_typeIsGlobalRequestElementMarker" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="'no'" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="'element'" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function: emitResultMessage
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync for "out" and "return" parameters
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitResultMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" /> <!-- set of parameter elements -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resulttype" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:copy-of select="$_ifname" /><xsl:value-of select="$G_classSeparator" /><xsl:value-of select="$_methodname" /><xsl:copy-of select="$G_methodResponse" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- <xsl:variable name="cOutParams" select="count($_params[@dir='out']) + count($_params[@dir='return'])" /> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="convertTypeAndEmitPartOrElement">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$_ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="methodname" select="$_methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="name" select="'parameters'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="$G_typeIsGlobalResponseElementMarker" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="safearray" select="'no'" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="'element'" /> <!-- attrib of part of element: <part type=...> or <part element=...> or <element type=...> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitGetAttributeMessages:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitGetAttributeMessages">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrGetter"><xsl:call-template name="makeGetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $ifname, '::', $attrGetter)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitSetAttributeMessages
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitSetAttributeMessages">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrname" select="$attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="attrtype" select="$attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrSetter"><xsl:call-template name="makeSetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $ifname, '::', $attrSetter)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_valuetype" select="$attrtype" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." /> <!-- empty set -->
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitInOutOperation:
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync referencing the messages that must have been emitted previously
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_ifname" /> <!-- interface name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_methodname" /> <!-- method name -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_params" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_resulttype" /> <!-- for attribute getter methods only -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="_fSoap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('....emitInOutOperation ', $_ifname, '::', $_methodname)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:operation>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:value-of select="concat($_ifname, '_', $_methodname)" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="$_fSoap">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:operation>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- VMware has an empty attribute like this as well -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="soapAction"><xsl:value-of select="''" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="style"><xsl:value-of select="$G_basefmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:operation>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:input>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$_fSoap">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="use"><xsl:value-of select="$G_parmfmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- avoid jax-ws warning: <xsl:attribute name="namespace"><xsl:value-of select="concat($G_targetNamespace, $G_targetNamespaceSeparator)" /></xsl:attribute>-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="message">vbox:<xsl:copy-of select="$_ifname" /><xsl:value-of select="$G_classSeparator" /><xsl:value-of select="$_methodname" /><xsl:copy-of select="$G_methodRequest" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:input>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$_resulttype">
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:output>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$_fSoap">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="use"><xsl:value-of select="$G_parmfmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- avoid jax-ws warning: <xsl:attribute name="namespace"><xsl:value-of select="concat($G_targetNamespace, $G_targetNamespaceSeparator)" /></xsl:attribute> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="message">vbox:<xsl:copy-of select="$_ifname" /><xsl:value-of select="$G_classSeparator" /><xsl:value-of select="$_methodname" /><xsl:copy-of select="$G_methodResponse" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:output>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- <xsl:if test="count($_params[@dir='out'] | $_params[@dir='return']) > 0"> -->
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:output>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$_fSoap">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="use"><xsl:value-of select="$G_parmfmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- avoid jax-ws warning: <xsl:attribute name="namespace"><xsl:value-of select="concat($G_targetNamespace, $G_targetNamespaceSeparator)" /></xsl:attribute> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:body>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="message">vbox:<xsl:copy-of select="$_ifname" /><xsl:value-of select="$G_classSeparator" /><xsl:value-of select="$_methodname" /><xsl:copy-of select="$G_methodResponse" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:output>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- </xsl:if> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="not($_fSoap)">
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:fault name="InvalidObjectFault" message="vbox:InvalidObjectFaultMsg" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:fault name="RuntimeFault" message="vbox:RuntimeFaultMsg" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:fault name="InvalidObjectFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:fault name="InvalidObjectFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="use"><xsl:value-of select="$G_parmfmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:fault>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:fault>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:fault name="RuntimeFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:fault name="RuntimeFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="use"><xsl:value-of select="$G_parmfmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:fault>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:fault>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:operation>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function verifyInterface
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="verifyInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='global'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='managed'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='explicit'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='struct'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="$wsmap='suppress'" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="fatalError">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="msg" select="concat(local-name(), ' template: Interface &quot;', $ifname, '&quot; has invalid wsmap attribute &quot;', $wsmap, '&quot; in XIDL.')" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- now make sure we have each interface only once -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="(count(//library/interface[@name=$ifname]) > 1)">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="fatalError">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="msg" select="concat(local-name(), ' template: There is more than one interface with a name=&quot;', $ifname, '&quot; attribute.')" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitMessagesForInterface
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitMessagesForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- 1) outside the portType, here come the in/out methods for all the "operations" we declare below;
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync a) for attributes (get/set methods)
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync b) for "real" methods
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('************* messages for interface &quot;', $ifname, '&quot;')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- a) attributes first -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="attribute">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrtype"><xsl:value-of select="@type" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrreadonly"><xsl:value-of select="@readonly" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('messages for ', $ifname, '::', $attrname, ': attribute of type &quot;', $attrtype, '&quot;, readonly: ', $attrreadonly)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this attribute if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="( $attrtype=($G_setSuppressedInterfaces/@name) )">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is of a suppressed type')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is suppressed')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="@readonly='yes'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> readonly attribute <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$attrname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> read/write attribute <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$attrname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- aa) get method: emit request and result -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitGetAttributeMessages">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrtype" select="$attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- bb) emit a set method if the attribute is read/write -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="not($attrreadonly='yes')">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitSetAttributeMessages">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrtype" select="$attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each> <!-- select="attribute" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- b) "real" methods after the attributes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="method">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="methodname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('messages for ', $ifname, '::', $methodname, ': method')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> method <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$methodname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this method if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:when test=" (param[@type=($G_setSuppressedInterfaces/@name)])
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync or (param[@mod='ptr'])" >
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it has parameters with suppressed types')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it is suppressed')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- always emit a request message -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- emit a second "result" message only if the method has "out" arguments or a return value -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- <xsl:if test="(count(param[@dir='out'] | param[@dir='return']) > 0)"> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultMessage">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="@name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <xsl:with-param name="elname" select="'wsdl:part'" /> <!-- "part" or "element" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- </xsl:if> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitOperationsForInterface
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitOperationsInPortTypeForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- a) again, first for the attributes whose messages we produced above -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('************* portType for interface &quot;', $ifname, '&quot;')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="attribute">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrname" select="@name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrtype" select="@type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrreadonly" select="@readonly" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('operations for ', $ifname, '::', $attrname, ': attribute of type &quot;', $attrtype, '&quot;, readonly: ', $attrreadonly)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this attribute if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="( $attrtype=($G_setSuppressedInterfaces/@name) )">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is of a suppressed type')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is suppressed')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrGetter"><xsl:call-template name="makeGetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $G_attributeGetPrefix, $attrname)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="not($attrreadonly='yes')">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrSetter"><xsl:call-template name="makeSetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $attrSetter)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- b) then for the "real" methods whose messages we produced above -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="method">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="methodname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('operations for ', $ifname, '::', $methodname, ': method')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this method if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:when test=" (param[@type=($G_setSuppressedInterfaces/@name)])
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync or (param[@mod='ptr'])" >
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it has parameters with suppressed types')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it is suppressed')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync function emitOperationsInBindingForInterface
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template name="emitOperationsInBindingForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:param name="wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- a) again, first for the attributes whose messages we produced above -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="attribute">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrname" select="@name" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrtype" select="@type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrreadonly" select="@readonly" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this attribute if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="( $attrtype=($G_setSuppressedInterfaces/@name) )">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is of a suppressed type')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is suppressed')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrGetter"><xsl:call-template name="makeGetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrGetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_fSoap" select="1" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="not($attrreadonly='yes')">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrSetter"><xsl:call-template name="makeSetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_resulttype" select='$attrtype' />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_fSoap" select="1" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- b) then for the "real" methods whose messages we produced above -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="method">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="methodname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this method if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:when test=" (param[@type=($G_setSuppressedInterfaces/@name)])
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync or (param[@mod='ptr'])" >
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it has parameters with suppressed types')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it is suppressed')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitInOutOperation">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_fSoap" select="1" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--**********************************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * matches
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync **********************************************************************-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync template for "idl" match; this emits the header of the target file
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync and recurses into the libraries with interfaces (which are matched below)
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="/idl">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync DO NOT EDIT! This is a generated file.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync Generated from: src/VBox/Main/idl/VirtualBox.xidl (VirtualBox's interface definitions in XML)
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync Generator: src/VBox/Main/webservice/websrv-wsdl.xsl
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:apply-templates />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync template for "if" match: ignore all ifs except those for wsdl
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="if">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="@target='wsdl'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:apply-templates/>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync template for "cpp": ignore
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="cpp">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- ignore this -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync class
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync - - - - - - - - - - - - - - - - - - - - - - -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="module/class">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- swallow -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync enum
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync - - - - - - - - - - - - - - - - - - - - - - -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="enum">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync desc
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync - - - - - - - - - - - - - - - - - - - - - - -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="desc">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- swallow -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!-- - - - - - - - - - - - - - - - - - - - - - -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync note
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync - - - - - - - - - - - - - - - - - - - - - - -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="note">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:apply-templates />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<!--
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync "library" match: we use this to emit most of the WSDL <types> section.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync With WSDL "document" style, this requires us to go through all interfaces
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync and emit complexTypes for all method arguments and return values.
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync-->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync<xsl:template match="library">
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:definitions
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync name="VirtualBox"
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="targetNamespace"><xsl:value-of select="$G_targetNamespace" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- at top of WSDL file, dump a <types> section with user-defined types -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * WSDL type definitions in XML Schema
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:types>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:schema>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="targetNamespace"><xsl:value-of select='$G_targetNamespace' /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- type-define all enums -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * enumerations
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//enum">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> enum: <xsl:value-of select="@name" /> -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="const">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:value-of select="@name" />: <xsl:value-of select="@value" /> -
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:simpleType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:restriction base="xsd:string">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- XML Schema does not seem to have a C-like mapping between identifiers and numbers;
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync instead, it treats enumerations like strings that can have only specific values. -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="const">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:enumeration>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="value"><xsl:value-of select="@name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:enumeration>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:restriction>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:simpleType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- type-define all interfaces that have wsmap=struct as structs (complexTypes) -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * structs
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//interface[@wsmap='struct']">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> interface <xsl:value-of select="@name" /> as struct: </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="attribute">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="type">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitConvertedType">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="type" select="@type" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- for WSDL 'document' style, we need to emit elements since we can't
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync refer to types in message parts as with RPC style -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="$G_basefmt='document'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * elements for message arguments (parts); generated for WSDL 'document' style
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//interface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="ifname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="wsmap"><xsl:value-of select="@wsmap" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test='not( ($wsmap="suppress") or ($wsmap="struct") )'>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>Interface <xsl:copy-of select="$ifname" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('************* types: elements for interface &quot;', $ifname, '&quot;')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- a) attributes first -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="attribute">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrtype"><xsl:value-of select="@type" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrsafearray"><xsl:value-of select="@safearray" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrreadonly"><xsl:value-of select="@readonly" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('elements for ', $ifname, '::', $attrname, ': attribute of type &quot;', $attrtype, '&quot;, readonly: ', $attrreadonly)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this attribute if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="( $attrtype=($G_setSuppressedInterfaces/@name) )">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrtype, ' for it is of a suppressed type')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping attribute ', $attrname, ' for it is suppressed')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:when test="@readonly='yes'">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> readonly attribute <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$attrname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> read/write attribute <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$attrname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- aa) get method: emit request and result -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitGetAttributeElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrname" select="$attrname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrtype" select="$attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="attrsafearray" select="$attrsafearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- bb) emit a set method if the attribute is read/write -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test="not($attrreadonly='yes')">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="attrSetter"><xsl:call-template name="makeSetterName"><xsl:with-param name="attrname" select="$attrname" /></xsl:call-template></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('..', $ifname, '::', $attrSetter)" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_valuetype" select="$attrtype" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_valuesafearray" select="$attrsafearray" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$attrSetter" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="/.." />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each> <!-- select="attribute" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- b) "real" methods after the attributes -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="method">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="methodname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="debugMsg"><xsl:with-param name="msg" select="concat('messages for ', $ifname, '::', $methodname, ': method')" /></xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment> method <xsl:copy-of select="$ifname" />::<xsl:copy-of select="$methodname" /> </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- skip this method if it has parameters of a type that has wsmap="suppress" -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:choose>
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync <xsl:when test=" (param[@type=($G_setSuppressedInterfaces/@name)])
28a02a9abdb21adbaaeeae87339534ca0346f97avboxsync or (param[@mod='ptr'])" >
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it has parameters with suppressed types')" /></xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:when>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:when test="@wsmap = 'suppress'">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:comment><xsl:value-of select="concat('skipping method ', $methodname, ' for it is suppressed')" /></xsl:comment>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:when>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- always emit a request message -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitRequestElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- emit a second "result" message only if the method has "out" arguments or a return value -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- <xsl:if test="(count(param[@dir='out'] | param[@dir='return']) > 0)"> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitResultElements">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_methodname" select="$methodname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="_params" select="param" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- </xsl:if> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:otherwise>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:choose>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if> <!-- <xsl:if test='not( ($wsmap="suppress") or ($wsmap="struct") )'> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if> <!-- <xsl:if test="$G_basefmt='document'"> -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * faults
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element name="InvalidObjectFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element name="badObjectID">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="type">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:value-of select="$G_typeObjectRef" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element name="RuntimeFault">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsd:element name="resultCode" type="xsd:int" />
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsd:element name="returnval">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:attribute name="type">
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync <xsl:value-of select="$G_typeObjectRef" />
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsl:attribute>
ebb33f3aef3b410579a2865109426b798b9d4a9dvboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:sequence>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:complexType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:element>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <!-- done! -->
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsd:schema>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:types>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:message name="InvalidObjectFaultMsg">
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:part name="fault" element="vbox:InvalidObjectFault" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:message>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:message name="RuntimeFaultMsg">
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:part name="fault" element="vbox:RuntimeFault" />
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:message>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * messages for all interfaces
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//interface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="ifname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="wsmap"><xsl:value-of select="@wsmap" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="verifyInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync messages for interface <xsl:copy-of select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test='not( ($wsmap="suppress") or ($wsmap="struct") )'>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitMessagesForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * one portType for all interfaces
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:portType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:copy-of select="'vbox'" /><xsl:value-of select="$G_portTypeSuffix" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//interface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="ifname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="wsmap"><xsl:value-of select="@wsmap" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync operations in portType for interface <xsl:copy-of select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test='not( ($wsmap="suppress") or ($wsmap="struct") )'>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitOperationsInPortTypeForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:portType>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync * one binding for all interfaces
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync ******************************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync <wsdl:binding>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="name"><xsl:value-of select="concat('vbox', $G_bindingSuffix)" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="type"><xsl:value-of select="concat('vbox:vbox', $G_portTypeSuffix)" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <soap:binding>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="style"><xsl:value-of select="$G_basefmt" /></xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:attribute name="transport">http://schemas.xmlsoap.org/soap/http</xsl:attribute>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </soap:binding>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:for-each select="//interface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="ifname"><xsl:value-of select="@name" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:variable name="wsmap"><xsl:value-of select="@wsmap" /></xsl:variable>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync operations in portType for interface <xsl:copy-of select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync *************************************
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:comment>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:if test='not( ($wsmap="suppress") or ($wsmap="struct") )'>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:call-template name="emitOperationsInBindingForInterface">
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="ifname" select="$ifname" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync <xsl:with-param name="wsmap" select="$wsmap" />
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:call-template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:if>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync </xsl:for-each>
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:binding>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
997ef680a2c0153ec4246e4ecbdc3c0e92463681vboxsync </wsdl:definitions>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:template>
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync
db3dbd0ed7eb69f804a8921fa23a1267ea01f46evboxsync</xsl:stylesheet>